@charset "UTF-8";

/* --------------------------------------------
 *                     base Layout
 * -------------------------------------------- */

body {
	background: #fff;
	width: 100%;
	text-align: center;
	font-family: 'Migu 1M', メイリオ, Meiryo, 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	color: #333;
	line-height: 1.6;
	margin: 0;
	padding: 0;
	border: none;
	word-wrap:break-word;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
	overflow-x: hidden;
}

html { font-size: 62.5%; } /* =10px */
body { font-size: 14px; font-size: 1.4rem; }

a:link { color: #d6182f;text-decoration: none; }
a:visited { color: #d6182f;text-decoration: none; }
a:active { color: #d6182f;text-decoration: none; }
a:hover { color: #333;text-decoration: none; }

img {
	max-width: 100%;
	height: auto;
	border-style: none;
	vertical-align: bottom;
}
ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
	margin: 0;
	padding: 0;
}
a:hover ,
a:hover img {
	opacity:0.8;
	filter: alpha(opacity=80);
}
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
.clearfix {
  min-height: 1px;
}
* html .clearfix {
  height: 1px;
  /*¥*//*/
  height: auto;
  overflow: hidden;
  /**/
}

@media all and (min-width: 641px) {
.spNone { display: block; }
.pcNone { display: none; }
}
@media all and (max-width: 640px) {
.spNone { display: none; }
.pcNone { display: block; display:inline; }
}

/* --------------------------------------------
 *                        layout
 * -------------------------------------------- */

#layout {
	width: 100%;
	margin: 0;
	padding: 0;
}

/* --------------------------------------------
 *                    header
 * -------------------------------------------- */

header {
	margin: 0;
	padding: 0;
}
#headerAreaIndex {
	background: #fff url(../images/common/bg_header.png) repeat-x top center;
	width: 100%;
	height: 158px;
	margin: 0;
	padding: 0;
}
#headerArea {
	background: #fff;
	width: 100%;
	height: 98px;
	margin: 0;
	padding: 0;
}

/*--- headerDescription ----------------------------------------------------------------- */

#headerDescription {
	background: #d6182f;
	width: 100%;
	height: 30px;
	margin: 0;
	padding: 0;
	border-bottom: 1px solid #cfcfcf;
}
#headerDescription h1 {
	width: 1000px;
	color: #fff;
	font-size: 13px;
	text-align: left;
	margin: 0 auto;
	padding: 0;
	position: relative;
	top: 50%;
	-webkit-transform: translateY(-50%); /* Safari用 */
	transform: translateY(-50%);
}

@media all and (min-width: 641px) and (max-width: 1000px) {
#headerDescription {
	height: 30px;
	margin: 0;
	padding: 0;
	}
#headerDescription h1 {
	width: 100%;
	font-size: 12px;
	line-height: 1.4;
	margin: 0;
	padding: 0 1em;
	box-sizing: border-box;
	}
#headerAreaIndex {
	height: 126px;
	}
#headerArea {
	height: 80px;
	}
}
@media all and (max-width: 640px) {
#headerDescription {
	margin: 0;
	padding: 0;
	}
#headerDescription h1 {
	width: 100%;
	font-size: 9px;
	line-height: 1.4;
	margin: 0;
	padding: 0 1em;
	box-sizing: border-box;
	}
#headerAreaIndex ,
#headerArea {
	height: 70px;
	}
}

/*--- headerLogoIndex ----------------------------------------------------------------- */

#headerLogoIndex {
	float: left;
	margin: 18px 0 0 8px;
	padding: 0;
}
#headerLogoIndex img {
	max-width: 326px;
	height: auto;
}
#headerLogo {
	float: left;
	margin: 28px 0 0 8px;
	padding: 0;
}
#headerLogo img {
	max-width: 270px;
	height: auto;
}

/*--- headerMenu ----------------------------------------------------------------- */

#headerMenu {
	float: right;
	margin: 0;
	padding: 0;
}
#headerMenu ul {
	margin: 0;
	padding: 0;
}
#headerMenu ul li {
	float: left;
	margin: 0;
	padding: 0;
}
#headerMenu a:hover ,
#headerMenu a:hover img {
	opacity: 1;
	filter: alpha(opacity=100);
}

