@charset "utf-8";

/* =======================================

	responsive

======================================= */
#gnHeader,
#gnFooter
{
	display: none;
}
#spMenu {
	display: none;
}

#footerArea li{
	list-style-type: none;
}

.spObj{
	display: none;
}/*SP用コンテンツ表示*/

.mt1-5em_nega{margin-top: -1.5em;}

.tax-wrap { display: block; visibility: visible; }
/*
.PCnone{
	display:none;
}
*/

@media only screen and (max-width: 640px) {

	/*-----------------------------------------
	//	共通
	//-----------------------------------------*/
	.PCnone{
		display:block;
	}
	body {
		margin:0;
		padding:0;
		color:#4c4c4c;
	}
	body #wrapperAll {
		width:100%;
	}
	body div#wrapperAll #contentsArea {
		padding-top:27px;
	}
	#gnHeader,
	#gnFooter
	{
		display: block;
	}
	#headerFixedMenu ul {
		padding:0;
	}
	#headerArea,
	#footerArea
	{
		display: none;
	}
  #headerArea {
		width:100%;
	}
	body {
  	-webkit-text-size-adjust: 100%;
  }
	body #contentsArea {
    overflow: hidden;
    width: 100%;
	}
	.main-box .siteinfo-ttl {
    border-bottom: 2px solid #CCCCCC;
    margin: 0;
    padding:0 0 10px;
	}
	.main-box{
		width:auto;
		margin:0 13px;
	}
	.main-box .siteinfo-ttl img {
		margin-top:-10px;
		width:100%;
		max-width: 531px;
		max-height: 60px;
	}
	#container2 {
		display:none;
	}
	#spMenu {
		display: block;
	}
	#spMenu dt {
		cursor: pointer;
	}
	#spMenu dd {
		display: none;
	}
	.subheader,
	.subheaderDetail{
		display:none;
	}
	div#container {
		width:100% !important;
		border:0;
		padding:0;
	}
	div#container div.content {
		margin: 0 !important;
		width: auto !important;
	}
	div#sideMenu div.menuInner {
		display: none;
	}
	.fs11r {
		padding:0;
	}
	.SPnone {
		display:none;
	}
	.newnav .naviList ul {
		display:none;
	}
  div#container div.content .text {
		width: auto;
		padding:0;
	}
	#gnFooter .company{display: none;}
	
	#gnHeader #headerMenu ul li a {
		line-height: 40px;
		color: #000000;
    	text-decoration: none;		
	}
	
	#gnHeader, #gnFooter {
    font-family: 'Hiragino Kaku Gothic Pro',Meiryo,'MS PGothic',sans-serif !important;
    font-size: 12px !important;
	}
	
	.left{float: left;}
	.right{float: right;}
	
	#spWrapper img{width: 100%;}
	#spWrapper li{list-style-type: none;}
	
	.mt1em{margin-top: 1em!important;}
	.mb1em{margin-bottom: 1em!important;}
	.mb10p{margin-bottom: 10%!important;}
	
	.dn{display: none;}
	.pcObj{display: none;}/*PC用コンテンツ非表示*/
	.spObj{display: block;}/*SP用コンテンツ表示*/
								
	#gnFooterArea {
		position: relative;
	}	
	#gnFooter .pageTop-btn{
		margin: 0;
		background-color: #EEEEEE;
		border-top: 1px solid #C1C1C1;	
	}
	
	#gnFooter .pageTop-btn a{
		color: #8A8A8A;
		display: block;
		font-size: 9px;
		line-height: 40px;
		padding-left: 12px;
	}

	#spMenu dt{
		border-bottom: 2px solid #C71444;
		font-size:1.7em;
		font-weight: bold;
		padding:10px;
		padding-right:0;
		line-height:1.4em;
	}
	
	div#container div.content p{
		padding:0 10px !important;
	}

	#spMenu dd{
		margin:0;
		padding:0;
	}
	#spMenu span{
		border-left:3px #C71444 solid;
		padding-left:20px;
	}
	#spMenu span.h1date {
		font-size: 0.6em;
		border-left: none;
		padding-left: 5px;
	}

	p.bread{
		display: none;
	}
	p.sp_bread{
		display: block;
		padding:5px 0 0 10px !important;
		font-size: 10px !important;
		line-height: 1.25em;
	}
	p.sp_bread a{
		color: #c71444 !important;
	}
	p.date {
		padding-right: 20px !important;
		font-size: 10px !important;
		line-height: 1.25em;
	}

	#contentsArea {
		padding-top:0 !important;
	}
	.txt_b {
		line-height: 1.5em;
	}
	.url {
		letter-spacing: -0.03em;
	}
	.message02 {
		margin: 30px 0 50px;
	}
	.message02 p {
		line-height: 1.75em;
	}
	.message02 .mainTxt {
		text-align: left;
	}
	.mainTxt a.btn01 {
		text-align: center;
		width: 95%;
		font-size: 1.2em;
		letter-spacing: -0.01em;
	}
	h2.article-title {
		padding-left: 10px;
	}
	.article-title span:before {
		padding-left: 10px;
	}
	.gLine.spFirstTitle {
		border-top: none;
	}

	.wnList {
		padding-left: 10px;
		line-height: 1.4em;
	}
	.wnList dt {
		float:none;
	}

	.wnList dd {
		padding-left:0;
		margin-bottom: 10px;
	}

	div#container div.contactBox {
		width: 90%;
	}

	.faqList .faqTaxTitle {
		border-bottom: 1px solid #ccc;
		margin-bottom: 10px;
}
	.faqList dd table {
		border: none;
}
	.faqList dd table thead {
		display: none;
}
	.faqList dd table tr {
		border-bottom: 1px dotted #ccc;
		display: block;
		margin-bottom: 10px;
		padding-bottom: 5px;
}
	.faqList dd table td {
		border: none;
		display: block;
		text-align: left;
		padding: 2px 0;
}
	.faqList dd table td::before {
		content: attr(data-label);
		font-weight: bold;
}

	.compTable {
		width: 100%;
		margin: 0 0 30px;
		border-bottom: solid 1px #ddd;
	}
	.compTable tr {
		display:block;
		margin-bottom: 10px;
	}
	.compTable th {
		display:block;
		width: 100%;
	}
	.compTable td {
		width: 90%;
		margin-left: 10%;
		border:none;
	}
	.compList {
		list-style-position: inside;
		list-style-type: disc !important;
	}
	.compList li {
		padding-left: 1em;
		text-indent: -1em;
	}
	.gradeAnchor {
		font-size: 0.8em;
		line-height: 2em;
		letter-spacing: 0.05em;
	}
	.message02 #gradeList01,
	.message02 #gradeList02,
	.message02 #gradeList03,
	.message02 #gradeList04,
	.message02 #gradeList05 {
		text-align: center;
	}
	.message02 img {
		width: 100%;
	}
	div#container div.content p.gradeNotice {
		margin-left: 26px;
		padding-left: 2.6em;
		text-indent: -2.6em;
	}

	span.sp_c {
		text-align: center;
		border-left: 0 !important;
		padding-left: 0 !important;
		display: block;
		margin-bottom: -15px;
	}