@charset 'utf-8';

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	color: #000;
	font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック  Medium', meiryo, sans-serif;
	line-height: 1.8;
	font-size: 16px;
	text-align: center;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
a:link,
a:visited {
	color: #00a0e9;
}
a:hover,
a:active {
}

img{
	max-width: 100%;
}

.center{
	text-align: center;
}
.pb20{
}
.pb30{
	padding-bottom: 30px;
}

/* --------------------------------
	#header
----------------------------------- */
#header{
	height: 100px;
	margin-bottom: 40px;
	border-bottom: solid 1px #ccc;
	overflow: hidden;
	position: relative;
}

#header h1{
	position: absolute;
	top: 20px;
	left: 20px;
	width: 200px;
}
#header h1 img{
	width: 100%;
}

#navigation {
	position: absolute;
	top:30px;
	right: 20px;
}
#navigation li{
	display: inline-block;
	text-align: center;
}
#navigation li a:link,
#navigation li a:visited{
	color: #00a0e9;
	text-decoration: none;
	padding: 10px 20px;
	display: block;
}
#navigation li a:hover,
#navigation li a:active{
	background: #00a0e9;
	color: #fff;
}

/* --------------------------------
	#wrapper,#contents
----------------------------------- */
#wrapper{
	text-align: left;
}
.section {
	width: 1024px;
	margin: 0 auto 50px;
	overflow: hidden;
}
.contents-title{
	color: #00a0e9;
	padding: 10px 0 20px;
	font-weight: bold;
	text-align: center;
	font-size: 2.25rem;
}
.sub-title{
	border-left: solid 8px #00a0e9;
	font-size: 28px;
	padding: 5px 0 5px 20px;
	margin-bottom: 30px;
}

/* --------------------------------
	#breadcrumbs
----------------------------------- */
#breadcrumbs {
	overflow: hidden;
	padding: 10px 0;
	margin-bottom: 20px;
	border-bottom: solid 1px #700;
}
#breadcrumbs li {
	float: left;
	padding-right: 10px;
}
#breadcrumbs .icon-home,
#breadcrumbs .icon-prev {
	display: none;
}
#breadcrumbs a {
	color: #700;
	text-decoration: underline;
}
#breadcrumbs li+li:before {
	padding: 8px;
	color: #000;
	content: '>';
}
#breadcrumbs li span{
	display: inline-block;
}

/* ------------------------------------
	footer
-------------------------------------- */
footer{
	background: #00a0e9;
	padding: 20px 0;
	color: #fff;
}
footer .inner{
	width: 1024px;
	margin: 0 auto;
	overflow: hidden;
	text-align: left;
}
footer a{
	color: #fff;
}
.copyright{
	padding: 10px;
	text-align: center;
}

@media screen and (max-width: 1024px){
	#header{
		height: 60px;
		border-bottom: solid 1px #ccc;
		overflow: hidden;
		position: relative;
	}
	#header h1 {
		position: static;
		top: auto;
		left: auto;
		text-align: center;
		margin: 10px auto 0;
		width: 140px;
	}
	#navigation {
		position: fixed;
		top: 0;
		right: 0;
	}
	#navigation li{
		display:block;
		text-align: left;
	}
	#breadcrumbs li {
		display: none;
	}
	#breadcrumbs li+li:before {
		content: none;
	}
	#breadcrumbs li .icon-home:before{
		content: "\e902";
	}
	#breadcrumbs li .icon-prev:before{
		content: "\ea40";
	}
	#breadcrumbs .icon-home,
	#breadcrumbs .icon-prev{
		display: inline-block;
	}
	#breadcrumbs a {
		color: #700;
		text-decoration: none;
	}
	.section{
		width: 96%;
		margin: 0 auto 40px;
	}
	footer .inner{
		width: 96%;
		margin: 0 auto;
	}
}

@media screen and (max-width: 480px){
	body {
		font-size: 14px;
	}
	#wrapper{
		margin: 0 auto 20px;
	}
	.section {
		margin-bottom: 20px;
	}
	.section h2{
		font-size: 1.429rem;
	}
}


/* ------------------------------------
	mobile-menu
-------------------------------------- */

