@charset "utf-8";
/* CSS Document */
/* ----------------------------------------
* header
---------------------------------------- */

#header {
	width: 100%;
	padding:0px 0 60px;
	/* border-top: solid 4px #c1561f; */
}
#header .wrap {
	position: relative;
	text-align: left;
}
#header .logo img{
	width:371px;
	margin:10px 0;
}
#header .head_right {
	width: 570px;
	position: absolute;
	right: 0;
	top: 0px;
}
#header .head_tel img{
	width:375px;
	margin:0;
	padding:0;
	float:left;
}
#header .head_mail img{
	width:190px;
	margin:0 5px 0 0 ;
	padding:0;
	float:left;
}
#header .site_tag{
	display: flex;
	padding-top:5px;
	margin-bottom:5px;
	/* justify-content: space-between; */
	align-items: center;
}

#header .site_tag img{
	width:100px;
	margin-right:10px;
	
}

#header .box_inquiry{
	margin-bottom:5px;
}

@media only screen and ( max-width: 950px) {

#header .logo img{
	width:auto;
	height:50px;
}

#header .logo{
	width: calc(100% - 100px);
	margin:0px 10px 0;
}

#header {
		height: auto;
		padding: 0;
}

#header .wrap {
		padding: 0;
}
	/*
	#header .logo {
		padding: 1em 0 0;
	}
	*/
#header .head_right {
		display: none;
	}

#sp_nav_area .fix_img {
		display: none;
		position: fixed;
		width: 100%;
		top: -100px;
		left: 0;
		transition-duration: 0.5s;
		/*
		text-align:center;
		*/
		background-color:#fff;
	}
#sp_nav_area.fix .fix_img {
		display: block;
		position: fixed;
		width: 100%;
		top: 0px;
		left: 0;
		z-index: 666;
		height:60px;
		box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.5);
	}

#sp_nav_area .fix_img img{
	margin-left:10px;
	margin-top:5px;
	width:auto;
	height:50px;
}
}

/* ----------------------------------------
* PC area_navi
---------------------------------------- */
#header-gnav-area {
	transition-duration: 0.5s;
	margin-top: -60px;
    height:60px;

}
#header-gnav-area.fix {
	position: fixed;
	width: 100%;
	top: 0px;
	left: 0;
	transform: translateY(60px);
	z-index: 999;
	box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.5);
}

.global_menu { /* メニュー全体のスタイル */
  width: 100%;
  position: relative;
  color: #333; /* 文字色 */
  background: #fffde6; /* 背景色 */
  line-height:1.1;
  /*
  border-top:1px solid #ccc;
  border-bottom:1px solid #ccc;
  */
  height:60px;
}

.global_menu ul.parent{
  text-align: center;
  
  max-width: 1280px;
  box-sizing: border-box;
  margin: 0 auto;
  *zoom: 1;
  height:60px;
  display:flex;
  list-style: none;
}

.global_menu ul.parent li{
  height:60px;
  padding:0;
  width:33.3333%;
  display:flex;
  align-items: center;
  justify-content: center;
  margin:0 auto;
}

/*
.global_menu ul.parent li:nth-child(2),.global_menu ul.parent li:nth-child(3){
	width:13%;
}
.global_menu ul.parent li:nth-child(7){
	width:24%;
}
*/

.global_menu ul.parent li a{
	color:#333;
	text-decoration:none;
}

.global_menu li {
/*
	display:table-cell;
	vertical-align:middle;
*/
    height:60px;
	font-size:15px;
	border-right:dotted 1px #ccc;
}

.global_menu li:first-child {
	border-left:dotted 1px #ccc;
}


/* 親メニューロールオーバー */
.global_menu ul.parent li a.underline {
  position: relative;
  text-decoration: none;
  display:block;
}
.global_menu ul.parent li a.underline::after {
  position: absolute;
  bottom: -6px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #0057a3;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform .3s;
}
.global_menu ul.parent li a.underline:hover::after {
  transform: scale(1, 1);
}


/**/


/*
.global_menu a { 
  display: block;
  padding: 10px 30px;

}

.menu:hover > a {
  background: #ffb6c1;
}
*/

/*
.child_menu > li > a:hover { 
  background: #ffb6c1;
}

*/

/* クリックでopen */

