/*HEADER*/
header{
	width:100%;
	height:100px;
	margin:0;
	padding:0;
	background:#EFEFEF;
}@media screen and (max-width:768px){
	header{
	height:85px;
	}
}

div.flexbox__wrap--fullwidth{
	width:100%;
	height:100px;
	margin:0;
	padding:0 1em 0 1em;
	display:flex;
	justify-content: space-between;
	align-items:center;
}@media screen and (max-width:768px){
	div.flexbox__wrap--fullwidth{
	height:auto;
	}
}

div.header__left--area{
	width:80%;
	flex:1 1 auto;
	display:flex;
}

div.header__logo-left{
	width:100%;
	height:auto;
	margin:-0.8em 0 0 0;
	padding:0;
	flex:0 0 70px;
}@media screen and (max-width:768px){
	div.header__logo-left{
	margin:0.8em 0 0 0;
	}
}

div.header__logo-left img{
	margin:0;
	padding:0;
}


/*グローバルナビゲーション*/
/*チェックボックスを非表示にする*/
#OPEN{
  display: none;
}

/*ハンバーガーメニューボタン*/
@media screen and (min-width:769px){
	label.menu-btn{
		display:none;
	}
}@media screen and (max-width: 768px){
	label.menu-btn{
	  position: fixed;
	  top: 0px;
	  right: 0px;
	  display: flex;
	  height: 40px;
	  width: 40px;
	  justify-content: center;
	  align-items: center;
	  z-index:3;
	  background-color: #000;
	  text-indent:-1000em;
	}
	label.menu-btn:hover {
	  cursor: pointer;
	}
	/* 三本線の実装 */
	.menu-btn span,
	.menu-btn span::before,
	.menu-btn span::after{
	  content: "";
	  display: block;
	  height: 2px;
	  width: 20px;
	  border-radius: 2px;
	  background-color: #FFF;
	  position: absolute;
	  transition: all 0.5s;
	}
	label.menu-btn span::before{
	  bottom: 6px;
	}
	label.menu-btn span::after{
	  top: 6px;
	}
	
	#OPEN:checked ~ label span{
		background:transparent;
	}
	
	#OPEN:checked ~ label span::before{
		transform: rotate(45deg);
		transform-origin:center center 0;
		top: 0px;
	}
	#OPEN:checked ~ label span::after{
		transform: rotate(-45deg);
		transform-origin:center center 0;
		top: 0px;
	}
}
	/*ヘッダーお問い合わせ*/
	.header__mail--contact{
		width:12em;
		height:2em;
		background:#C30D23;
		text-align:center;
		font-weight:bold;
		margin:-0.25em 0 0 0;
		padding:0.3em 0 0 0;
	}
	
	.header__mail--contact:hover{
	background:#E28181;
	}
	
	.header__mail--contact a{
		position: relative;
		margin:0;
		padding:0;
		color:#FFF;
		font-size:0.9em;
		text-align:center;
		text-decoration:none;
		display:block;
	}


	.header__mail--contact a::before{
		content: "";
		width: 25px;
		height: 25px;
		background-image:url(../img/mail.png);
		background-size: contain;
		background-repeat:no-repeat;
		position: absolute;
		top: 0px;
		left:20px;
	}


