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

/* --------------------------------------------------------------
reset
--------------------------------------------------------------- */

* {
margin: 0px;
padding: 0px;
}

html,body,div,
dl,dt,dd,
h1,h2,h3,h4,h5,h6,
pre,form,fieldset,input,textarea,p,blockquote,th,td {
font-family: "Lucida Grande","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN W3",Osaka,"メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",Geneva,Arial,Verdana,sans-serif !important;
font-size:18px;
line-height:1.5em;
color:#333;
margin: 0px;
padding: 0px;
}

img { margin:0; padding:0; vertical-align:bottom; width:auto; height:auto; border:none;}
a img { border: 0; }
a { margin:0; padding:0;}
a:link,
a:visited { text-decoration: none; color:#06c;}
a:hover { text-decoration: underline; color:#06c;}
a:active { text-decoration: none; color:#06c;}

/* float clear */
.clear {
	margin: 0px;
	padding: 0px;
	clear: both;
	font-size: 0px;
	font-style: normal;
	line-height: 0px;
	font-weight: normal;
	font-variant: normal;
}

/* error check */
span.error{
	margin: 0;
	color: red;
	font-weight: bold;
	margin-bottom: 1em;
}
.errorblock{
	border: 1px solid #ff0000;
	background-color: #ffcccc;
}

/* color */
.colorred {color:#006FCB;}

/* margin */
.margintop5 {margin-top:5px;}
.margintop10 {margin-top:10px;}
.margintop20 {margin-top:20px;}
.margintop30 {margin-top:30px;}
.margintop40 {margin-top:40px;}
.margintop50 {margin-top:50px;}

/* input txt width */
.txtw100 {width:100px;}
.txtw150 {width:150px;}
.txtw200 {width:200px;}
.txtw250 {width:250px;}
.txtw300 {width:300px;}
.txtw350 {width:350px;}
.txtw400 {width:400px;}
.txtw450 {width:450px;}
.txtw500 {width:500px;}
.txtw550 {width:550px;}
.txtw600 {width:600px;}
.txtw650 {width:650px;}
.txtw700 {width:700px;}

.backtop {
	width:100%;
	height:50px;
	text-align:right;
	font-size:0.857em; /* 12px */
	line-height:50px;
}

#contentsoutbox {
	margin:0 auto;
	width:100%;
	overflow:hidden;
}

.hiddenSP {
	display:none;
}



/* --------------------------------------------------------------
header
--------------------------------------------------------------- */

#headerbox {
	display:none;
}

#spheaderbox {
	max-width: 100%;
	height: auto;
	width /***/:auto;
}

#spheader{
	width:100%;
	margin:0 auto;
	padding:0;
	border-top:10px solid #004188;
	background-color:#FFF;
}

#spheadid {
	float:left;
	width:73%;
	padding:20px 0;
}

#menu_btn {
	width:15%;
	float: right;
	padding:20px 0;
	display:block;
}

#spmenu {
	width:100%;
	background-color:#004386;
	padding: 0;
	display: block;
	text-align:left;
}

#spgnavi ul {
	width:100%;
	margin:0 auto;
	padding:0;
	list-style-type:none;
}

#spgnavi ul li {
	display:block;
	font-size:21px;
	border-bottom:1px solid #004188;
	padding: 15px 20px;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #004188), color-stop(0.00, #0072C9));
	background: -webkit-linear-gradient(#0072C9, #004188);
	background: -moz-linear-gradient(#0072C9, #004188);
	background: -o-linear-gradient(#0072C9, #004188);
	background: -ms-linear-gradient(#0072C9, #004188);
	background: linear-gradient(#0072C9, #004188);
}

#spgnavi ul li a {
	display:block;
	color:#FFF;
}




/* --------------------------------------------------------------
slide
--------------------------------------------------------------- */

.slidebg {
	background: #004188;
	border-top: 3px solid #F9BF00;
	border-bottom: 3px solid #F9BF00;
}

#slidebox {
	width:94%;
	height:200px;
	margin:0 auto;
	padding:20px 0;
	display: block;
}
#slidebox img {
	width: 100%;
}

.bxslider {
	margin:0;
	padding:0;
}



/* --------------------------------------------------------------
contents
--------------------------------------------------------------- */

#contentsbox {
	width:100%;
	margin:0 auto;
	padding:0;
}

