@charset "UTF-8";

/*--------------------------------------------------------
モバイル用レイアウト（640px以下の解像度のスクリーン含む）
--------------------------------------------------------*/

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


/*--------------------------------------------------------
サイト全体の共通設定
-------------------------------------------------------*/

html{
	overflow-y: scroll;
	overflow-x: hidden;
}

html,body{
	width: 100%;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}

textarea,input{ max-width: 95%; }

input[type="submit"],input[type="image"],
input[type="reset"],input[type="button"],
input[type="file"]{ max-width: none; }


/*●画像サイズの調整*/
img {
	height: auto;
	max-width: 100%;
}

a{
	color: #39f;
	-webkit-tap-highlight-color: #fc6;
}

img.sp { width: 90%; max-width: 320px; }

/*--------------------------------------------------------
エリアの設定
--------------------------------------------------------*/

#container{
	border: none;
	padding-top: 0;
	padding-bottom: 1.5em;
}


/*--------------------------------------------------------
トップ
--------------------------------------------------------*/

#top{ 
	position: relative;
	top: 0;
	height: auto;
	border-top: none;
	font-size: 1.2em;
	margin-top: 5px;
}

#top-menu{
	float: none;
}

#top-menu li{
	text-align: left;
	display: block;
	margin-bottom: 5px;
}


/*--------------------------------------------------------
ヘッダー
--------------------------------------------------------*/

/*●ヘッダの回り込み解除*/
#header #header-title,
#header-in #header-text{
	float: none;
	width: 100%;
}

#header{
	border-top: 8px solid #2d6797;
}

#header .header-logo{ font-size: 2em; }
#header .header-logo img { max-width: 75%; }

/*--------------------------------------------------------
コンテンツ全体
--------------------------------------------------------*/

#main-image img { width: 99%; border: 1px solid #ccc; padding: 2px; }

#main-contents .contents h3.sty2 {
	clear: none;
	margin: 0 0 1.0em 0;
	padding: 0.5em 0.8em 0.3em 0.5em;
	background: #FFF;
	border-left: 3px solid #1e7d6e;
	border-bottom: none;
	font-size: 1.2em;
	font-weight: bold;
	color: #1e7d6e;
}

/*--------------------------------------------------------
メインコンテンツ（本文）
--------------------------------------------------------*/

/*●Tableをブロック表示に*/
#main-contents .table-style01,
#main-contents .table-style01 thead,
#main-contents .table-style01 tbody,
#main-contents .table-style01 tfoot,
#main-contents .table-style01 tr,
#main-contents .table-style01 th,
#main-contents .table-style01 td{ display: block; }

#main-contents .table-style01 th,
#main-contents .table-style01 td{
	float: left;
	width: 100%!important;
	box-sizing: border-box;
	-moz-box-sizing: padding-box;
}

#main-contents .table-style01{ /zoom : 1; }
#main-contents .table-style01:after{ content : ''; display : block; clear : both; height:0; }

.box-wrap .box-l,
.box-wrap .box-r{
	float: none;
	width: 100%;
}

/*Youtube動画*/
#main-contents .v-wrap{
	position: relative;
	overflow: hidden;
	height: 0;
	padding-bottom: 56.25%;
	padding-top: 30px;
}

#main-contents .v-wrap iframe,
#main-contents .v-wrap object,
#main-contents .v-wrap embed{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*--------------------------------------------------------
記事
--------------------------------------------------------*/
#main-contents .in01 {
	padding: 0 0.6em 0 0.6em;
}

#main-contents .bottom-img { margin: 0 -3px 40px -3px; text-align: center; }
#main-contents .bottom-img p.bbtn { margin: 0 10px; }

#main-contents img.img60 { width: 60%!important;} 

#main-contents .maru,
#main-contents .batu{ margin: 0 0 25px 0;}

#main-contents ul.ul-style1 li{
	background: url(../images/icon/icon-arrow01.png) 0.2em 0.9em no-repeat;
	border-bottom: 1px dashed #999;
	margin: 0 0.4em 0.4em 0.4em;
	padding: 0.4em 0 0.5em 1.5em;
}

/*--------------------------------------------------------
採点表
--------------------------------------------------------*/