/*PC用*/
@media screen and (min-width:769px){
	div.global__navigation--compact{
		margin:0;
		padding:0;
		width:auto;
		height:auto;
		font-weight:bold;
	}
	
	div.global__navigation--compact ul.menu{
		margin:0;
		padding:0;
		width:auto;
		height:auto;
		list-style:none;
		display:flex;
		flex-wrap:wrap;
		justify-content:end;
		position:relative;
		font-size:0.9em;
	}
	
	div.global__navigation--compact ul.menu li{
		width:auto;
		height:auto;
		flex:1 1 auto;
		text-align:center;
		cursor:pointer;
		list-style:none;
		text-decoration:none;
		transition:all 0.2s ease-in-out;
		margin:0 0.5em;
		padding:0;
	}
	
	div.global__navigation--compact ul.menu li a{
		margin:0;
		padding:0.5em;
		display:inline-block;
		text-decoration:none;
		font-weight:bold;
		color:#000;
	}
	
	div.global__navigation--compact ul.menu li a:hover{
		color:#FFF;
		background:#000;
	}

	div.global__navigation--compact ul.menu li:hover{
		background:#000;
	}
	
	div.global__navigation--compact ul.menu li:hover a{
		color:#FFF;
	}
	/*-------------子メニュー--------------*/
	div.global__navigation--compact ul.sub-menu{
		list-style:none;
		margin:0;
		padding:0 2em 0 2em;
		width:100%;
		max-height:0;
		background:#000;
		overflow:hidden;
		white-space:nowrap;
		position:absolute;
		left:0;
		top:40px;
		display:flex;
		flex-wrap:wrap;
		justify-content:start;
		transition: all 0.2s ease-in-out;
		overflow:hidden;
		z-index:100;
	}

	div.global__navigation--compact ul.menu li:hover ul.sub-menu{
		padding:1em;
		margin:0;
		height:auto;
		max-height:900px;
	}

	div.global__navigation--compact ul.sub-menu li{
		margin:0;
		padding:0;
		flex:1 1 calc(50% - 1em);
		text-align:left;
	}
	
	div.global__navigation--compact ul.sub-menu li a{
		margin:0;
		padding:0.5em;
		display:block;
		text-align:left;
		color:#FFF;
	}

	div.global__navigation--compact ul.sub-menu li a::after{
		content:"";
		display:block;
		margin:auto;
		padding:0;
		height:1px;
		width:0px;
		background:#FFF;
		transition: all 0.2s ease-in-out;
	}
	
	div.global__navigation--compact ul.sub-menu li:hover a::after{
		content:"";
		display:block;
		margin:auto;
		padding:0;
		height:1px;
		width:100%;
		color:#FFF;
	}
	
	/*上矢印マーク*/
	.bottom__btn--up{
	margin:0;
	padding:0;
	position:fixed;
	bottom:0;
	right:0;
	width:40px;
	height:40px;
	text-align:center;
	overflow:hidden;
	}
	
	.bottom__btn--up a{
  	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
  	-webkit-box-orient: vertical;
  	-webkit-box-direction: normal;
  	-ms-flex-direction: column;
  	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	line-height:1rem;
	width:100%;
	height:100%;
	background:#000000;
	color:#FFFFFF;
	text-decoration:none;

	}
	
	div.header__mobile--contact{
		display:none;
	}


}


/*モバイル用*/
@media screen and (max-width: 768px){
	div.global__navigation--compact nav{
		
		width:100%;
		height:100%;
		margin:0;
		padding:0;
		line-height:40px;
		overflow:auto;
  		overflow-y: auto;
  		-webkit-overflow-scrolling: touch;
		transition: all 0.5s ease-in-out;
		position:fixed;
		z-index:2;
		top:0;
		right:-100%;
		
		background:#AAAAAA;
		font-size:1.3em;
	}
	
	#OPEN:checked ~ nav{
		width:100%;
		height:100%;
		position:fixed;
		top:0;
		right:0;
	}
	
	div.global__navigation--compact ul.menu{
		margin:0;
		padding:0;
		width:auto;
		height:auto;
		list-style:none;
	}
	
	div.global__navigation--compact ul.menu li{
		margin:0;
		padding:0;
		width:auto;
		height:auto;
		text-indent:1em;
		cursor:pointer;
		background:#AAA;
		border-bottom:solid 1px #FFF;
	}

	div.global__navigation--compact ul.menu li a{
		text-decoration:none;
		color:#FFF;
		display:block;
		line-height:55px;
	}

	/*お問い合わせフォーム*/
	.header__mail--contact{
		display:none;
	}

	div.header__mobile--contact{
		background:#696969;
		padding:1em;
		margin:1em;
	}

	div.header__mobile--contact a{
		color:#FFF;
		display:block;
		text-align:center;
		text-decoration:none;
	}

	div.header__mobile--contact:hover{
		background:#808080;
	}
	
	/*-------------子メニュー--------------*/
	div.global__navigation--compact ul.sub-menu{
		margin:0;
		padding:0;
		width:100%;
		height:auto;
		max-height:0;
		list-style:none;
		white-space:nowrap;
		transition:max-height ease-in-out 0.5s;
		overflow:hidden;
	}

	div.global__navigation--compact ul.menu li:hover ul.sub-menu{
		height:auto;
		max-height:900px;
		background:#000;
	}

	div.global__navigation--compact ul.menu li:active ul.sub-menu{
		height:auto;
		max-height:900px;
	}
	

	div.global__navigation--compact ul.menu li:action ul.sub-menu{
		height:auto;
		max-height:900px;
	}
	
	div.global__navigation--compact ul.sub-menu li:hover{
		
	}
	
	div.global__navigation--compact ul.sub-menu li:last-child{
		border-bottom:none;
	}
	
	div.global__navigation--compact ul.sub-menu li a{
		margin:0;
		padding:0;
		width:100%;
		height:100%;
		display:block;
		text-decoration:none;
		display:block;
		background:#000;
		color:#FFF;
		line-height:40px;
	}
	
	div.global__navigation--compact ul.sub-menu li a:hover{
		background:#EEE;
		color:#000;
	}
	
}



