@charset "utf-8"; 
/* CSS Document */

/* ------------------------------------------------------------------------ */

/*  reset

/* ------------------------------------------------------------------------ */

html {
	overflow-y	: scroll;
	height		: 100%;
	font-size	: 14px;
}

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,
pre,form,fieldset,p,blockquote {
	margin 	: 0;
	padding : 0;
}

header,nav,footer {
	margin	: 0 auto;
}

fieldset {
	display:inline;
}

address,caption,cite,code,dfn,em,strong,th,var {
	font-style : normal;
}

/*
table {
	border-collapse	 : collapse;
	border-spacing	 : 0;
}
*/

body/**/table {
	font-size	: 12px;
	line-height	: 1.5;
}

q:before,
q:after {
	content : '';
}

object,embed {
	vertical-align : top;
}

hr,legend	{
	display : none;
}

h1,h2,h3,h4,h5,h6 {
	font-size : 100%;
}

img,abbr,acronym,fieldset {
	border : 0;
}

img{
	backface-visibility: hidden;
}

li {
	list-style-type : none;
}



/* ------------------------------------------------------------------------ */

/*  Basic Style

/* ------------------------------------------------------------------------ */

body {
	margin		: 0;
	padding		: 0;
	height		: 100%;
	font-family	: Meiryo,"Hiragino Kaku Gothic ProN",Sans-Serif;
	font-size	: 14px;
	line-height	: 1.5;
	text-align	: center;
	color		: #4b3d2d;
	background	: #fff9eb;
	border-top	: #f87104 solid 3px;
	min-width	: 1080px;
}

/*
div#wrap {
	width		: 1080px;
	margin		: 0 auto;
	text-align	: center;
}
*/
body > #wrap {
	height 	: auto;
}


@media screen and (max-width: 767px) {
	body {
		font-size	: 14px;
		line-height	: 1.5;
		min-width	: auto;
	}
}


/* Link
--------------------------------------------------------------------------- */

.opacity a:hover img{
	opacity		: 0.8;
	filter		: alpha(opacity=80);
	-ms-filter	: "alpha( opacity=80 )";
	background	: #fff;
}

a:link	{
	text-decoration	: none;
	color			: #FFF;
}

a:visited	{
	text-decoration	: none;
	color			: #FFF;
}

a:hover	{
	text-decoration	: underline;
}



/* ------------------------------------------------------------------------ */

/* Hedaer

/* ------------------------------------------------------------------------ */

header {
	width	: 980px;
	height	: 91px;
}
header.spStyle{
	display: none;
}

header .head_nav{
	display: flex;
}
header .head_nav .el_humburger,
header .head_nav header.navi{
	display: none;
}

header h1 {
	margin-top	: 26px;
	margin-right: 18px;
	float		: left;
}

header p {
	margin-top	: 23px;
	float		: left;
}
header > p.txt_l{
	display: none;
}