.fbbox {
	display:none;
}

#contents {
	width:94%;
	margin:0 auto;
	padding:20px 0 0 0;
}

#column2-r {
	float:none;
}

#column3-l {
	float:none;
}

#column3-r {
	float:none;
	display:none;
}

.topnewsbox {
	width:100%;
}

#contents .topnewsbox h3.yotei {
	width:100%;
	height:40px;
	font-size:21px;
	line-height:30px;
	text-indent:1.7em;
	letter-spacing:5px;
	background:url(../../img/sp/ttl_topbg1.jpg) top left no-repeat;
	border:none;
	padding:0;
}

#contents .topnewsbox h3.houkoku {
	width:100%;
	height:40px;
	font-size:21px;
	line-height:30px;
	text-indent:1.7em;
	letter-spacing:5px;
	background:url(../../img/sp/ttl_topbg2.jpg) top left no-repeat;
	border:none;
	padding:0;
}

.newslistbox {
	margin-top:10px;
	overflow:auto;
	background-color:#fff6ed;
}

.newslistbox dl {
	padding:10px 5px;
	border-bottom:1px dotted #666;
}

.newslistbox dl dt{
	font-size:18px;
	color:#F63;
	font-weight:bold;
}

.newslistbox dl dt img {
	vertical-align:middle;
	padding:0 3px 3px 0;
}

.newslistbox dl dd {
	font-size:18px;
	line-height:1.3em;
}

.newslistbox dl dd img {
	vertical-align:middle;
	padding:0 0 6px 6px;
}

.rssbtn {
	margin:10px 0 0 0;
	text-align:right;
}

.spcountdown {
	width:100%;
	border:5px solid #004386;
	display:inline-block;
	box-sizing:border-box;
}

.spcountdown img {
	float:left;
}

.spcountdown p {
	float:right;
	font-weight:bold;
	font-size:18px;
	padding:40px 10px 0 0;
}

.spcountdown p span {
	font-size:60px;
}

.btnimg {
	margin-top:20px;
	margin-bottom:20px;
	width:100%;
}

.btnimg img{
	width:100%;
}

#spsubnavi1 ul { /* 黒グラデ */
	width:100%;
	margin:20px auto 0;
	padding:0;
	list-style-type:none;
}

