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

@media only screen and (max-width: 640px) {	

	div.inner {
		width: 100%;
	}
	
	span.resp {
		display: none;
	}
	
	/* -------------------------------------------------------- header */
	
	header {
		float: none;
		width: 100%;
		margin-bottom: 10px;
	}
	
	header div.fl {
		float: none;
		width: 100%;
	}
	
	header div.fr {
		display: none;
	}
	
	header div.logo {
		width: 100%;
		box-sizing: border-box;
		position: relative;
		padding-left: 50px;
	}
	
	header div.logo div.title {
		font-size: 100%;
		font-weight: bold;
		line-height: 1.5;
	}
	
	header div.logo img.minilogo {
		width: 68px;
		height: 26px;
		padding-left: 0.2em;
	}	
	
	header div.logo:before {
		content: "";
		background: url(../img/logo.png) no-repeat;
		background-size: 40px 40px;
		width: 40px;
		height: 40px;
		display: block;
		position: absolute;
		left: 0;
	}	
	
	header div.logo span.small {
		font-size: 72%;
		font-weight: bold;
		padding-right: 1em;
	}
	
	header div.logo span.en {
		font-size: 72%;
		font-weight: bold;
		font-family: "Century Gothic","Droid Serif","游ゴシック",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",Meiryo,"メイリオ",serif;
		color: #8d8d8f;
	}
	
	/* -------------------------------------------------------- header nav */

	header nav {
		width: 100%;
		background: #fff;
	}
	
	header nav div.inner {
		width: 100%;
		box-sizing: border-box;
		background: #fff;
		position: inherit;
		top: 0;
		left: 0;
		z-index: 9999;
	}
	
	header nav div.respMenu {
		display: block;
	}
	
	header nav div.respMenu div.title {
		display: block;
		background: #0444bf;
		color: #fff;
		font-weight: bold;
	}
	
	header nav div.respMenu ul.purpose li {
		float: left;
		width: 50%;
		box-sizing: border-box;
		border: 1px solid #ccc;
		position: relative;	
	}
	
	header nav div.respMenu ul.gnav li {
		border-bottom: 1px solid #ccc;		
	}
	
	header nav div.respMenu ul.purpose li:nth-child(1),
	header nav div.respMenu ul.purpose li:nth-child(2) {
		border-bottom: none;		
	}
	
	header nav div.respMenu ul.purpose li:nth-child(2),
	header nav div.respMenu ul.purpose li:nth-child(4) {
		border-left: none;		
	}

	header nav div.respMenu ul.purpose li a::before {
		border-color: transparent transparent transparent #343434;
		border-image: none;
		border-style: solid;
		border-width: 4px;
		box-sizing: border-box;
		content: "";
		height: 4px;
		left: 5px;
		position: absolute;
		top: 50%;
		width: 4px;
		margin-top: -4px
	}

	header nav {
		height: 0;
		overflow: hidden;
		transition: all 0.2s ease-in-out;
	}
		
	header nav.active {
		height: auto;
		border-top: 1px solid #eeeeee;
	}	
		
	header nav ul {
		display: block;
		width: 100%;
		margin: 0 auto;
	}
	
	header nav ul li {
		text-align: left;
		display: block;
		border: 1px solid #ccc;
		border-top: none;
	}
	
	header nav ul li.home {
		display: none;
	}
	
	header nav ul li a {
		display: block;
		text-align: left;
		padding: 1em;
		width: 100%;
		box-sizing: border-box;
		font-weight: bold;
		color:  #343434;
		position: relative;
		font-size: 100%;
	}
	
	header nav ul.gnav li a::after {
		border-right: 3px solid #0a3cc3;
		border-top: 3px solid #0a3cc3;
		content: "";
		height: 5px;
		margin-top: -5px;
		position: absolute;
		right: 10px;
		top: 50%;
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		transform: rotate(45deg);
		width: 5px;	
	}	
	
	header nav ul li a:hover {
		background: #f2f2f2;	
	}

	/* -------------------------------------------------------- menuButton */

	header div.menuButton {
		display: block;
		position: relative;
		width: 40px;
		height: 30px;
		margin: 0 auto;
	}
	
	header div.menuButton.active {
		margin-bottom: 1em;
	}

	header div.menuButton span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;	
		position: absolute;
		left: 0;
		width: 100%;
		height: 6px;
		background-color: #0a3cc3;
	}

	header div.menuButton span:nth-of-type(1) {
		top: 0;
	}
	
	header div.menuButton span:nth-of-type(2) {
		top: 12px;
	}
	
	header div.menuButton span:nth-of-type(3) {
		bottom: 0;
	}
	
	header div.menuButton.active span:nth-of-type(1) {
		-webkit-transform: translateY(12px) rotate(-45deg);
		-moz-transform: translateY(12px) rotate(-45deg);
		transform: translateY(12px) rotate(-45deg);
	}
	
	header div.menuButton.active span:nth-of-type(2) {
		opacity: 0;
	}
	
	header div.menuButton.active span:nth-of-type(3) {
		-webkit-transform: translateY(-12px) rotate(45deg);
		-moz-transform: translateY(-12px) rotate(45deg);
		transform: translateY(-12px) rotate(45deg);
	}
	
	/* ie9 */
	
	html.ie9 header div.menuButton {		
		background: url(../img/menubutton.png) no-repeat;
		background-size: 40px 30px;
		background-position: center;
		cursor: pointer;
		width: 40px;
		height: 30px;
		display: block;
		position: relative;
		width: 40px;
		height: 30px;
	}

	html.ie9 header div.menuButton.active {
		background: url(../img/menubutton_active.png) no-repeat;
		background-size: 40px 30px;
		background-position: center;
	}
	
	html.ie9 header div.menuButton span {
		display: none;
	}
	
	/* -------------------------------------------------------- section */
	
	div.mainVisual div.inner {
	}
	
	/* -------------------------------------------------------- section */

	section {
		background: #ffffff;
		margin-bottom: 40px;
	}
	
	section div.title h2 {
		font-size: 129%; /* 17px */
	}
	
	/* -------------------------------------------------------- div.purposeMenu */
		
	div.purposeMenu {
		margin-bottom: 40px;
	}
	
	div.purposeMenu ul li {
		width: 50%;
		border: 1px solid #ccc;
		box-sizing: border-box;
		float: left;
	}
	
	div.purposeMenu ul li span {
		font-size: 150%;
	}
	
	div.purposeMenu ul li:nth-child(1),
	div.purposeMenu ul li:nth-child(2) {
		border-bottom: none;
	}
	
	div.purposeMenu ul li:nth-child(2),
	div.purposeMenu ul li:nth-child(4) {
		border-left: none;
	}
	
	div.purposeMenu ul li a {
		display: block;
		text-align: left;
		padding: 1em;
		font-size: 100%;
		font-weight: bold;
	
		height: 49px;
		box-sizing: border-box;	
	}	
	
	div.purposeMenu ul li a::before {
		border-color: transparent transparent transparent #343434;
		border-image: none;
		border-style: solid;
		border-width: 4px;
		box-sizing: border-box;
		content: "";
		height: 4px;
		left: 5px;
		position: absolute;
		top: 50%;
		width: 4px;
		margin-top: -4px
	}
	
	div.purposeMenu ul li.training a {
		font-size: 90%;
		min-height: 49px;
		box-sizing: border-box;
		padding: 0.5em 1em;
	}
	
	div.purposeMenu ul li.training a br.resp {
		display: block;
	}
	
	/* -------------------------------------------------------- section.list */
	
	section.list {
		padding: 0 15px;
	}
	
	section.list ul li {
		float: none;
		width: 100%;
		height: auto;
		overflow: hidden;
		margin: 0;
		padding: 0;
		border-top: 1px solid #c7c7c7;
		position: relative;
	}
	
	section.list ul li:last-child {
		border-bottom: 1px solid #c7c7c7;
	}
	
	section.list ul li::after {
		border-right: 4px solid #0a3cc3;
		border-top: 4px solid #0a3cc3;
		content: "";
		height: 8px;
		margin-top: -5px;
		position: absolute;
		right: 10px;
		top: 50%;
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		transform: rotate(45deg);

		width: 8px;
	}
	
	section.list ul li a {
		font-weight: bold;
		position: relative;
	}
	
	section.list ul li:last-child {
		margin-right: 0;
	}
	
	section.list ul li div.caption {
		position: relative;
		padding: 0 1em;
		text-align: left;
		display: table-cell;
		vertical-align: middle;
		background: #fff;
	}

	section.list ul li div.picture {
		height: 100px;
		width: 100px;
		overflow: hidden;
		display: table-cell;	
	}	

	section.list ul li div.picture img {		
		display: block;	
		width: 100px;	
	}	

	/* -------------------------------------------------------- section.topics */
	
	section.topics {
		float: none;
		width: 100%;
		padding: 0 15px;
		box-sizing: border-box;
	}
	
	/* -------------------------------------------------------- .pageTop */
	
	div.pageTop.responsive {
		color: #fff;
		font-weight: bold;
		font-family: "Century Gothic","Droid Serif","游ゴシック",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",Meiryo,"メイリオ",serif;
		display: block;
		background: #0a3cc3;
		text-align: center;
		border-top: 1px solid #343434;
	}
		
	div.pageTop.responsive a {
		color: #fff;
		display: block;
		padding: 1em 0;
		position: relative;
	}	
	
	/* -------------------------------------------------------- footer */
	
	/* footer.top */
	footer.top {
		border-top: 1px solid #c5c5c5;
		width: 100%;
		padding-top: 10px;
	}

	footer div.inner {
		width: 100%;
		box-sizing: border-box;
		padding: 10px 15px;
	}

	footer div.fl,
	footer div.fr {
		float: none;
	}

	footer div.logo {
		width: 100%;
		box-sizing: border-box;
		position: relative;
		padding-left: 50px;
	}
	
	footer div.logo div.title {
		font-size: 136%;
		font-weight: bold;
	}
	
	footer div.logo:before {
		content: "";
		background: url(../img/logo.png) no-repeat;
		background-size: 40px 40px;
		width: 40px;
		height: 40px;
		display: block;
		position: absolute;
		left: 0;
	}	
	
	footer div.logo span.small {
		font-size: 72%;
		font-weight: bold;
		padding-right: 1em;
	}
	
	footer div.logo span.en {
		font-size: 72%;
		font-weight: bold;
		font-family: "Century Gothic","Droid Serif","游ゴシック",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",Meiryo,"メイリオ",serif;
		color: #8d8d8f;
	}

	footer div.utility ul {
		display: block;
		border-bottom: 1px solid #c5c5c5;
		padding-top: 1em;
	}

	footer div.utility ul li {
		display: block;
	}
	
	footer div.utility ul li::before {
		content: "●";
		padding-right: 0.5em;
		color: #0a3cc3;
	}
	
	footer div.number {
		font-size: 250%;
		font-weight: bold;
	}
	
	footer div.copyright {
		text-align: left;
	}
	
	/* -------------------------------------------------------- contents */
	
	div.contents {
		width: 100%;
		margin: 0 auto;
	}	

	/* -------------------------------------------------------- aside */

	.topicPath {
		display: none;
	}
	
	div.contents {
		padding-top: 0;
	}
	
	div.contents div.main {
		width: 100%;
		float: none;
		padding: 0 15px;
		box-sizing: border-box; 
	}
	
	div.homeBack {
		background: #0a3cc3;
		display: block;
		border-bottom: none;
		text-align: inherit;
		display: inherit;
		width: 100%;
		font-size: 100%;
		padding: 0;
		border-bottom: 1px solid #d6d5d5;
	}
	
	div.homeBack ul {
		padding: 0;
		width: 100%;
		display: table;
	}

	div.homeBack ul li {
		display: table-cell;
	}

	div.homeBack ul li.top {
		width: 30%;
		text-align: center;
		background: #0a3cc3;
		font-weight: bold;
		border-right: 1px solid #d6d5d5;
		font-size: 200%;
		vertical-align: middle;
	}
	
	div.homeBack ul li.top a {
		color: #ffffff;
		padding: 1.5em 1em;
	}

	div.homeBack ul li.back a {		
		color: #fff;
		display: block;		
		padding: 1.5em 1em;
		text-decoration: none;
		font-weight: bold;
		position: relative;
		font-family: "Century Gothic","Droid Serif","游ゴシック",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",Meiryo,"メイリオ",serif;
	}
		
	div.categoryheader {
		padding-top: 40px;
		width: 100%;
	}
	
	div.categoryheader::after {		
		margin-left: 15px;
	}
	
	div.categoryheader div.headline {
		width: 100%;
		max-width: 350px;
	}
	
	div.categoryheader div.headline img {
		width: 100%;
		max-width: 350px;
	}
	
	div.categoryheader div.description {
		width: 100%;
	}

	div.categoryheader div.description img {
		width: 100%;
		max-width: 330px;
		margin: 0 auto;
	}

	div.categoryList {
		width: 100%;
		margin: 0 auto;
	}
	
	div.categoryList div.wrap {
		width: 100%;
		margin: 0 auto;
	}
	
	div.categoryList ul {
		width: 100%;
	}
	
	div.categoryList ul li {
		width: 100%;
		float: none;
		position: relative;
		border-left: none;
		border-right: none;
		margin: 0 auto;
	}
	
	div.categoryList div.article {
		padding: 20px 0;
	}
		
	div.categoryList div.article div.spot {
		float: none;
		display: table;
		margin: 0 auto 20px;
		width: 100%; 
	}	

	div.categoryList ul li div.spot span {
		display: table-cell;
		height: 250px;
		text-align: center;
		vertical-align: middle;
		max-width: 290px;
	}
	
	div.categoryList div.article div.spot img {		
		max-width: 290px;		
	}
	
	div.categoryList a div.article div.update {
		float: none;
		text-align: left;
	}
	
	div.categoryList a {
		position: relative;
    }
	
	div.categoryList.grid ul li {
		width: 48%;
		float: left;
		position: relative;
		border-left: none;
		border-right: none;
		margin: 0 2% 40px 0;
	}
	
	div.categoryList.grid ul li.last {
		margin-right: 2%;
	}
	
	div.categoryList.grid div.article div.spot {
		float: none;
		display: table;
		margin: 0 auto;
		width: 100%; 
	}	

	div.categoryList.grid ul li div.spot span {
		display: table-cell;
		text-align: center;
		vertical-align: middle;
	}
	
	div.categoryList.grid div.article div.spot img {		
		width: 100%;
		max-width: 100%;
		height: auto;
		max-height: inherit;		
	}
	
/* -------------------------------------------------------- aside */

	aside {
		display: none;
	}	
	
/* -------------------------------------------------------- div.detail */
	
	div.detail {
		width: 100%;
		border: none;
		float: none;
	}
	
	div.detail div.title {
		
	}

}
	

	
	
	
}