#headerArea #headerMenu a:hover ,
#headerArea #headerMenu a:hover img {
	opacity: 0.8;
	filter: alpha(opacity=80);
}

@media all and (min-width: 641px) and (max-width: 1000px) {
#headerMenu {
	float: right;
	margin: 0 1em 0 0;
	padding: 0;
	}
#headerMenu img {
	max-width: 100px;
	height: auto;
	margin: 0;
	padding: 0;
	}
}

/* --------------------------------------------
 *                           gNav
 * -------------------------------------------- */

#navSlider {
	display: flex;
	flex-flow: column-reverse nowrap;
	margin: 0;
	padding: 0;
}
#gNavArea {
	background: #d6182f;
	margin: 0;
	padding: 0;
}
#gNav {
	width: 1000px;
	margin: 0 auto;
	padding: 0;
}
#gNav ul {
	display: flex;
	justify-content: space-between;
	margin: 0;
	padding: 0;
}
#gNav ul li {
	height: 48px;
	margin: 0;
	padding: 0;
}
.gNavHome {
	margin: 6px 0 0 0;
	padding: 0;
}
.gNavList {
	margin: 0;
	padding: 0;
}
.gNavList p {
	margin: 16px 0 0 0;
	padding: 0;
}
.gNavList a:hover ,
.gNavList a:hover img {
	opacity: 1;
	filter: alpha(opacity=100);
}
.gNavList a {
	background: url(../images/common/icon_gnav.png) no-repeat top left;
	color: #fff;
	font-size: 16px;
	margin: 0;
	padding: 6px 0 5px 25px;
}
.gNavList a:hover {
	background: url(../images/common/icon_gnav.png) no-repeat top left;
	width: 100%;
	margin: 0;
	padding: 6px 0 5px 25px;
	border-bottom: 4px solid #ffc600;
}

/*--- gNav dropdown ----------------------------------------------------------------- */
#gNav > ul > li {
	position:relative;
}
#gNav > ul > li > ul {
	position: absolute;
	z-index: 2;
	left: 0;
	top: 58px;
	background: #fff;
	width: 190px;
	text-align: left;
	border: 6px solid #d6182f;
	border-radius: 6px;
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	-o-border-radius: 6px;
	-ms-border-radius: 6px;
	display: block;
	-webkit-transform-style:preserve-3d;/* ちらつきを防ぐ */
	opacity: 0;
	transform:scale(0);
	-webkit-transform:scale(0);
	-moz-transform:scale(0);
	-ms-transform:scale(0);
	-o-transform:scale(0);
	/* IE7,8 */
	display:none\9;
	transition:opacity 0.2s ease 0.3s, transform 0s ease 0.5s;
	-webkit-transition:opacity 0.2s ease 0.3s, -webkit-transform 0s ease 0.5s;
	-moz-transition:opacity 0.2s ease 0.3s, -moz-transform 0s ease 0.5s;
	-ms-transition:opacity 0.2s ease 0.3s, -ms-transform 0s ease 0.5s;
	-o-transition:opacity 0.2s ease 0.3s, -o-transform 0s ease 0.5s;
}
#gNav > ul > li:nth-last-of-type(2) > ul {
	left: -100px;
}
#gNav > ul > li:hover > ul {
	z-index: 3;
	opacity: 1;
	transform:scale(1);
	-webkit-transform:scale(1);
	-moz-transform:scale(1);
	-ms-transform:scale(1);
	-o-transform:scale(1);
	/* IE7,8 */
	display:block\9;
	transition:opacity 0.4s ease 0s, transform 0s ease 0s;
	-webkit-transition:opacity 0.4s ease 0s, -webkit-transform 0s ease 0s;
	-moz-transition:opacity 0.4s ease 0s, -moz-transform 0s ease 0s;
	-ms-transition:opacity 0.4s ease 0s, -ms-transform 0s ease 0s;
	-o-transition:opacity 0.4s ease 0s, -o-transform 0s ease 0s;
}
#gNav > ul > li > ul ,
#gNav > ul > li > ul > li > ul {
	padding: 5px;
}
#gNav > ul > li > ul > li ,
#gNav > ul > li > ul > li > ul > li {
	all: initial;
	display: block;
}
#gNav > ul > li > ul > li > a ,
#gNav > ul > li > ul > li > ul > li > a {
	color: #333;
	line-height: 1.3;
	margin: 0;
	padding: 5px 5px 5px 15px;
	font-size: 13px;
	display: block;
	border-radius: 4px;
}
#gNav > ul > li > ul > li > a:hover ,
#gNav > ul > li > ul > li > > ul > li > a:hover {
	margin: 0;
	padding: 5px 5px 5px 15px;
	color: #333;
}
#gNav > ul > li > ul > li > a ,
#gNav > ul > li > ul > li  > ul > li > a {
	background: url(../images/common/icon_triangle_gray.png) no-repeat 5px 8px;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2),
       only screen and (   min--moz-device-pixel-ratio: 2),
       only screen and (     -o-min-device-pixel-ratio: 2/1),
       only screen and (        min-device-pixel-ratio: 2),
       only screen and (                min-resolution: 192dpi),
       only screen and (                min-resolution: 2dppx) {
#gNav > ul > li > ul > li > a ,
#gNav > ul > li > ul > li > ul > li >  a{
	background: url(../images/common/icon_triangle_gray@2x.png) no-repeat 5px 8px;
	background-size: 7px 8px;
	}
}
#gNav > ul > li > ul > li > a:hover ,
#gNav > ul > li > ul > li > ul > li >  a:hover {
	background: #ffc600 url(../images/common/icon_triangle_gray.png) no-repeat 5px 8px;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2),
       only screen and (   min--moz-device-pixel-ratio: 2),
       only screen and (     -o-min-device-pixel-ratio: 2/1),
       only screen and (        min-device-pixel-ratio: 2),
       only screen and (                min-resolution: 192dpi),
       only screen and (                min-resolution: 2dppx) {
#gNav > ul > li > ul > li > a:hover ,
#gNav > ul > li > ul > li > ul > li >  a:hover {
	background: #ffc600 url(../images/common/icon_triangle_gray@2x.png) no-repeat 5px 8px;
	background-size: 7px 8px;
	}
}