#main-contents .hyou .saiten img {
	width: 60px;
}

#main-contents .hyou .text-s p.right { float: right; margin: 0 0 20px 15px!important; }


/*--------------------------------------------------------
テーブル
--------------------------------------------------------*/

#main-contents table.comp,
#main-contents table.comp2{ table-layout: inherit; }

#main-contents table.comp2 { margin: 0 -2% 30px -2%; width: 105%; }

#main-contents table.comp th,
#main-contents table.comp2 th,
#main-contents table.comp td,
#main-contents table.comp2 td{
	border-right: 3px solid #fff;
}
#main-contents table.comp th.fi,
#main-contents table.comp2 th.fi{
	width: 40px!important;
	font-size: 0.8em;
}
#main-contents table.comp th,
#main-contents table.comp2 th{
	border-bottom: 3px solid #fff;
	padding: 0.5em 0.1em 0.4em 0.3em;
	font-size: 0.9em;
}
#main-contents table.comp td,
#main-contents table.comp2 td{
	background-color: #f8eff3;
	border-bottom: 3px solid #fff;
	padding: 0.7em 0.2em 0.6em 0.2em;
	font-size: 0.9em;
	font-weight: normal;
	color: #333;
	width: 41.0%;
}

#main-contents table.comp2 td{ width: 29.0%; }

#main-contents table.comp td.text,
#main-contents table.comp2 td.text{ vertical-align: top; }
#main-contents table.comp td img,
#main-contents table.comp2 td img{ width: 100%; }
#main-contents table.comp td.btn{ padding: 0.8em 0.3em 0.3em 0.3em; }
#main-contents table.comp2 td.btn{ padding: 0.8em 0.3em 0.8em 0.3em; }

#main-contents table.comp td.btn img,
#main-contents table.comp2 td.btn img{ width: 100%; }

#main-contents table.two { width: 74.8%; }
#main-contents table.two td{
	width: 40.9%;
}

/*--------------------------------------------------------
サブコンテンツ / サイドバー
--------------------------------------------------------*/

/*折り畳み*/
#sub-contents .sub-contents-btn,
#sidebar .sidebar-btn{
	display: block;
	margin-bottom: 1em;
	padding: 1em;
	padding-left: 2.5em!important;
	background: url(../images/icon/icon-arrow05.png) 1em center no-repeat #333;
	color: #fff;
}

.sub-column .showSubConts,
.sub-column .showSidebar{
	display: block!important;
}

.col1 .sub-column .ranking .item-img,
.col2 #sub-contents .ranking .item-img,
.col2r #sub-contents .ranking .item-img,
.col1 .sub-column .profile-img,
.col2 #sub-contents .profile-img,
.col2r #sub-contents .profile-img{
	float: none;
	padding-right: 0;
}

.col1 .sub-column .banner li,
.col2 #sub-contents .banner li,
.col2r #sub-contents .banner li{
	display: block;
	margin-right: 0;
}

.sub-column dl.search-box{ width: 100%; }

.sub-column dl.search-box dt{
	margin-right: 0;
	margin-bottom: 0.4em;;
	width: 100%;
}

.sub-column dl.search-box dt,
.sub-column dl.search-box dd{ float: none; }


/*--------------------------------------------------------
フッター
--------------------------------------------------------*/

#footer .footer-menu ul{
	float: none;
	width: 100%;
}

#footer .area01,
#footer .area02{
	float: none;
	width: 100%;
	margin-bottom: 2em;
}

.copyright{ padding-bottom: 40px; }

.copyright span{ display: block; }


/*--------------------------------------------------------
ページトップ
--------------------------------------------------------*/

.page-top{
	right: 0;
	bottom: 0;
	width: 100%;
	text-align: center;
}

.page-top a{
	display: block;
	border: 0;
	border-top: 1px solid #fff;
	border-radius: 0;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
}

.page-top a:link,
.page-top a:visited,
.page-top a:hover,
.page-top a:active{
	background: url(../images/common/bg-pagetop.gif) 14px center no-repeat #999;
	color: #fff;
}

.page-top:not(\*|*){ position: static; }/* Opera9以下 */

}

@media not screen and (1) { .page-top { position: static; } }/* Opera10以上 */
