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

 ■ 	スマートフォン用（480px以下）主なターゲット iPhone/iOS

******************************************************************************/
@media screen and (max-width: 480px) {
body 
{	
	-moz-text-size-adjust: none;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	padding-top: 64px;
}

section
{
	min-width: 0;
	width: 100%;	
}
a#gotop
{
	bottom: 58px;
}
.inner
{
	width: auto;
}

header
{
	position: fixed;
	top: 0;
	width: 100%;
	background-color: white;
	z-index: 999999;
	height: 64px;
	border-bottom: 1px solid #d8d8d8;
	margin-top: 0;
	border-top: none;
}
header:before
{
	display: none;
}
header .inner
{
	padding: 0;
	height: auto;
}

header h1
{
	background-position: .5em center !important;
	background-size: 50%;
	padding: 5px 0;
	font-size: 1px;
  line-height: 1.3;
}

header h1 > a
{
	width: calc(100% - 90px );
	background-position: 10px center;
	height: 64px;
	margin: 0;
}

header p.contact
{
	display: none;
}

#contents
{
	float: none;
	margin-right: auto;
	padding-top: 0;
}

#contents .inner 
{
	padding-left: 5px;
	padding-right: 5px;
}

#contents .content
{
	float: none;
	width: auto;
	padding-left: 12px;
	padding-right: 12px;
}

aside
{
	float: none;
	width: auto;
  padding-left: 12px;
  padding-right: 12px;
}
aside > .aside-inner
{
	width: auto;
}

.column-sign
{
	float: none;
	margin: 1em 0;
}

footer h1 
{
	float: none;
	padding: 0;
}
footer h1 > a
{
	width: auto;
}
footer > .inner-top
{
	text-align: center;
}
footer > .inner-bottom > .inner
{

}
footer .signature
{
	float: none;
	margin-left: 0;
}
footer .signature p,
footer .signature ul
{
	text-align: center;
}
footer .signature ul
{
	white-space: normal;
}
footer .signature ul > li
{
	font-size: 90%;
	float: none;
	display: inline-block;
}
footer .signature ul > li:before
{
	content: ' ';
}
footer .contact
{
	position: static !important;
	float: none;
	display: block;
	margin: 1em 0;
}
footer .contact > *
{
	display: block;
	float: none !important;
}

ul.footer-menu
{
	font-size: 75%;
	text-align: left;
	white-space: normal;
	padding: 0 14px 1em;
}
ul.footer-menu > li
{
	padding: 0 .75em;
	margin: .25em;
}
ul.footer-menu > li:before
{
	margin-right: .25em;
	left: -.5em;
}

.flat-button
{
	font-size: 85%;
	padding: .5em .25em;
	white-space: nowrap;
}
.flat-button > small
{
	display: block;
}

p.image > img
{
	float: none;
	width: 100%;
}

p.images
{
	position: static;
	width: auto;
}

.content dl > dd ul > li
{
	display: block;
	text-align: center;
	margin: 1em 0;
}

/*******************************************************************************
  テーブル横幅対策 (横方向にスクロールさせる)
*******************************************************************************/
.table-wrap 
{
	overflow-x: scroll;
	-webkit-overflow-scrolling: touch;
}

.table-wrap > table 
{
  width: auto !important;
}
.table-wrap > table th,
.table-wrap > table td
{
	white-space: nowrap !important;
}
.table-wrap > table td
{
	min-width: 2.5em;
}

/*******************************************************************************
  ここからスマホメニュー
*******************************************************************************/
nav
{
	display: none;
}

a#mBtn
{
	position: absolute;
	right: 0;
	width: 64px;
	height: 64px;
	top: 0;
	background: url(./svg/icon-menu.svg) no-repeat center center;
	background-size: 36px;
	border-left: 1px solid #d8d8d8;
	background-color: white;
}

#smt-menu
{
	position: absolute;
	overflow: hidden;
	z-Index: 100000;
	top: -400px;
	right: 0;
	width: 100%;
	font-size: 95%;
}
#smt-menu > ul
{
	border-bottom: 2px solid white;
}

#smt-menu > ul > li
{
	background-color: #eee;
	border-top: 1px solid white;
	border-bottom: 1px solid #ccc;
}
#smt-menu > ul > li:hover
{
	background-color: #f6f6f6;
}

#smt-menu > ul > li > a
{
	display: block;
	padding: 1em;
	color: inherit;
	text-shadow: 1px 1px 0 white;
	text-decoration: none;
	background-image: none !important;
}
#smt-menu > ul > li > a > span
{
	display: block;
	background: url(./svg/icon-gt-grey.svg) no-repeat right center;
	margin-right: .5em;
	background-size: .75em;
}

#smt-menu ul.sub 
{
  width: 95%;
  margin: 0 0 0 auto;
  border-top: 1px solid #ccc;
  display: none;
}
#smt-menu ul.sub > li
{
  border-top: 1px solid white;
  border-bottom: 1px solid #ccc;
}
#smt-menu ul.sub > li:first-child
{
  border-top: 1px solid white;
}
#smt-menu ul.sub > li:last-child
{
  border-bottom: none;
}
#smt-menu ul.sub > li > a.flat-button
{
  display: block;
  background: none;
  padding: 1em 0;
}
#smt-menu ul.sub > li > a.flat-button > small
{
  display: none;
}


#contents .content table.mobile tbody td em
{
	display: block;
	margin-top: 1em;
	text-align: center;
}


/*------------------------------------------------------------------------------
 フロントページ
------------------------------------------------------------------------------*/
.content.front .section ul > li > *
{
	float: none;
	display: block;
	width: auto !important;
}
.info-head
{
	margin-bottom: .5em;
}

.content.front .section h2 > span
{
	padding-left: 0 !important;
	background: none !important;
}

/********************************************************************************/ }
