@charset "utf-8";
/* CSS Document */
@media(max-width: 767px) {
	body {
    font-size: 13px;

}
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
	
h2 {
	font-size:18px ;
	margin-bottom: 30px;
}
	h2::after {
    bottom: -5px;
}
	html{
		line-height: 1.9;
	}
/*　ハンバーガーボタン　*/
.hamburger {
  display : block;
  position: fixed;
  z-index : 3;
  right : 13px;
  top   : 8px;
  width : 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 2px ;
  left    : 6px;
  background : #009FA8;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 10px;
}
.hamburger span:nth-child(2) {
	top: 18px;
}
.hamburger span:nth-child(3) {
  top: 26px;
}

/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top : 16px;
  left: 6px;
  background :#009FA8;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 16px;
  background :#009FA8;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}

nav.globalMenuSp {
	position: fixed;
	z-index: 0;
	top: 0;
	left: 0;
	color: #000;
	background: rgba(256,256,256,1.0);
	width: 100%;
	opacity: 0;
	transition: opacity .6s ease, visibility .6s ease;
	height: 100vh;
	display: block;
	pointer-events: none;
	
}
.icon-logo {
	width: 180px;
	padding: 13px 0 15px 20px;
	display: block;
}
	nav.globalMenuSp img{
width: 180px;
padding: 13px 0 15px 20px;
	}
	header{
		height: 55px;
	}
nav.globalMenuSp ul {
	margin: 0 auto 60px;
	padding: 0;
	width: 100%;
	flex-direction: column;
	border-top: 2px solid #ecebeb;
	float: none;
	height: auto;
}
	header nav ul li::before {
	position: absolute;
	content: "";
	top: calc(50% - 11px);
	left: 2.0em !important;
	width: 22px;
	height: 22px;
	background: url("../images/icon-plus.png") top left no-repeat;
	background-size: auto;
	background-size: 22px 22px;
}
header nav ul li:first-child {
	width: 100%;
	float: none;
	padding: 0;
}
nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  transition: .4s all;
	border-bottom: 2px solid #ecebeb;
}
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
}


nav.globalMenuSp ul li a {
	display: block;
	padding: 1em 0 1em 3.25em;
	text-decoration: none;
	font-size: 18px;
	letter-spacing: 1px;
}

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
	opacity: 100;
	pointer-events: auto;
}
.btn a {
	color: #fff;
	text-align: center;
	font-size: 19px;
	background: #009FA8;
	border-radius: 40px;
	display: block;
	width: 80%;
	margin: 0 auto;
	padding: 18px 0;
	font-weight: bold;
}
footer img {
    margin-bottom: 7px;
    width: 50%;
}
	footer p {
	line-height: 2.0;
	font-size: 12px;
}
	#page-top {
	right: 10px;
}
	footer {
	height: 250px;
}
	.contact .flex {
	flex-wrap: wrap;
}
	.contact .flex-item {
	width: 90%;
		margin: 0 20px 40px;
}
	.contact .flex-item .txt1,
	.contact .flex-item .txt2,
	.contact .flex-item .txt3{
	text-align: center;
	float: none;
		margin-bottom: 5px;
		font-size: 15px;
}
	.contact .flex-item .txt2{
		margin: 0px auto;
	}
		.contact .flex-item .tel,
	.contact .flex-item .time,
	.contact .flex-item .mail{
		text-align: center;
	}
	.contact .flex-item .mail,
	.contact .flex-item .time{
		font-size: 15px;
	}
	.contact .flex-item.last{
		margin-bottom: 0;
	}
	.contact {
	padding: 50px 0 50px;
}
	.contact h2 + p {
    font-size: 15px;
}
	.contact .flex-item .txt2 img {
    margin-bottom: 0;
}
	.contact h2 {
   font-size: 18px;
}
}