@charset "UTF-8";
/*
Theme Name: 基本テンプレート
Description: bassテンプレート
*/


/* -------------------------- */
/* 基本設定 */
/* -------------------------- */
* {
  -webkit-box-sizing: border-box;
    box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html,
body {
  width: 100%;
  height: 100%;
}

body {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
}


header,
footer {
	width: 100%;
}

a {
  text-decoration: none;
  color: #282828;
}

li {
  list-style: none;
}

img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
}

p {
  font-size: 16px;
  color: #282828;
  line-height: 1.7;
}
a[href^="tel:"]{
	cursor:text;
	pointer-events:none;
	color:#fff;
}
@media only screen and (max-device-width: 1024px) {
 a[href^="tel:"]{
		cursor:pointer;
		pointer-events:initial;
}
}
/* -------------------------- */
/* 共通 */
/* -------------------------- */
	.pc_head {
		position: relative;
		min-width: 1024px;
		height: 70px;
	}
	.pc_logo {
		position: absolute;
		top: 0;
		left: 0;
		width: 250px;
		padding: 20px 0 0 20px;
	}
	.pc_menu {
		position: fixed;
		top: 0;
		right: 0;
		max-width: 1024px;
		padding: 0 190px 0 250px;
	}
	.pc_menu ul {
		width: 100%;
		padding: 25px 0 0 10px;
		white-space:nowrap;
	}
	.pc_menu ul li {
		display: inline-block;
		padding: 0 10px 0 5px;
		font-size: 14px;
		text-align: center;
		border-right: 1px solid #282828;
	}
	.pc_menu ul li:last-child {
		border: 0;
	}
	.pc_menu ul li a {
		display: block;
		text-transform: uppercase;
	}
	.pc_menu ul li a:hover {
		color: #ccc;
		transition: 0.8s;
	}
	.pc_menu a.q_cat {
		display: block;
		width: 80px;
		margin: 20px 0 0 0;
		padding: 5px 0;
		border: 1px solid #282828;
		text-align: center;
	}
	.ln{
	position: fixed;
	top: 0;
	left: 250px;
	}
	.select_ln{
	color: #ff5a5a;
	font-weight: bold;
	}
	.shiryo_btn a{
		display: block;
		position: absolute;
		top: 0;
		right: 85px;
		width: 85px;
		height: 85px;
		background: #288f71;
		border: 2px solid #288f71;
		text-align: center;
		line-height: 85px;
	}
	.contact_btn a{
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		width: 85px;
		height: 85px;
		background: #037050;
		border: 2px solid #037050;
		text-align: center;
		line-height: 85px;
	}
	.shiryo_btn a, .contact_btn a {
		display: block;
		color: #fff;
	}
	.shiryo_btn a:hover {
		color: #288f71;
		background: #fff;
		transition: 0.8s;
	}
	.contact_btn a:hover {
		color: #037050;
		background: #fff;
		transition: 0.8s;
	}
	.page_link {
		display: block;
		padding-top: 70px;
		margin-top: -70px;
	}
/* -------------------------- */
/* TOP */
/* -------------------------- */
.slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  width: 100%;
}

#mainSlide {
  display: block;
  margin: 0px;
}

/* -------------------------- */
/* 画像透過 */
/* -------------------------- */
a img:hover {
  transition: 1.0s;
  opacity: 0.5;
}




/* -------------------------- */
/* レスポンシブ対応 */
/* -------------------------- */
._sp {
  display: none;
}
._sp02 {
  display: none;
}
/* -------------------------- */
/* copy rights */
/* -------------------------- */
.copy {
	font-size: 10px;
	text-align: center;
  margin: 0 0 30px 0;
  color: #fff;
}


/* -------------------------- */
/* 余白排除 */
/* -------------------------- */
#wrap {
  width: 100%;
  overflow: hidden;
}


/* -------------------------- */
/* フォント指定 */
/* -------------------------- */
@font-face {
  font-family: 'はれのそら明朝';
  src: url('font/Harenosora.otf') format('opentype');
}
 
/* class指定 */
._midashi{
  font-family: 'はれのそら明朝';
}
/* -------------------------- */
/* SP指定 */
/* -------------------------- */
.sp_menu {
  display: -webkit-box;
  display: -ms-flexbox;
    display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
    justify-content: space-between;
  -webkit-box-sizing: border-box;
    box-sizing: border-box;
  width: 100%;
  height: 70px;
}
.sp_logo{
padding: 10px 5px;
}
.sp_logo img {
  display: block;
  max-width: 250px;
}
/* ハンバーガーメニュー */
div#sp-icon {
  width : 70px;
  height : 70px;
  position : absolute;
  right : 0px;
  top : 0px;
  z-index : 999;
  background: #037050;
}
div#sp-icon span,
div#sp-icon span:before,
div#sp-icon span:after {
  display : inline-block;
  width : 30px;
  height : 1px;
  background : #fff;
  transition-property : transform;
  transition-duration : 0.3s;
}
div#sp-icon span {
  position : absolute;
  left : 50%;
  top : 50%;
  transform : translate( -50%, -50% );
}
div#sp-icon span:before {
  content : "";
  position : absolute;
  transform : translateY( -10px ) rotate( 0deg );
}
div#sp-icon span:after {
  content : "";
  position : absolute;
  transform : translateY( 10px ) rotate( 0deg );
}

div.sp-close span {
  background : transparent !important;
}
div.sp-close span:before {
  transform : rotate( 45deg ) !important;
}
div.sp-close span:after {
  transform : rotate( -45deg ) !important;
}
@media screen and (max-width: 840px){
._sp02 {
  display: block;
}
}
@media screen and (max-width: 840px){
.sp_logo{padding: 10px 0;}
.ln{
	position: static;
	display:flex;
	padding: 15px 0;
}

  ._pc {
      display: none!important;
  }
  ._sp {
      display: block!important;
  }

/* telリンク（PC無効） */
a[href^="tel:"] {
  pointer-events: none;
}
  a[href^="tel:"] {
      pointer-events: auto;
  }

}
@media screen and (max-width: 414px){
  .sp_logo img {
    display: block;
    width: 100%;
    height: auto;
  }
}

ul#sp_menu4 {
  list-style-type : none;
  background: #fff;
  position : absolute;
  left : 0px;
  top : 0px;
  z-index : 990;
  display : none;
  width: 100%;
  margin: -5px 0 0 0;
  padding: 0 5%;
}
ul#sp_menu4 li {
  text-align : center;
  border-bottom: 1px solid #037050;
  text-transform: uppercase;
}
ul#sp_menu4 .ln li {
  border-bottom: none;
  width: 50%;
}
ul#sp_menu4 .ln li a{
  border-right: 1px solid #037050;
}
ul#sp_menu4 li a {
  text-decoration : none;
  display : block;
  padding : 15px 0;
  color: #037050;
  font-weight: 600;
}
ul#sp_menu4 .ln li a{
  padding : 0;
}
ul#sp_menu4 p,
a.sp_tel {
  color: #037050;
  font-weight: 600;
  text-align: center;
}