/*--- gNav dropdown mago ----------------------------------------------------------------- */
#gNav > ul > li > ul > li {
	position:relative;
}
#gNav > ul > li > ul > li > ul {
	position: absolute;
	z-index: 4;
	left: 204px;
	top: -11px;
	background: #fff;
	width: 190px;
	text-align: left;
	border: 6px solid #d6182f;
	border-radius: 6px;
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	-o-border-radius: 6px;
	-ms-border-radius: 6px;
	display: block;
	-webkit-transform-style:preserve-3d;/* ちらつきを防ぐ */
	opacity: 0;
	transform:scale(0);
	-webkit-transform:scale(0);
	-moz-transform:scale(0);
	-ms-transform:scale(0);
	-o-transform:scale(0);
	/* IE7,8 */
	display:none\9;
	transition:opacity 0.2s ease 0.3s, transform 0s ease 0.5s;
	-webkit-transition:opacity 0.2s ease 0.3s, -webkit-transform 0s ease 0.5s;
	-moz-transition:opacity 0.2s ease 0.3s, -moz-transform 0s ease 0.5s;
	-ms-transition:opacity 0.2s ease 0.3s, -ms-transform 0s ease 0.5s;
	-o-transition:opacity 0.2s ease 0.3s, -o-transform 0s ease 0.5s;
}
#gNav > ul > li:nth-last-of-type(2) > ul > li > ul {
	left: -226px;
}
#gNav > ul > li > ul > li:hover > ul {
	z-index: 5;
	opacity: 1;
	transform:scale(1);
	-webkit-transform:scale(1);
	-moz-transform:scale(1);
	-ms-transform:scale(1);
	-o-transform:scale(1);
	/* IE7,8 */
	display:block\9;
	transition:opacity 0.4s ease 0s, transform 0s ease 0s;
	-webkit-transition:opacity 0.4s ease 0s, -webkit-transform 0s ease 0s;
	-moz-transition:opacity 0.4s ease 0s, -moz-transform 0s ease 0s;
	-ms-transition:opacity 0.4s ease 0s, -ms-transform 0s ease 0s;
	-o-transition:opacity 0.4s ease 0s, -o-transform 0s ease 0s;
}


.slicknav_menu {
	display: none;
}