/*footerナビゲーション*/
.sitemap_contact{
	margin:auto 0 0 0;
	padding:0;
}

div.footer__navi--box{
	margin:0;
	padding:0;
	font-size:0.95em;
}@media screen and (max-width:768px){
	div.footer__navi--box{
		display:none;
	}
}

div.footer__navi--box ul{
	margin:0;
	padding:0;
	width:100%;
	height:auto;
	list-style:none;
	display:flex;
	flex-wrap:wrap;
}

div.footer__navi--box ul li{
	margin:0;
	padding:0 2em 0 0 ;
	height:auto;
}

div.footer__navi--box a{
	margin:0;
	padding:0;
	display:block;
	white-space:nowrap;
	overflow:hidden;
	text-decoration:none;
	color:#000;
	font-weight:bold;
}

div.footer__navi--box a::before{
	content:"\025b6";
	margin-right:0.2em;
}

div.footer__navi--box a:hover{
	color:#AAA;
}

/*Footerお問い合わせ*/
div.footer__contact--box{
	width:100%;
	height:50px;
	margin:1em 0 0 0;
	padding:0;
	background:#C30D23;
	text-align:center;
	font-weight:bold;
	}

div.footer__contact--box:hover{
	background:#E28181;
}

div.footer__contact--box a{
	position: relative;
	margin:0;
	padding:0 0 0 0;
	color:#FFF;
	text-align:center;
	text-decoration:none;
	line-height:50px;
	display:block;
	}@media screen and (max-width:768px){
	div.footer__contact--box a{
		width:100%;
		font-size:1.2em;
		}
	}


/*コピーライト*/
.ft__copyright--bottom{
	width:100%;
	background:#000;
	margin:0;
	padding:0;
}

p.p_copyright--bottom{
	text-align:center;
	color:#FFF;
	margin:0;
	padding:0;
}

/*ページトップボタン*/
p.up__btn--bottom{
	margin:0;
	padding:0;
	position:fixed;
	bottom:0;
	right:0;
}

p.up__btn--bottom a{
	margin:0;
	padding:0;
	width:40px;
	height:40px;
	line-height:42px;
	display:block;
	background:#000;
	color:#FFF;
	text-align:center;
	overflow:hidden;
}


/*FOOTER*/
footer{
	margin:0;
	padding:0;
	width:100%;
	height:auto;
	background:#EFEFEF;
	color:#000;
}

.footer__navi--box h5{
	margin:0 0 0.75em 0;
	padding:0;
	display:inline-block;
}

div.ft__fullwidth{
	max-width:1280px;
	height:auto;
	margin:0 auto;
	padding:2em;
	display:flex;
	justify-content:space-between;
	gap:1.5em;
}@media screen and (max-width:768px){
	div.ft__fullwidth{
		display:block;
	}
}

/*連絡先表示*/
div.footer__left--box {
	margin:0;
	padding:0;
	width:100%;
	height:auto;
	max-width:50%;
}@media screen and (max-width:768px){
	div.footer__left--box{
	max-width:100%;
	}
}

div.footer__left--box address dl{
	margin:0;
	padding:0;
}

div.footer__left--box address dl em{
	display:inline-block;
	font-style:normal;
	margin-right:0.5em;
}

div.footer__left--box address dl strong{
	font-weight:normal;
}

div.footer__left--box address dl span{
	display:inline-block;
}

div.footer__left--box address dt{
	margin:0.5em 0 0 0;
	padding:0;
	font-weight:800;
	font-size:1.3em;
}

div.footer__left--box address dd{
	margin:0;
	padding:0;
	font-size:0.9em;
	line-height:1.5em;
}@media screen and (max-width:768px){
	div.footer__left--box address dd{
	font-size:1em;
	}
}

div.address_info{
	margin:0.5em 0 0 0;
	font-weight:bold;
}


dd.arial_font{

	font-family:Arial;


}