.global_menu li .ac-check {
display: none; /*チェックボックスを非表示*/
}

.global_menu li .ac-label{ cursor:pointer;}
.global_menu li .ac-label:before{ /* アイコンのスタイル */
 font-family: FontAwesome;
  content: "\f078"; 
  font-weight: 900;
  color: #c1561e;
   -webkit-font-smoothing:antialiased;
  -webkit-text-stroke-color:#f1f1ec;
  -webkit-text-stroke-width:1px

}

/*
.ac-label {
display: block;
margin-bottom: 1px;
padding: 10px;
padding-left: 26px;

}
.ac-label:before {
content: '\f054';
font-family: fontAwesome;
padding-right: 8px;
color: #6db3f2;
}
*/


/* 下層メニューのスタイル */
.child_menu { 
  width: 100%;
  position: absolute;
  top: 100%; /* 親項目の直下に配置 */
  left: 0;
  padding: 30px;
  color: #333; 
  background: #f5f5f5; 
  height: 0;
  display:none;
  overflow: hidden; 
  transition: 1s opacity;
  z-index:500;
  text-align:left;
  box-shadow: 0px 8px 5px -5px rgba(0,0,0,0.5)
}

.child_menu .area_seach{
	margin:0 0 10px;
	background-color:#fff;
	padding:20px;}

.child_menu .area_seach h3{
	/*
	color:#b8615f !important;
	*/
	font-weight:bold;	
	margin:0 0 20px;
	
}

.child_menu .area_seach h3 a{
		color:#fff !important;
}
.child_menu .area_seach h3 a.line{
	border-bottom:2px solid #fff;
  	padding-bottom:1px;
}

.child_menu .area_seach h3.ttl_area,.child_menu .area_seach h3.ttl_lawyer,.child_menu .area_seach h3.ttl_onayami{
	background-color:#009933;
	display:table;
	padding:10px;
	color:#fff !important;
}



.child_menu .area_seach h3.ttl_area:before{
 font-family: "Font Awesome 5 Free";
  content: "\f3c5"; 
  font-weight: 900;
  color: #fff;
  margin-right:5px;
}

.child_menu .area_seach h3.ttl_lawyer:before{
 font-family: "Font Awesome 5 Free";
  content: "\f02d"; 
  font-weight: 900;
  color: #fff;
  margin-right:5px;
}

.child_menu .area_seach h3.ttl_onayami:before{
 font-family: "Font Awesome 5 Free";
  content: "\f015"; 
  font-weight: 900;
  color: #fff;
  margin-right:5px;
}



.child_menu .area_seach dl{
	display: inline-block;
	vertical-align:top;
	margin:0 40px 0 0;
}

.child_menu .area_seach dl a:hover,.child_menu .area_seach h4{
	margin:0 0 15px;}

.child_menu .area_seach dt:before{
	font-family: FontAwesome;
  	content: "\f0da"; 
  	font-weight: 900;
  	color: #b8615f;
	margin-right:5px;

}

.child_menu .area_seach dt{
	margin:0 0 10px;
	font-weight:600;
}

.child_menu .area_seach dd a,.child_menu .area_seach dt a,.child_menu .area_seach h4 a{
	text-decoration:underline !important;
}

.child_menu .area_seach dd{
	margin:0 0 10px;
	text-indent:1em;
}


.child_menu .area_seach dd:before{
	font-family: FontAwesome;
  	content: "\f0da"; 
  	font-weight: 900;
  	color: #b8615f;
	margin-right:5px;

}

.child_menu .area_seach h4{
	display: inline-block;
	vertical-align:top;
	margin-right:20px;
}

.child_menu .area_seach h4:before{
	font-family: FontAwesome;
  	content: "\f0da"; 
  	font-weight: 900;
  	color: #b8615f;
	margin-right:5px;

}



.child_menu > li > a { /* 子項目のスタイル */
  font-size: 0.8em;
}