.mobile-menu {
  top: 15px;
  left: 10px;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  align-items: center;
  position: absolute;
  background: #fff;
	z-index: 10000;
}

@media only screen and (min-width: 1024px) {
  .mobile-menu {
    display: none !important;
  }
}
.menu-active {
	position: fixed;
}

.mobile-menu .menu-btn {
  display: block;
  height: 26px;
  width: 26px;
  -webkit-transform: translateZ(0) rotate(0deg);
  -ms-transform: translateZ(0) rotate(0deg);
  transform: translateZ(0) rotate(0deg);
  -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.4, 0.01, 0.165, 0.99);
  transition: transform 0.4s cubic-bezier(0.4, 0.01, 0.165, 0.99);
}

.mobile-menu svg {
  position: absolute;
  left: 0;
  top: 0;
  -webkit-transform: translateZ(0) rotate(0deg);
  -ms-transform: translateZ(0) rotate(0deg);
  transform: translateZ(0) rotate(0deg);
  fill: #333;
  -webkit-transition: -webkit-transform 0.25s cubic-bezier(0.4, 0.01, 0.165, 0.99);
  transition: transform 0.25s cubic-bezier(0.4, 0.01, 0.165, 0.99);
  font-size: 18px;
}

.mobile-menu rect {
  left: 0;
  top: 0;
  -webkit-transition: -webkit-transform 0.2s 0.2s;
  transition: transform 0.2s 0.2s;
}

.mobile-menu .top rect {
  -webkit-transform: translate3d(0, -8px, 0);
  -ms-transform: translate3d(0, -8px, 0);
  transform: translate3d(0, -8px, 0);
}

.mobile-menu .bottom rect {
  -webkit-transform: translate3d(0, 8px, 0);
  -ms-transform: translate3d(0, 8px, 0);
  transform: translate3d(0, 8px, 0);
}

.mobile-menu .toggle-active.button {
  -webkit-transform: translateZ(0) rotate(90deg);
  -ms-transform: translateZ(0) rotate(90deg);
  transform: translateZ(0) rotate(90deg);
  -webkit-transition: -webkit-transform 0.4s cubic-bezier(0, 0.01, 0.165, 0.99);
  transition: transform 0.4s cubic-bezier(0.4, 0.01, 0.165, 0.99);
}

.mobile-menu .toggle-active svg {
  -webkit-transition: -webkit-transform 0.25s 0.2s cubic-bezier(0.4, 0.01, 0.165, 0.99);
  transition: transform 0.25s 0.2s cubic-bezier(0.4, 0.01, 0.165, 0.99);
  -webkit-transform: translateZ(0) rotate(0);
  -ms-transform: translateZ(0) rotate(0);
  transform: translateZ(0) rotate(0);
}

.mobile-menu .toggle-active .top {
  -webkit-transform: translateZ(0) rotate(45deg);
  -ms-transform: translateZ(0) rotate(45deg);
  transform: translateZ(0) rotate(45deg);
}

.mobile-menu .toggle-active .middle {
  opacity: 0;
  -webkit-transition: all 0.2s cubic-bezier(0.4, 0.01, 0.165, 0.99);
  transition: all 0.2s cubic-bezier(0.4, 0.01, 0.165, 0.99);
}
.mobile-menu .toggle-active .bottom {
  -webkit-transform: translateZ(0) rotate(-45deg);
  -ms-transform: translateZ(0) rotate(-45deg);
  transform: translateZ(0) rotate(-45deg);
}
.mobile-menu .toggle-active rect {
  -webkit-transition: -webkit-transform 0.2s;
  transition: transform 0.2s;
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

@media screen and (max-width: 1024px){
.nav-menu {
  position: fixed;
  background-color: #FFF;
  top: 0;
  left: -9999px;
  width: 100%;
  height: 0;
  visibility: hidden;
  opacity: 0;
  z-index: -1;
  -webkit-transition: opacity .35s, visibility .35s, height .35s;
  padding: 55px 0 40px;
  background: #FFF;
  margin: 0 auto 0;
  transform: translateZ(0);
  }
}
.nav-active {
	left: 0;
	opacity: 1;
	z-index: 9999;
	visibility: visible;
	height: 100%;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
}