#spsubnavi1 ul li {
	display:block;
	font-size:21px;
	border-bottom:1px solid #000;
	padding: 15px 20px;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #000), color-stop(0.00, #666));
	background: -webkit-linear-gradient(#666, #000);
	background: -moz-linear-gradient(#666, #000);
	background: -o-linear-gradient(#666, #000);
	background: -ms-linear-gradient(#666, #000);
	background: linear-gradient(#666, #000);
}

#spsubnavi1 ul li a {
	display:block;
	color:#FFF;
}

#spsubnavi2 ul { /* 赤グラデ */
	width:100%;
	margin:20px auto 0;
	padding:0;
	list-style-type:none;
}

#spsubnavi2 ul li {
	display:block;
	font-size:21px;
	border-bottom:1px solid #004188;
	padding: 15px 20px;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #004188), color-stop(0.00, #006FCB));
	background: -webkit-linear-gradient(#006FCB, #004188);
	background: -moz-linear-gradient(#006FCB, #004188);
	background: -o-linear-gradient(#006FCB, #004188);
	background: -ms-linear-gradient(#006FCB, #004188);
	background: linear-gradient(#006FCB, #004188);
}

#spsubnavi2 ul li a {
	display:block;
	color:#FFF;
}

/*アコーディオン
-------------------------------------*/
#spsubnavi2 .acordion{
	margin:0px auto 0;
}

#spsubnavi2 .trigger,
#spsubnavi2 .trigger.active {
	display:block;
	color:#FFF;
	font-size:21px;
	border-bottom:1px solid #004188;
	padding: 15px 20px;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #004188), color-stop(0.00, #006FCB));
	background: -webkit-linear-gradient(#006FCB, #004188);
	background: -moz-linear-gradient(#006FCB, #004188);
	background: -o-linear-gradient(#006FCB, #004188);
	background: -ms-linear-gradient(#006FCB, #004188);
	background: linear-gradient(#006FCB, #004188);
}

#spsubnavi2 .acordion_tree{
	width:100%;
	margin:0;
	padding:0;
}

#spsubnavi2 .acordion_tree ul { /* サブメニュー赤グラデ */
	margin:0 auto;
}

#spsubnavi2 .acordion_tree ul li {
	display:block;
	font-size:21px;
	border-bottom:1px solid #004188;
	padding: 15px 20px 15px 50px;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #004188), color-stop(0.00, #006FCB));
	background: -webkit-linear-gradient(#006FCB, #004188);
	background: -moz-linear-gradient(#006FCB, #004188);
	background: -o-linear-gradient(#006FCB, #004188);
	background: -ms-linear-gradient(#006FCB, #004188);
	background: linear-gradient(#006FCB, #004188);
}

#spsubnavi2 .acordion_tree ul li a {
	display:block;
	color:#FFF;
}

/* トップサブタイトル */
#contents #katudoubox,
#contents #toppastbox,
#contents #toplinkbox {
	width:100%;
	clear:both;
}

#contents #katudoubox h2,
#contents #toppastbox h2,
#contents #toplinkbox h2 {
	width:100%;
	height:40px;
	font-size:21px;
	line-height:30px;
	text-indent:1.7em;
	letter-spacing:5px;
	color:#333;
	border:none;
	padding:0;
}

#contents #katudoubox h2 {
	background:url(../../img/sp/icon1.jpg) top left no-repeat;
}

#contents #toplinkbox h2 {
	background:url(../../img/sp/icon2.jpg) top left no-repeat;
}

#contents #toppastbox h2 {
	background:url(../../img/sp/icon3.jpg) top left no-repeat;
}

#toppastbox {
	overflow: hidden;
}

.pastbox li {
	width: 50%;
	font-size: 21px;
	padding: 15px 0;
	list-style: none;
	text-indent: 1em;
	float: left;
}
.pastbox li:before {
	position: relative;
	content: url(../../img/arrow_icon1.png);
	left: -0.7em;
	top: 0;
}


.pastbox a {
	color: #000;
}

.banner,
.blogboxline {
	width:47%;
	float:left;
	margin:0 10px 10px 0;
	display:inline-block;
}

.mb20 { margin-bottom:20px;}

.banner img,
.blogboxline img {
	width:100%;
}

#spfootbnr {
	width:100%;
	border-top:1px dotted #666;
	margin-top:20px;
	padding-top:20px;
	clear:both;
	float:left;
	display:inline-block;
}


/* --------------------------------------------------------------
main contents
--------------------------------------------------------------- */
#pankuzu {
	width:100%;
	margin:0 auto;
	padding:0 0 20px 0;
	text-align:left;
	font-size:14px;
}

#contents h2 {
	border-top:3px solid #004386;
	border-bottom:3px solid #0074C6;
	color:#004386;
	font-size:24px;
	padding:20px 0;
}

.iinimg {
	margin-top:20px;
	text-align:center;
}

.iinimg img {
	width:100%;
}

.iintyo {
	margin-top:20px;
	text-align:right;
	font-weight:bold;
	font-size:18px;
}

#contents h3 {
	margin-top:30px;
	border:1px solid #004386;
	padding:15px 0;
	text-indent:15px;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #f2f2f2), color-stop(0.00, #fff));
	background: -webkit-linear-gradient(#fff, #f2f2f2);
	background: -moz-linear-gradient(#fff, #f2f2f2);
	background: -o-linear-gradient(#fff, #f2f2f2);
	background: -ms-linear-gradient(#fff, #f2f2f2);
	background: linear-gradient(#fff, #f2f2f2);
}

.keikaku {
	margin-top:20px;
}

.keikaku dt {
	margin-top:10px;
	font-weight:bold;
}

.keikaku dd {
	margin-left:40px;
}

/* privacy */
#privacybox {
	margin:0 auto;
	padding:20px 0;
}

#privacybox p {
	margin:0 auto;
	padding-top:20px;
	text-align:left;
}

#privacybox dl {
	margin:0 auto;
	padding:0;
}

#privacybox dt {
	margin:0;
	padding-top:20px;
	font-weight:bold;
	text-align:left;
}