/* 下層メニューのスタイル（親項目ホバー時）
.menu .child_menu { 
  transition: background-color 0.1s linear; 
 }

.menu:hover .child_menu { 
  visibility: visible; 
  opacity: 1; 
  visibility: visible; 
  transition: background-color 1s linear; 
 }
*/
/*
.child_menu a:hover {
  color: #fff;
}
*/
.ac-check:checked + .ac-label + .child_menu {
height: auto;
display:block;
}
.ac-check:checked + .ac-label + .child_menu p {
height: auto;
opacity: 1;
}
/*
.ac-check:checked + .ac-label:before {
content: '\f078';
color: #6db3f2;
}
*/
.global_menu li .ac-check:checked + .ac-label:before{ 
 font-family: FontAwesome;
  content: "\f077"; /* アイコン */
  font-weight: 900;
  color: #b8615f;
}


/* ドロワー */
#header-nav-btn, #gnav-sp {
	display: none;
}
	
	
@media screen and (max-width: 950px) {
	

/* ドロワーボタン */
	#header-nav-btn {
		display: block;
		width: 60px;
		height:60px;
		margin: 4px 0 0 0;
		padding:4px;
		position: fixed;
		top: 0px;
		right: 0;
		z-index: 999;
		background:#11589f;
		/*
		border:2px solid #b8615f;
		*/
		overflow: hidden;
	}
	.fix #header-nav-btn {
		margin-top:0;
	}

	#sp_nav_area .close_txt {
		color: #fff;
		position: fixed;
		top: 2rem;
		right: 0%;
		transition-duration: 0.5s;
	}
	#sp_nav_area .close_txt.active {
		color: #fff;
		position: fixed;
		top: 2rem;
		right: 0%;
		/*
		z-index: 955;
		*/
	
	}

	#header-nav-btn a {
		display: block;
		text-align: center;
		width: 100%;
		height: 100%;
		position: relative;
	}
	#header-nav-btn a .on {
		position: absolute;
    	top: 50%;
    	left: 50%;
    	transform: translate(-50%, -50%);
    	-webkit-transform: translate(-50%, -50%);
    	-ms-transform: translate(-50%, -50%);
		transition-duration: 1s;
}
	#header-nav-btn a .off {
		position: absolute;
		top: 50%;
		left: -200%;
		transform: translateY(-50%);
		transition-duration: 1s;
	}
	#header-nav-btn.active a .on {
		position: absolute;
		top: 50%;
		left: -200%;
		transform: translateY(-50%);
		transition-duration: 1s;
	}
	#header-nav-btn.active a .off {
		position: absolute;
    	top: 50%;
    	left: 50%;
    	transform: translate(-50%, -50%);
    	-webkit-transform: translate(-50%, -50%);
    	-ms-transform: translate(-50%, -50%);
		transition-duration: 1s;
	}

		#gnav-sp ul {
			margin-bottom: 20px;
		}
		#gnav-sp #header-cont-content ul {
			margin-left: 0;
		}
		#gnav-sp #header-cont-content li {
			margin-left: 0;
			float: left;
			width: 100%;
		}

	/* @keyframes active1 {
    0% {
      transform: translateX(50%) scaleX(0);
      opacity: 0;
    }
    100% {
      transform: translateX(0%) scaleX(1);
      opacity: 1;
    }
  }
  #header-nav-btn.active a {
    animation: active2 1s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
  }
  @keyframes active2 {
    0% {
      transform: translateX(0%) scaleX(1);
      opacity: 1;
    }
    50% {
      transform: translateX(50%) scaleX(0);
      opacity: 0;
    }
    51% {
      transform: translateX(100%);
      opacity: 0;
    }
    100% {
      transform: translateX(0%);
      opacity: 1;
    }
  }*/
	/*#header-nav-btn.active .fa-align-justify:before {
    animation: before 1s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
  }
  @keyframes before {
    0% {
      content: "\f039";
    }
    50% {
      content: "\f039";
    }
    51% {
      content: "\f00d";
    }
    100% {
      content: "\f00d";
    }
  }*/
	/*#header-nav-btn.active .fa-align-justify:after {
    content: "\f00d";
    opacity:0;
  }*/
	#header-gnav-area {
		transition-duration: 0.5s;
		margin-top: 0;
	    height:auto;

	}

	#header-gnav-area.fix {
			transform: translateY(0px);

	}
	#header-fnav-area {
		display: none;
	}
	#gnav-sp ul li .sub-menu {
		/*
    display: block!important;
    */
		margin-bottom: 0px;
	}
	#gnav {
		display: none;
	}
	.dummy {
		width: 100%;
		height: 100%;
		position: fixed;
		top: 0;
		left: 0;
		opacity: 0;
		z-index: 10;
	}
	#gnav-sp {
		display: none;
		background: #fff;
		display: block;
		/*
		
		font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", YuGothic, Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
		*/
		z-index: 100;
		position: fixed;
		right: 0;
		top: 0;
		width: 100%;
		padding-top: 4em;
		z-index: 888;
		height: 100%;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
		color: #333;
	}
	#gnav-sp .wrap {
		width: 94%;
		margin: 0 3%;
		padding: 0;
	}
	#gnav-sp .wrap a {
		color: #333;
	}
	#gnav-sp #header-cont-content h4, #gnav-sp #header-cont-about h4, #gnav-sp #header-cont-sns h4 {
		font-weight: bold;
		margin-bottom: 16px;
	}
	#gnav-sp li {
		text-align: right;
		border-bottom: dotted 1px #ccc;
	}
	#gnav-sp li a {
		padding: 1em;
	}
	/* 追加202106 */
	#gnav-sp #footer-nav {
		padding-left: 0;
		margin-top:10px;
	}
	#gnav-sp #footer-nav li a {
		display: block;
		/*
    padding: 8px 12px;
    */
		padding: 8px;
		position: relative;
		text-decoration: none;
	}
	#gnav-sp .menu-item-628 a:after {
		content: '×';
		color: #fff;
		background: #267207;
		padding: 0 0.3em;
		margin-left: 0.3em;
	}
	#gnav-sp #footer-nav .children {
		display: none;
	}
	.floating_ban {
		position: fixed;
		bottom: 0;
		width: 100%;
		background: #4ea52b;
		display: table;
		border-top: 1px solid #fff;
		border-bottom: 1px solid #fff;
		z-index: 100;
	}
	.textwidget {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		line-height: 1.2;
		font-size: 2.9vw;
		align-items: center;
		font-weight: bold;
		flex-direction:column;
	}
	.floating_ban .btns {
		text-align: left;
	}
	.floating_ban .btns.btn1 {
		width: 30%;
		border-right: solid 1px #fff;
	}
	.floating_ban .btns.btn2 {
		width: 35%;
		border-right: solid 1px #fff;
	}
	.floating_ban .btns.btn3 {
		width: 35%;
	}
	.floating_ban .btns a {
		transition-duration: 0.5s;
		cursor: pointer;
		padding: 6% 1.8vw 5%;
		display: block;
		width: 100%;
	}
	.floating_ban .btns a:hover {
		opacity: 0.7;
	}
	.floating_ban .textwidget a {
		margin-bottom: 0;
		color: #ffffff;
	}
	/* スマホナビ　第二階層 */
	#gnav-sp .menu-item-has-children>a:after, #gnav-sp .menu-item-has-children>a:before {
		display: block;
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		right: 20px;
		margin: auto;
		width: 10px;
		height: 1px;
		background: #4ea52b;
		transition: .2s;
	}
	#gnav-sp .menu-item-has-children>a:after {
		transform: rotate(90deg);
		-webkit-transform: rotate(90deg);
	}
	#gnav-sp .menu-item-has-children>a.open:before {
		transform: rotate(0deg);
		-webkit-transform: rotate(0deg);
	}
	#gnav-sp .menu-item-has-children>a.open:after {
		background: transparent;
	}
	#gnav-sp .menu-item-has-children .sub-menu {
		display: none;
	}

	#gnav-sp.open {
			transform: translateZ(0);
		}
		#gnav-sp .menu-item-has-children .sub-menu {
			/*
    padding: 20px;
	*/
			padding: 10px;
			border: none;
		}
		#gnav-sp .menu-item-has-children>a:first-of-type {
			position: relative;
			padding-right: 3em !important;
		}
		#gnav-sp .menu-item-has-children>a.open:first-of-type {
			color: #4ea52b;
		}
		#gnav-sp .menu-item-has-children .sub-menu li {
			padding: 0;
			margin-bottom: 20px;
			border: none;
			line-height: 1.2;
		}
		#gnav-sp .menu-item-has-children .sub-menu li:last-child {
			margin-bottom: 0;
		}
		#gnav-sp .menu-item-has-children .sub-menu li a {
			padding: 0;
		}
	#gnav-sp {
			display: none;
		}
	}