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

section {
	height	: 300px;
}

section p,
section div {
	float	: left;
}

section .txt {
	width		: 300px;
	margin		: 0 20px;
	text-align	: left;
}

section .txt>h3 {
	font-size	: 16px;

}

#mainFooter {
	clear			: both;
	position		: relative;
	width			: 880px;
	margin			: 0 auto 30px auto;
	border			: 7px solid #e5d3c9;
	background-color: #fff;
	box-sizing		: border-box;
    display			: flex;
    justify-content	: space-between;
}

#mainFooter div.left {
	width: calc(100% - 305px);
}

#mainFooter div.left p {
	color		: #4c3c2d;
	font-weight	: bold;
}

#mainFooter div.left p.title {
	font-size: 18px;
	margin: 1em auto;
	line-height: 1;
}

#mainFooter div.left div.flex {
	display: flex;
	margin-left: 20px;
}

#mainFooter div.left div.flex div.txtArea {
	margin-top: 3px;
	margin-right: 15px;
}
#mainFooter div.left div.flex div.txtArea p:first-child {
	font-size: 28px;
	line-height: 1.2;
}
#mainFooter div.left div.flex div.txtArea p:first-child img {
	margin-right: 3px;
}
#mainFooter div.left div.flex div.txtArea p:last-child {
	font-weight: normal;
	font-size: 12px;
}

#mainFooter figure.spStyle {
	display: none;
}

#mainBlock div:first-child{
	float: left;
}
#contentsBlock {
    margin-top: 30px;
}

@media screen and (max-width: 767px) {
	#mainBlock div:first-child {
		height	: 0 !important;
		display	: none !important;
	}
	#mainBlock div:first-child,#sideMenu {
		float	: none;
		width	: 100% !important;
	}
	#sideMenu {
		position	: relative !important;
		top			: 0 !important;
	}
	#sideMenu ul{
		display		: flex;
		flex-wrap	: wrap;
	}
	#sideMenu ul li{
		width	: calc(100% / 2);
	}
	#sideMenu ul li:last-child{
		width	: calc(100%);
	}

	section {
		height			: auto;
		padding			: 0;
		margin-bottom	: 40px;
	}
	#contentsBlock {
		margin-top: 10px;
	}
	#contentsBlock section:last-child {
	}
	section p {
		max-width	: 85px;
		width		: 100%;
	}
	section div {
		float	: none;
		clear	: both;
	}
	section .txt {
		float		: right;
		clear		: none;
		width		: calc(100% - 95px);
		margin		: 0 auto 10px;
	}
	section .txt>h3 {
		font-size	: 16px;	
	}


	#mainFooter figure.pcStyle {
		display: none;
	}
	#mainFooter figure.spStyle {
		display: block;
		margin: 15px auto;
	}
	#mainFooter div.left p.title br.spStyle {
		display: block;
	}
	#mainFooter {
		max-width	: 350px;
		width		: 100%;
		display		: block;
	}
	#mainFooter img {
		max-width: 100%;
		height: auto;
	}
	#mainFooter div.left {
		width: 100%;
		float: none !important;
	}
	#mainFooter div.left p.title {
		margin: 1em auto 0.5em;
	}
	#mainFooter div.left div.flex {
		display: block;
		margin-left: 0;
	}
	#mainFooter div.left div.flex div.txtArea {
		float: none !important;
	}
	#mainFooter div.left div.flex div.txtArea p:last-child {
		margin: 5px auto;
	}
}