@media screen and (max-width: 640px) {
.js #menu {
	display: none;
	}
 .js .slicknav_menu {
	display: block;
	}
}

@media all and (min-width: 641px) and (max-width: 1000px) {
#gNav {
	width: 100%;
	margin: 0;
	padding: 0 1em;
	box-sizing: border-box;
	}
#headerLogoIndex {
	max-width: 33%;
	margin: 0 2% 0 0;
	padding: 1em 0 0 1em;
	box-sizing: border-box;
	}
#headerLogoIndex img {
	max-width: 100%;
	width: 100%;
	height: auto;
	}
#headerLogo {
	max-width: 33%;
	margin: 0 2% 0 0;
	padding: 1em 0 0 1em;
	box-sizing: border-box;
	}
#headerLogo img {
	max-width: 100%;
	width: 100%;
	height: auto;
	}
}

@media all and (min-width: 768px) and (max-width: 1000px) {
.gNavList a {
	margin: 0;
	padding: 6px 0 5px 25px;
	}
.gNavList a:hover {
	background: url(../images/common/icon_gnav.png) no-repeat top left;
	width: 100%;
	margin: 0;
	padding: 6px 0 5px 25px;
	border-bottom: 4px solid #ffc600;
	}
}

@media all and (min-width: 641px) and (max-width: 767px) {
.gNavList a {
	font-size: 12px;
	margin: 0;
	padding: 6px 0 5px 25px;
	}
.gNavList a:hover {
	background: url(../images/common/icon_gnav.png) no-repeat top left;
	width: 100%;
	margin: 0;
	padding: 6px 0 5px 25px;
	border-bottom: 4px solid #ffc600;
	}
}


@media screen and (max-width: 640px) {
#headerLogoIndex {
	position: relative;
	margin: 0.9em 0 0 1em;
	padding: 0;
	}
#headerLogoIndex img {
	max-width: 230px;
	width: 100%;
	}
#headerLogo {
	position: relative;
	margin: 0.9em 0 0 1em;
	padding: 0;
	}
#headerLogo img {
	max-width: 230px;
	width: 100%;
	}
#navSlider {
	display: flex;
	flex-flow: column nowrap;
	margin: 0;
	padding: 0;
	}
#gNavArea {
	background: none;
	margin: 0;
	padding: 0;
	}
#gNav {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	}
#gNav ul {
	display: block;
	margin: initial;
	padding: initial;
	}
#gNav ul li {
	height: initial;
	margin: initial;
	padding: initial;
	}
.gNavHome {
	margin: initial;
	padding: initial;
	}
.gNavList {
	margin: initial;
	padding: initial;
	}
.gNavList p {
	margin: initial;
	padding: initial;
	}
.gNavList a:hover ,
.gNavList a:hover img {
	opacity: 1;
	filter: alpha(opacity=100);
	}
.gNavList a {
	background: initial;
	color: initial;
	font-size: initial;
	margin: initial;
	padding: initial;
	}
.gNavList a:hover {
	background: initial;
	width: initial;
	margin: initial;
	padding: initial;
	border-bottom: initial;
	}
}

/* --------------------------------------------
 *                        contents
 * -------------------------------------------- */

#contents {
	background: #62d2e6 url(../images/common/bg_contents.png) repeat-x bottom center;
	width: 100%;
	margin: 0;
	padding: 0;
}
#index #contentsInner {
	width: 1000px;
	text-align: left;
	margin: 0 auto;
	padding: 40px 0 0 0;
}
#second #contentsInner {
	width: 1000px;
	text-align: left;
	margin: 0 auto;
	padding: 20px 0 0 0;
}

@media all and (min-width: 641px) and (max-width: 1000px) {
#index #contentsInner {
	width: 100%;
	margin: 0;
	padding: 2em 1.5em 1.5em 1.5em;
	box-sizing: border-box;
	}
#second #contentsInner {
	width: 100%;
	margin: 0;
	padding: 0.8em 1.5em 1.5em 1.5em;
	box-sizing: border-box;
	}
}
@media all and (max-width: 640px) {
#index #contentsInner {
	width: 100%;
	margin: 0;
	padding: 0 1.5em 1.5em 1.5em;
	box-sizing: border-box;
	}
