@charset "utf-8";

/* ++++++++++++++++++++++++++++++++++++++++

	for Smart Devices

++++++++++++++++++++++++++++++++++++++++ */

@media (max-width: 767px) {

body {
	position: relative;
	min-width: 320px;
	font-size: 12px;
	line-height: 1.66;
	-webkit-text-size-adjust: 100%;
}

* {
	transition: 0s !important;
}

img {
	display: block;
	max-width: 100%;
}

.sp {
	display: block;
}

.pc {
	display: none;
}

/* btn
---------------------------------------- */

.btn {
	width: 280px;
	margin: auto;
}

/* btnPdf */

.btnPdf {
	width: 240px;
}
.btnPdf a {
	position: relative;
	box-shadow: 0 5px 0 #8498a8 !important;
	padding-bottom: 0;
	border: solid 1px #8498a8;
	background: linear-gradient(#fff, #d5e3ee) !important;
	background: -webkit-gradient(linear, center top, center bottom, from(#fff), to(#d5e3ee)) !important;
	line-height: 36px;
}
.btnPdf a:after {
	content: '';
	position: absolute;
	right: 14px;
	top: 50%;
	width: 24px;
	height: 24px;
	margin-top: -12px;
	background: url(../img/sp/common/icon_pdf.png);
	background-size: 24px;
}
.btnPdf a:hover {
	background: linear-gradient(#fff, #eff6fb) !important;
	background: -webkit-gradient(linear, center top, center bottom, from(#fff), to(#eff6fb)) !important;
}
.btnPdf a:active {
	box-shadow: 0 -5px 0 #8498a8 !important;
	margin-top: 5px;
	padding-top: 0;
	background: #c1d2de !important;
}


/* ----------------------------------------
	header
---------------------------------------- */

header {
	overflow: visible;
	margin-bottom: 19px;
}

h1 {
	position: static;
	width: auto;
	height: auto;
	margin-left: 0;
	padding: 17px 0 0 7px;
}
h1 a {
	width: 152px;
	height: 39px;
	background: url(../img/sp/common/header_logo.gif);
	background-size: cover;
}

#menuBtn {
	display: block;
	opacity: .6;
	position: fixed;
	right: 10px;
	top: 10px;
}
#menuBtn a {
	display: block;
	width: 32px;
	height: 23px;
	padding: 9px 0 0;
	border: solid 4px #000;
	border-radius: 32px;
	text-align: center;
}
#menuBtn a span {
	display: block;
	width: 16px;
	height: 3px;
	margin: 0 auto 3px;
	background: #000;
}

header>div {
	position: fixed;
	left: 100%;
	top: 0;
	z-index: 10;
	width: 100%;
	height: 100%;
	padding-top: 0;
	background: #292929;
}

nav {
	width: 100%;
	height: auto;
	background: none;
}

/* nav
---------------------------------------- */

nav ul {
	width: 100%;
	height: auto;
}
nav li {
	float: none;
	padding-bottom: 1px;
	border-bottom: solid 1px #404040;
	background: #242424;
	text-align: left;
	line-height: 48px;
}
nav li:after {
	content: '';
	position: absolute;
	left: 0;
	top: 100%;
	width: 100%;
	height: 1px;
	margin-top: -1px;
	background: #101010;
}
nav li a {
	padding: 0 22px;
}
nav li>span {
	color: #636363;
}
nav li a:hover span {
	box-shadow: none;
}
nav .on {
	background: url(../img/common/pagetop_bg.gif);
}
nav .on a span {
	font-weight: bold;
	color: #ffffff;
}

nav .top {
	display: block;
}

nav .licence {
	float: none;
	width: 100%;
	padding-top: 0;
}
nav .licence a,
nav .licence a:before {
	background: none;
}
nav .licence a:before {
	opacity: 1;
	left: 22px;
	top: 50%;
	width: 29px;
	height: 16px;
	margin-top: -8px;
	background: url(../img/sp/common/nav_licence_icon.png);
	background-size: cover;
}
nav .licence a span {
	padding: 0 0 0 60px;
	text-shadow: none;
	font-weight: normal;
	line-height: 48px;
}
nav .licence a:hover span {
	box-shadow: none;
}
nav .licence a:active {
	background: none;
}
nav .licence a span:active {
	background: none;
}

/* sns
---------------------------------------- */

header .sns {
    position: static;
    float: left;
    width: auto;
    height: auto;
    margin: 13px 0 0 -23px;
    padding-left: 50%;
    background: none;
    display: block;
}
header .sns:before,
header .sns:after {
	display: none;
}
header .sns p {
	display: none;
}
header .sns ul {
	float: none;
	margin: 0;
}
header .sns li {
	width: 36px;
	margin: 0 10px 0 0;
}
header .sns li a {
	background: url(../img/sp/common/header_sns.gif);
	background-size: auto 36px;
}

header .sns .tw a { background-position: -36px 0; }
header .sns .in a { background-position: -72px 0; }

/* menuClose
---------------------------------------- */

#menuClose {
	display: block;
	position: relative;
	float: right;
	width: 55px;
	margin: 20px 10px 0 0;
	padding-left: 30px;
	border-radius: 12.5px;
	background: linear-gradient(#fff, #cecece);
	background: -webkit-gradient(linear, center top, center bottom, from(#fff), to(#cecece));
	text-decoration: none;
	color: #242424;
	line-height: 25px;
}
#menuClose:before {
	content: '×';
	position: absolute;
	left: 5px;
	top: 3px;
	width: 20px;
	border-radius: 10px;
	background: #242424;
	text-align: center;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #fff;
	line-height: 20px;
}

/* border
---------------------------------------- */

header .border {
	min-width: 320px;
}


/* ----------------------------------------
	breadcrumb
---------------------------------------- */

#breadcrumb {
	display: none;
}

/* ----------------------------------------
	container, article
---------------------------------------- */

#container {
	width: 100%;
	margin: 0;
}

article {
	float: none;
	width: auto;
}
article>* {
	margin: 0 10px 20px;
}

/* Headings
---------------------------------------- */

article h2 {
	font-size: 14px;
	line-height: 44px;
}
article h2:before {
	top: 8px;
	background: url(../img/sp/common/ttl_icon.png);
    background-size: 21px;
}
article h3 {
	margin-bottom: 10px;
	padding-right: 10px;
}
article h3:before {
	background: url(../img/sp/common/ttl_icon.png);
    background-size: 21px;
}
article h3 a {
	display: none;
}
article h4 {
	margin-bottom: 10px;
	font-size: 14px;
}
article h5 {
	font-size: 14px;
}

/* table
---------------------------------------- */

article table {
	font-size: 8px;
}
article th,
article td {
	word-break: break-all;
}

/* table02 */

article .table02 thead th {
	white-space: normal;
}

/* table03 */

article .table03 th,
article .table03 td {
	padding: 7px;
}
article .table03 th {
	width: 30%;
	padding: 7px 0;
}

/* table04 */

article .table04 {
	width: 100%;
}
article .table04 th,
article .table04 td {
	padding: 10px 5px;
}
article .table04 thead .title {
	background: #e64b40;
	font-size: 10px;
}
article .table04 tbody th {
	width: 50%;
}
article .table04 tbody td b {
	font-size: 10px;
}

/* Lists
---------------------------------------- */

article ol>li:before {
	top: 0;
}

/* flow */

article .flow>li {
	padding: 8px;
	border-radius: 8px;
	line-height: 1.66;
}

/* newsList */

.newsList li a {
	padding: 7px 8px 15px;
	border-bottom: solid 1px #eee;
	line-height: 1.5;
}
.newsList li a:after {
	content: '';
	position: absolute;
	right: 5px;
	top: 50%;
	width: 7px;
	height: 7px;
	margin-top: -4px;
	border-top: solid 2px #bababa;
	border-right: solid 2px #bababa;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
}
.newsList li a>div {
	padding: 0;
	background: none;
}
.newsList li time {
	position: static;
	float: left;
	margin: 0 5px 0 16px;
}
.newsList li time+span {
	float: left;
	margin: 0;
}

.newsList .pickup time+span {
	top: 0;
}

.newsList li a p {
	clear: both;
	display: block;
	margin-right: 15px;
}
.newsList li a:hover:after {
	border-color: #e64b40;
}
.newsList li a:hover>div {
	background: none;
}
.newsList li a:hover p {
	text-decoration: underline;
	color: #1b47a1;
}
.newsList li a:hover .linkExt:after {
	background-position: -11px 50%;
}

/* Text
---------------------------------------- */

article small,
article .notes {
	font-size: 10px;
}
article big {
	font-size: 16px;
}


/* ----------------------------------------
	aside
---------------------------------------- */

aside {
	float: none;
	width: auto;
	box-shadow: none;
	border-width: 0;
	border-bottom-width: 1px;
}
aside>p {
	background-image: url(../img/sp/common/ttl_icon.png);
	background-size: 21px;
}
aside>ul {
	font-size: 14px;
}
aside>ul a:after {
	background-image: url(../img/sp/common/aside_arr.png);
	background-size: 24px;
}
aside li li a:after {
	right: 9px;
	top: 50%;
	width: 7px;
	height: 7px;
	margin-top: -4px;
	border-top: solid 2px #bababa;
	border-right: solid 2px #bababa;
	background: none;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
}
aside li li a:hover:after {
	border-color: #1b47a1;
	background: none;
}


/* ----------------------------------------
	footer
---------------------------------------- */

footer {
	font-size: 8px;
}

footer .border:before {
	display: none;
}

/* copyright
---------------------------------------- */

footer #copyright {
	display: block;
	margin: 0;
	padding: 10px 0;
	color: #fff;
}

/* Break Point */
}


/* ++++++++++++++++++++++++++++++++++++++++

	for PC

++++++++++++++++++++++++++++++++++++++++ */

@media (min-width: 768px) {
	header>div {
		left: 0 !important;
	}
}
