@charset "utf-8";
/* CSS Document */
/*
デフォルト：980px以上用（PC用）の記述
@media screen and (max-width: 979px)
979px以下用（タブレット用）の記述

@media screen and (max-width: 767px)
767px以下用（タブレット／スマートフォン用）の記述

@media screen and (max-width: 479px)
479px以下用（スマートフォン用）の記述
*/

a:link,a:visited{
	color:inherit;
	text-decoration: none;
}
html,body{
	font-family: Helvetica,BIZ UDGothic;
}

/*******************************
 MENU
********************************/
.sideMenuWrapper{
	position: fixed;
	width: 100%;
	height: 100%;
	top:0;
	left:-100%;
	background-color: #2F4050;
	z-index: 3;
	text-align:center;
}
.sideMenuWrapper__logo{
	position: absolute;
	left: -100%;
	top: 25%;
	background-color: #ffffff;
	padding: 25px 75px 25px 50px;
}
.sideMenu{
	position: fixed;
	width: 450px;
	height: 100%;
	top:0;
	right:-100%;
	background-color: #8B846E;
	z-index: 3;
	overflow-y: auto;
}
.sideMenu__close{
	position: absolute;
	right:25px;
	top: 25px;
	cursor: pointer;
	font-size: 25px;
	color: #CAC6BC;
}
.sideMenu__list{
	margin:50px 10px;
}
.sideMenu__list-logo{
	text-align:center;
	margin-bottom: 25px;
}
.sideMenu__list-link{
	text-align:center;
	padding:5px 0;
	font-size: 20px;
	border-bottom: 1px dotted #bdb9ad;
}
.sideMenu__list-link a:link,.sideMenu__list-link a:visited{
	color:#ffffff;
	text-decoration: none;
	display: block;
}
.sideMenu__list-link a:hover{
	background-color: #bdb9ad;
}
.sideMenu__list-link a.is_active{
	background-color: #bdb9ad;
}

@media (max-width: 979px) {
	.sideMenuWrapper__logo{
		width: 50%;
		padding: 25px 15px 25px 15px;
		box-sizing: border-box;
	}
	.sideMenu{
		width: 50%;
	}
}
@media (max-width: 479px) {
	.sideMenuWrapper__logo{
		display: none;
	}
	.sideMenu{
		width: 90%;
	}
	.sideMenu__list-link{
		font-size: 18px;
	}
}
.sideMenu__contact{
	width:85%;
	margin: 0 auto 35px auto;
	text-align: center;
	color:#ffffff;
}
.sideMenu__contact-mail{
	border: 1px dotted #bdb9ad;
	padding: 0px 0;
	height:45px;
	line-height: 45px;
	font-size: 21px;
}
.sideMenu__contact-tel{
	font-size: 21px;
	padding: 10px 0;
	letter-spacing: 3px;
}
.sideMenu__contact-hour{
	font-size: 16px;
}



/*******************************
 HEADER
********************************/
.header{
	width:100%;
	display: block;
	position: fixed;
	top:0;
	padding: 30px;
	box-sizing: border-box;
	height: 125px;
	background-color: #FFFFFF;
	z-index: 2;
}
.header.is_active{
	box-shadow: 0px 3px 1px rgba(59, 83, 121, 0.6);
	-webkit-box-shadow: 0px 3px 1px rgba(59, 83, 121, 0.6);
	-moz-box-shadow: 0px 3px 1px rgba(59, 83, 121, 0.6);
	opacity: 0.9;
}

.header__logo{
	position: absolute;
	width:auto;
	top: 25px;
}
.header__catchcopy{
	position: absolute;
	font-size: 12px;
	width: 100%;
	bottom: 15px;
	left: 102px;
	color: #5f5e5e;
}
.header__menu{
	position: absolute;
	right:20px;
	top:45px;
	width:auto;
	display: flex;
	flex-direction: row;
}
.header__menu-hamburger,.header__menu-lang{
	font-size: 25px;
	padding: 0 15px;
	color: #1e2372;
	cursor: pointer;
}

@media (max-width: 767px) {
	.header{
		padding: 15px;
		height: 95px;
		overflow: hidden;
	}
	.header__logo{
		width:300px;
	}
	.header__logo-image{
		width:100%
	}
	.header__catchcopy{
		display: none;
	}
	.header__menu{
		right:10px;
		top:37px;
	}
	.header__menu-hamburger,.header__menu-lang{
		font-size: 19px;
		padding: 0 5px;
	}
}
@media (max-width: 479px) {
	.header{
		padding: 15px;
		height: 95px;
		overflow: hidden;
	}
	.header__logo{
		width:225px;
		left:10px;
		top:30px;
	}
	.header__logo-image{
		width:100%
	}
	.header__menu{
		right:10px;
		top:37px;
	}
	.header__menu-hamburger,.header__menu-lang{
		font-size: 19px;
		padding: 0 5px;
	}
}