#second #contentsInner {
	width: 100%;
	margin: 0;
	padding: 0.8em 0.5em 1.5em 0.5em;
	box-sizing: border-box;
	}
}

/* --------------------------------------------
 *                     main+side
 * -------------------------------------------- */

#main {
	float: left;
	width: 720px;
	margin: 0 40px 0 0;
	padding: 0;
}
#index #mainInner {
	margin: 0;
	padding: 0;
}
#second #mainInner {
	background: #fff;
	margin: 0;
	padding: 20px;
	border-radius: 6px;
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	-o-border-radius: 6px;
	-ms-border-radius: 6px;
	box-shadow:4px 4px 0 0 rgba(0,0,0,0.1);
	-moz-box-shadow:4px 4px 0 0 rgba(0,0,0,0.1);
	-webkit-box-shadow:4px 4px 0 0 rgba(0,0,0,0.1);
}
#side {
	float: left;
	width: 240px;
	margin: 0;
	padding: 0;
}

#side > div {
	margin: 0 0 30px 0;
}

@media all and (min-width: 641px) and (max-width: 1000px) {
#main {
	float: left;
	width: 67%;
	margin: 0 3% 0 0;
	padding: 0;
	}
#side {
	float: left;
	width: 30%;
	margin: 0;
	padding: 0;
	}
}

@media screen and (max-width: 640px) {
#main {
	float: none;
	width: 100%;
	margin: 0 0 2em 0;
	padding: 0;
	}
#side {
	float: none;
	width: 100%;
	margin: 0;
	padding: 0;
	}
#side > div {
	margin: 0 0 1em 0;
	}
}

/* --------------------------------------------
 *                         Footer
 * -------------------------------------------- */

/*--- footerRace ----------------------------------------------------------------- */

#footerRace {
	background: url(../images/common/footer_race.png) no-repeat bottom center;
	height: 220px;
	margin: 0;
	padding: 0;
}

@media screen and (max-width: 640px) {
#footerRace {
	background: url(../images/common/footer_race.png) no-repeat bottom center;
	background-size: 1000px 68px;
	height: 110px;
	margin: 0;
	padding: 0;
	}
}

/*--- footer ----------------------------------------------------------------- */

#footer {
	background: url(../images/common/bg_footer.png) repeat top center;
	width: 100%;
	text-align: center;
	margin: 0;
	padding: 40px 0 0 0;
}
#footerInner {
	width: 1000px;
	margin: 0 auto;
	padding: 0;
}

@media screen and (max-width: 1000px) {
#footer {
	text-align: center;
	margin: 0;
	padding: 1em 0 0 0;
	}
#footerInner {
	width: 100%;
	margin: 0;
	padding: 1.5em;
	box-sizing: border-box;
	}
}

/*--- footerMenu ----------------------------------------------------------------- */

#footerMenu {
	margin: 0 0 20px 0;
	padding: 0 0 20px 0;
	border-bottom: 1px solid #fff;
}
.footerLogo {
	float: left;
	width: 336px;
	text-align: left;
	margin: 0;
	padding: 0;
}
.footerLogo img {
	width: 280px;
	height: auto;
	margin: 0;
	padding: 0;
}
.footerMenuBox {
	float: left;
	width: 664px;
	margin: 5px 0 0 0;
	padding: 0;
}

@media all and (min-width: 641px) and (max-width: 1000px) {
#footerMenu {
	margin: 0 0 1em 0;
	padding: 0 0 1em 0;
	}
.footerLogo {
	width: 25%;
	text-align: left;
	margin: 0;
	padding: 0;
	}
.footerLogo img {
	width: 90%;
	height: auto;
	margin: 0;
	padding: 0;
	}
.footerMenuBox {
	width: 75%;
	margin: 5px 0 0 0;
	padding: 0;
	}
}

@media all and (max-width: 640px) {
#footerMenu {
	margin: 0 0 1em 0;
	padding: 0;
	border-bottom: none;
	}
.footerLogo {
	float: none;
	width: 100%;
	text-align: center;
	margin: 0 auto;
	padding: 0;
	}
.footerLogo img {
	max-width: 280px;
	height: auto;
	margin: 0;
	padding: 0;
	}
.footerMenuBox {
	float: none;
	width: 100%;
	margin: 1em 0 0 0;
	padding: 0;
	}
}