@media screen and (max-width: 767px) {
	header.pcStyle{
		display: none;
	}
	header.spStyle{
		display: block;
	}
	header h1 {
		margin-top	: 15px;
		margin-right: 18px;
	}

	header > p.txt_l{
		display: block;
		float: none;
		margin: 12px auto 5px;
		font-size: 12px;
	}

	header .head_nav .txt_l{
		display: none;
	}	

	header.spStyle{
		margin: 0 auto;
		z-index: 999;
		width: 100%;
		box-sizing: border-box;
	}
	.spStyle .head_flex{
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	header .head_logo {
		margin: 10px 0;
	}
	.spStyle select{
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		background-color: #fff;
		border-radius: 5px;
		width: 100%;
		height: 36px;
		font-size: 16px;
		padding-left: 24px;
	}
	.sp_lang{
		position: relative;
	}
	.sp_lang::before {
		position: absolute;
		left: 16px;
		top: 50%;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		content: "\f0ac";
		font-size: 16px;
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
	}
	.sp_lang::after {
		content: '';
		width: 6px;
		height: 6px;
		border: 0px;
		border-bottom: solid 2px #444444;
		border-right: solid 2px #444444;
		-ms-transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		position: absolute;
		top: 50%;
		right: 20px;
		margin-top: -5px;
	}
	#nav_toggle {
		display: block;
		width: 35px;
		height: 27px;
		position: relative;
		top: 7px;
		z-index: 100;
	}
	#nav_toggle div {
		position: relative;
	}
	#nav_toggle span{
		display: block;
		height: 3px;
		background: #333;
		position:absolute;
		width: 100%;
		left: 0;
		-webkit-transition: 0.5s ease-in-out;
		-moz-transition: 0.5s ease-in-out;
		transition: 0.5s ease-in-out;
	}
	#nav_toggle span:nth-child(1){
		top:0px;
	}
	#nav_toggle span:nth-child(2){
		top:12px;
	}
	#nav_toggle span:nth-child(3){
		top:24px;
	}

	/*nav open*/
	#nav_toggle.active  span:nth-child(1) {
		top: 10px;
		-webkit-transform: rotate(135deg);
		-moz-transform: rotate(135deg);
		transform: rotate(135deg);
	}
	#nav_toggle.active  span:nth-child(2) {
		width: 0;
		left: 50%;
	}
	#nav_toggle.active  span:nth-child(3) {
		top: 10px;
		-webkit-transform: rotate(-135deg);
		-moz-transform: rotate(-135deg);
		transform: rotate(-135deg);
	}

	.head_content{
		display: none;
		position: absolute;
		top: 48px;
		left: 0;
		width: 100%;
		z-index: 999;
		background-color: #fff;
	}
	.head_content.open nav{
		display: block;
	}
	.head_content .sp_lang{
		padding: 10px;
		box-sizing: border-box;
	}
	header.spStyle nav {
		width: 100%;
		margin: 0 auto;
		width: 100%;
		background: #f87104;
		left: 0;
		z-index: 999;
	}
	header.spStyle nav ul {
		display: block;
	}
	header.spStyle nav ul li {
		max-width: 100%;
		width: 100%;
		box-sizing: border-box;
		padding: 0;
		border-bottom: 1px solid #fff9eb;
	}
	header.spStyle nav ul li:last-child {
		border-bottom: none;
	}
	header.spStyle nav ul li a {
		display: block;
		text-decoration: none;
		padding: 0 10px;
		box-sizing: border-box;
		height: 60px;
		display: flex;
		align-items: center;
		justify-content: center;
		color: #fff;
		position: relative;
		font-weight: bold;
	}
	header.spStyle nav ul li:first-child a {
		background-image: linear-gradient(135deg, #F87104 25%, #F98207 25%, #F98207 50%, #F87104 50%, #F87104 75%, #F98207 75%);
		background-size: 20px 20px;
	}
	header.spStyle nav ul li:nth-child(2) a {
		background-image: linear-gradient(135deg, #59A42B 25%, #6CB03E 25%, #6CB03E 50%, #59A42B 50%, #59A42B 75%, #6CB03E 75%);
		background-size: 20px 20px;
	}
	header.spStyle nav ul li:nth-child(3) a {
		background-image: linear-gradient(135deg, #56B3C7 25%, #69BECF 25%, #69BECF 50%, #56B3C7 50%, #56B3C7 75%, #69BECF 75%);
		background-size: 20px 20px;
	}
	header.spStyle nav ul li:last-child a {
		background-image: linear-gradient(135deg, #D03653 25%, #D74966 25%, #D74966 50%, #D03653 50%, #D03653 75%, #D74966 75%);
		background-size: 20px 20px;
	}
	header.spStyle nav ul li a::after {
		content: '';
		width: 6px;
		height: 6px;
		border: 0px;
		border-top: solid 2px #fff;
		border-right: solid 2px #fff;
		-ms-transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		position: absolute;
		top: 50%;
		right: 20px;
		margin-top: -5px;
	}
	header.spStyle nav ul li a:link {
		color: #fff;
	}
	header.spStyle nav ul li a:hover {
		text-decoration: none;
		border-bottom: 1px solid #006833;
	}
}

/* ------------------------------------------------------------------------ */

/* Navigation

/* ------------------------------------------------------------------------ */

nav {
	width	: auto;
}

nav ul {
	width	: 980px;
	margin	: 0 auto;
}


@media screen and (max-width: 767px) {
	nav ul {
		width	: 100%;
	}
}


/* ------------------------------------------------------------------------ */

/* Contents

/* ------------------------------------------------------------------------ */

#mainBlock {
	clear:both;
}

/* ------------------------------------------------------------------------ */

/* Footer

/* ------------------------------------------------------------------------ */

footer {
	height		: 27px;
	margin-top	: 48px;
	padding-top	: 15px;
	background	: #4b3d2d;
	color		: #FFF;
}

#footerBox {
	width		: 980px;
	margin		: 0 auto;
	position	: relative;
	font-size	: 12px;
}

footer span {
	position: absolute;
	top		: -63px;
	right	: 0;
}

#footerBox p,
#footerBox ul,
#footerBox ul li {
	float	: left;
}

#footerBox p {
	float	: right;
}

#footerBox ul {
	margin-left	: 50px;
}

#footerBox ul li {
	margin-right: 30px;
}


@media screen and (max-width: 767px) {
	footer {
		min-height		: 27px;
	}
	#footerBox ul {
		margin-left	: 10px;
	}
	#footerBox ul li {
		margin-right: 10px;
	}
	#footerBox p {
		margin-right: 10px;
	}
	#footerBox {
		width		: 100%;
		font-size	: 12px;
	}

	.mainFooter div.left div.flex div.txtArea p a,
	#mainFooter div.left div.flex div.txtArea p a {
		color: #4c3c2d !important;
		text-decoration: none !important;
	}
	.mainFooter div.left div.flex div.txtArea p a:hover,
	#mainFooter div.left div.flex div.txtArea p a:hover {
		text-decoration: none !important;
	}
	.mainFooter div.left div.flex figure a img,
	#mainFooter div.left div.flex figure a img {
		max-width: 200px;
		width: 100%;
	}
}


@media screen and (max-width: 374px) {
	footer{
		height: auto;
		padding: 15px 0;
	}
	footer #footerBox ul,
	footer #footerBox ul li,
	footer #footerBox p {
		float: none;
		display: block;
		text-align: left;
	}
	footer #footerBox p {
		margin-left: 10px;
	}
}