/*******************************
 CONTACT
********************************/
.contact{
	background-color: #8B846E;
	text-align: center;
	padding:45px 0;
	color: #ffffff;
	letter-spacing: 3px;
}
.contact__title{
	font-size: 35px;
	margin-bottom: 25px;
}
.contact__mail{
	font-size: 35px;
	border: 2px solid #ffffff;
	width: 375px;
	margin: auto;
	margin-bottom: 25px;
}
.contact__tel{
	font-size: 35px;
	width: 375px;
	margin: auto;
}
.contact__hour{
	font-size: 22px;
	font-weight: normal;
}

@media (max-width: 767px) {
	.contact{
		padding:20px 0;
		letter-spacing: 1.5px;
	}
	.contact__title{
		font-size: 21px;
		margin-bottom: 10px;
	}
	.contact__mail{
		font-size: 21px;
		width: 95%;
		margin-bottom: 10px;
	}
	.contact__tel{
		font-size: 21px;
		width: 95%;
	}
	.contact__hour{
		font-size: 18px;
	}
}

/*******************************
 料金表
********************************/
.prices{
  width:1366px;
  width: 100%;
  margin: auto;
  color: #2F4050;
  box-sizing: border-box;
	padding: 75px 0;
	text-align: center;
}



@media (max-width: 979px) {
	.prices__button{
		width:100%;
	}
}
@media (max-width: 767px) {
	.prices img{
		width: 75%;
	}
}
@media (max-width: 479px) {

}

/*******************************
 FOOTER
********************************/
.footer{
	color:#ffffff;
}
.footer__navi{
	background-color: #2F4050;
	padding: 45px;
	overflow: hidden;
}
.footer__navi-inner{
	max-width: 1100px;
	width: 100%;
	margin: auto;
}
.footer__navi-left{
	width: 50%;
	float: left;
}
.footer__navi-right{
	width: 50%;
	float: right;
}
.footer__navi-companyInfo{

}
.companyInfo{
	width: 100%;
}
.companyInfo__logo{
	width: 175px;
	float: left;
}
.companyInfo__info{
	float: left;
	font-weight: normal;
	letter-spacing: 2px;
}
.companyInfo__info-name{
	margin-bottom: 25px;
	font-size: 15px;
}
.companyInfo__info-address{
	font-style: normal;
}
.footer__navi-links{

}
.footer__navi-links > li{
	width:50%;
	float: left;
	padding: 10px 0 10px 30px;
	box-sizing: border-box;
	position: relative;
}
.footer__navi-links > li > a:link,.footer__navi-links > li > a:visited{
	color:#ffffff;
	text-decoration: none;
}
.footer__navi-links > li > a:hover{
	color:#e7e4da;
	text-decoration: underline;
}

.footer__copyright{
	background-color: #000000;
	text-align: center;
	padding: 45px 0;
	font-size: 12px;
	font-weight: bold;
	letter-spacing: 3px;
}
@media (max-width: 767px) {
	.companyInfo__logo{
		padding: 20px;
	}
	.footer__navi-links{
		margin-top: 35px;
	}
	.footer__navi-links > li{
		padding: 10px 0 10px 15px;
	}
}

@media (max-width: 479px) {
	.footer__navi{
		padding: 20px 0 50px 0;
	}

	.footer__navi-left,.footer__navi-right{
		width: 100%;
		float:none;
		text-align:center;
	}
	.footer__navi-right{
		margin-top: 15px;
	}
	.companyInfo__logo{
		width: auto;
		margin:auto;
		float: none;
	}
	.companyInfo__info{
		float: none;
		letter-spacing: 1px;
	}
	.footer__navi-links > li{
		text-align:left;
		padding: 5px 0 5px 15px;
	}
	.footer__copyright{
		font-size: 12px;
	}
}

.footer__totop{
	display:none;
	position: fixed;
	right:0px;
	bottom: 35px;
	background-color: rgb(0, 0, 0,0.7);
	z-index:4;
	text-align: center;
	width:60px;
	padding: 5px 0;
	cursor: pointer;
	height:37px;
	-webkit-border-top-left-radius: 10px;
	-webkit-border-bottom-left-radius: 10px;
	-moz-border-radius-topleft: 10px;
	-moz-border-radius-bottomleft: 10px;
	border-top-left-radius: 10px;
	border-bottom-left-radius: 10px;
}
.footer__totop-icon{
	display: block;
	margin: 0;
	padding: 0;
	font-size: 25px;
	line-height: 0!important;
}
.footer__totop-text{
	position: absolute;
	display: block;
	margin: 0;
	padding: 0;
	top:20px;
	right: 0;
	left: 0;
	font-size: 14px;
}


/*
 * PAGINATION
 *******************************/
 .pagination{
  margin: 35px auto;
  font-size: 14px;
  padding: 0;
	text-align: center;
	float: right;
}
.pagination > li{
  padding: 5px 10px;
  display: inline-block;
}
.pagination > li.active{
  background-color: #2f4050;
  color: #ffffff;
}
.pagination > li > a:link{
  display: block;
}

@media (max-width: 979px) {
	.pagination{
		margin-bottom: 25px!important;
	}
}
@media (max-width: 767px) {
}
@media (max-width: 479px) {
	.pagination{
		display: block;
		width: 100%;
		background-color: lightgrey;
	}

}