/*--- footerMenu01 ----------------------------------------------------------------- */

.footerMenu01 {
	margin: 0;
	padding: 0 0 30px 0;
}
.footerMenu01 ul {
	display: flex;
	justify-content: space-between;
}
.footerMenu01 ul li {
	width: 150px;
}
.footerMenu01 ul li a ,
.footerMenu01 ul li a:hover {
	text-align: center;
	font-size: 16px;
	margin: 0 auto;
	padding: 4px 0 2px 0;
	border: 1px solid #fff;
	border-radius: 6px;
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	-o-border-radius: 6px;
	-ms-border-radius: 6px;
	display: block;
}
.footerMenu01 ul li a {
	color: #fff;
}
.footerMenu01 ul li a:hover {
	background: #fff;
	color: #333;
}

@media all and (min-width: 641px) and (max-width: 1000px) {
.footerMenu01 {
	margin: 0;
	padding: 0 0 1.5em 0;
	}
.footerMenu01 ul {
	display: flex;
	justify-content: space-between;
	}
.footerMenu01 ul li {
	width: 33%;
	margin: 0 1% 0 0;
	}
.footerMenu01 ul li a ,
.footerMenu01 ul li a:hover {
	font-size: 14px;
	}
}

@media all and (max-width: 640px) {
.footerMenu01 {
	margin: 0;
	padding: 0 0 1em 0;
	}
.footerMenu01 ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	}
.footerMenu01 ul li {
	width: 48%;
	margin: 0 0 0.5em 0;
	}
.footerMenu01 ul li a ,
.footerMenu01 ul li a:hover {
	font-size: 12px;
	}
}

/*--- footerMenu02 ----------------------------------------------------------------- */

.footerMenu02 {
	margin: 0;
	padding: 0;
}
.footerMenu02 ul {
	display: flex;
	justify-content: space-between;
}
.footerMenu02 ul li {
}
.footerMenu02 ul li a ,
.footerMenu02 ul li a:hover {
	font-size: 12px;
	margin: 0;
	padding: 0;
	display: block;
}
.footerMenu02 ul li a {
	color: #fff;
}
.footerMenu02 ul li a:hover {
	color: #d6182f;
}

@media all and (min-width: 641px) and (max-width: 767px) {
.footerMenu02 ul {
	display: flex;
	flex-wrap: wrap;
	text-align: left;
	}
.footerMenu02 ul li {
	width: 33%;
	}
.footerMenu02 ul li:nth-of-type(4) {
	width: 67%;
	}
.footerMenu02 ul li:nth-of-type(5) {
	width: 33%;
	}
}

@media all and (max-width: 640px) {
.footerMenu02 ul {
	display: flex;
	flex-direction: column;
	text-align: left;
	}
.footerMenu02 ul li {
	width: 100%;
	}
}

/*--- footerNav ----------------------------------------------------------------- */

#footerNav {
	text-align: left;
	margin: 0 0 20px 0;
	padding: 0;
}
.footerNavList {
	margin: 0;
	padding: 0;
}
.footerNavList ul {
	display: flex;
	justify-content: space-around;
}
.footerNavList ul li {
	background: url(../images/common/icon_triangle.png) no-repeat 0 6px;
	background-size: 7px 10px;
}
.footerNavList ul > li {
	width: 24%;
	margin: 0 1% 0 0;
}

.footerNavList ul li p {
	margin: 0 0 1em 0;
}
.footerNavList ul li ul li p {
	margin: 0 0 0.5em 0;
}
.footerNavList ul li ul {
	display: flex;
	flex-direction: column;
	margin: 0 0 0 6px;
	padding-left: 0.6em;
}
.footerNavList ul li ul > li {
	width: 100%;
}
.footerNavList ul li ul li {
	background: none;
	line-height: 1.2;
	margin: 0 0 0.3em 0;
	padding-left: 0.4em;
	position: relative;
}
.footerNavList ul li ul li:before {
    content:"・";
    position: absolute;
    float: left;
    font-size: 10px;
    display: block;
    color: #fff;
    margin: 0;
    padding: 0;
    top: 3px;
    left: -0.6em;
}
.footerNavList ul li a ,
.footerNavList ul li ul li a {
	color: #fff;
}
.footerNavList ul li a:hover ,
.footerNavList ul li ul li a:hover {
	color: #d6182f;
}
.footerNavList ul li a ,
.footerNavList ul li a:hover {
	font-size: 16px;
	margin: 0 0 1.5em 0;
	padding: 0 0 0 12px;
}
.footerNavList ul li ul li a ,
.footerNavList ul li ul li a:hover {
	font-size: 12px;
	margin: 0;
	padding: 0;
}