#privacybox dd {
	text-align:left;
	margin-left:2em;
}

#privacybox dd ul {
	margin:0 0 0 50px;
	padding:10px 0 0 0;
	list-style-type:decimal;
	list-style-position:outside;
}

#privacybox dd li {
	margin:0;
	padding:0;
	text-indent:0;
}

/* sitemap */
.sitemap-l {
	width:100%;
	float:none;
	margin:20px 0 0 0;
}

.sitemap-r {
	width:100%;
	float:none;
	margin:25px 0 0 0;
}

.sitetop {
	margin:0;
	padding-bottom:5px;
	text-indent:1.5em;
	background:url(../../img/home.gif) 2px 2px no-repeat;
}

ul.sitemap {
	margin:0;
	padding:0;
	list-style-position:inside;
	list-style-type:none;
}

.sitemap li {
	padding-bottom:5px;
	background:url(../../img/arrow4.gif) 4px 4px no-repeat;
	text-indent:1.5em;
	margin-left:2em;
}

.sitemap li ul {
	padding-top:5px;
	list-style-position:inside;
	list-style-type:none;
}

.sitemap li ul li {
	padding-bottom:5px;
	background:url(../../img/arrow6.gif) 4px 4px no-repeat;
	text-indent:1.5em;
	margin-left:2em;
}

.sitemap li ul li.smlistend {
	padding-bottom:0;
}

/* links */
.links { margin-top:20px; }
.links dt { font-weight:bold; line-height:2em; }
.links dt img { width:100%; }
.links dd { margin:0 0 20px 20px; line-height:2em; }

/* form */
#contents .susume h3 {
	margin-top:20px;
	color:#060;
	font-size:24px;
	border:none;
	padding:0;
	text-indent:0;
	background:none;
}
#contents .susume h4 { color:#06C; font-size:18px; }
#contents .susume p.susumetxt1 { font-weight:bold; }
#contents .susume p.susumetxt2 { margin-top:20px; }

#contents .messagebox { margin-top:20px; padding-bottom:10px; text-align:center; border-bottom:1px dotted #999; }
#contents .messagebox p { text-align:left; }
#contents .messagebox img { float:none; padding:0 0 20px 0; }
#contents .messagebox .messe { float:none; width:100%; }
#contents .messagebox .messe h3 {
	background:none;
    border: none;
	font-size:18px;
    margin-top: 0;
    padding: 0 0 15px 0;
    text-indent:0;
	color:#060;
	line-height:1.3em;
}
#contents .messagebox .messe h3 span { font-size:14px; font-weight:normal;}
#contents .messagebox .messe p { font-size:14px; font-weight:normal;}
.merit { margin-top:20px; }
.merit dt { font-weight:bold; font-size:18px; color:#06C; }
.merit dd { margin:0 0 20px 20px; }




.cal_wrapper {
max-width: 640px; /* 最大幅 */
min-width: 480; /* 最小幅 */
}

.googlecal {
position: relative;
padding-bottom: 100%; /* 縦横比 */
height: 0;
overflow: hidden;
}
.googlecal iframe {
position: absolute;
top: 0;
left: 0;
max-width: 100% !important;
}

/* --------------------------------------------------------------
footer
--------------------------------------------------------------- */
footer {
	width:100%;
	margin:30px auto 0;
	padding:30px 0;
	background: #004188;
	border-top: 3px solid #F9BF00;
}

.footmenu {
	display:none;
}

#footbanner {
	display:none;
}

#address1 {
	width:94%;
	margin:0 auto;
	color:#FFF;
	text-align:left;
	font-size:21px;
}

#address2 {
	width:94%;
	margin:30px auto 0;
	color:#FFF;
	text-align:left;
}




}