@media all and (min-width: 641px) and (max-width: 768px) {
#footerNav {
	margin: 0 0 1em 0;
	}
.footerNavList ul {
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	}
.footerNavList ul > li {
	width: 32%;
	margin: 0 0.5% 1em 0;
	}
.footerNavList ul li:nth-of-type(4) {
	width: 32%;
	}
}

@media screen and (max-width: 640px) {
#footerNav {
	text-align: left;
	margin: initial;
	padding: initial;
	}
.footerNavList ul {
	display: initial;
	justify-content: initial;
	}
.footerNavList ul li {
	background: initial;
	background-size: initial;
}
.footerNavList ul > li {
	width: initial;
	margin: initial;
}
.footerNavList ul li:nth-of-type(4) {
	width: initial;
}
.footerNavList ul li p {
	margin: initial;
}
.footerNavList ul li ul {
	display: initial;
	flex-direction: initial;
	margin: initial;
	padding-left: initial;
}
.footerNavList ul li ul > li {
	width: initial;
}
.footerNavList ul li ul li {
	background: none;
	line-height: initial;
	margin: initial;
	padding: initial;
	position: initial;
}
.footerNavList ul li ul li:before {
    content:"";
    position: initial;
    float: initial;
    font-size: initial;
    display: initial;
    color: initial;
    margin: initial;
    padding: initial;
    top: initial;
    left: initial;
}
.footerNavList ul li a ,
.footerNavList ul li ul li a {
	color: #fff;
}
.footerNavList ul li a:hover ,
.footerNavList ul li ul li a:hover {
	color: #fff;
}
.footerNavList ul li a ,
.footerNavList ul li a:hover {
	font-size: 14px;
	margin: 0;
	padding: 0.5em 0.5em 0.3em 0.5em;
}
.footerNavList ul li ul li a ,
.footerNavList ul li ul li a:hover {
	font-size: 12px;
	padding: 0.5em 0.5em 0.3em 1.5em;
}

/*ACCORDION*/
div.footerAc {
  width: 100%;
}
div.footerAc > ul > li > a {
  display: block;
  text-decoration: none;
  border-top: 1px solid #fff;
  cursor: pointer;
  position: relative;
}
div.footerAc > ul > li > a:hover {
	background: #888;
}
div.footerAc > ul > li > a:after, div.footerAc > ul > li > a.active:after{
  font-size: 12px;
  position: absolute;
  right: 12px;
  top: 11px;
  color: #fff;
}
div.footerAc > ul > li > a:after{
  content: "▼";
}
div.footerAc > ul > li > a.active:after{
  content: "▲";
}
div.footerAc > ul > li > ul {
  display: none;
}
div.footerAc > ul > li > ul > li > a {
	display: block;
	color: #fff;
	border-top: 1px solid #fff;
	position: relative;
}
div.footerAc > ul > li > ul > li > a:hover {
	color: #fff;
	background-color: #888;
}
}

/*--- footerCopy ----------------------------------------------------------------- */

#footerCopy {
	clear: both;
	background: #fff;
	font-size: 12px;
	padding: 0;
}
#footerCopy p {
	font-size: 10px;
	margin: 0;
	padding: 0.5em 0 0.3em 0;
}

/*--- pageTop ----------------------------------------------------------------- */

#pageTop {
	position: fixed;
	bottom: 10px;
	right: 10px;
	display: block;
	z-index: 1000;
}
#pageTop a {
	width: 50px;
	height: 50px;
	display: block;
	padding: 0;
}

@media all and (min-width: 641px) and (max-width: 1000px) {
#pageTop {
	bottom: 5px;
	right: 5px;
	}
}

@media screen and (max-width: 640px) {
#pageTop {
	bottom: 5px;
	right: 5px;
	filter:alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
	}
#pageTop a {
	width: 40px;
	height: 40px;
	}
}
