@charset "utf-8";


/*----------------- body ---------------------*/



body {
	background-color: #FFF;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 15px;
	color: #1a1a1a;
	line-height: 1.8;
	margin: 0;
}



.sp {
	display: none;
}

@media only screen and (max-width:640px){
	
	
	body {
		font-size: 12px;
	}
	
	.pc {
		display: none;
	}
	
	.sp {
		display: block;
	}
}

/*----------------- links ------------------*/

a {
	color: #0971b2;
	text-decoration: none;	
}

a:hover {
	color: #0c9af2;
}


/*-------------------- clearfix ---------------*/

.clearfix:after {
	content: "";
	clear: both;
	display: block;
}



/* ------------------ txt titles ----------------------*/


h2 {
	width: 980px;
	color: #333;
	font-size: 32px;
	font-weight: bold;
	margin: 60px auto; 
}


h3 {
	font-size: 30px;
	font-weight: normal;
	margin-bottom: 35px;
}

h4 {
	font-size: 22px;
	font-weight: normal;
	margin-bottom: 20px;
}

h5 {
	font-weight: bold;
	font-size: 15px;
	margin-bottom: 15px;
}

h6 {
	color: #999;
	font-weight: bold;
	font-size: 15px;
	margin-bottom: 15px;
}

p.txt {
	margin-bottom: 30px;
}

.cap {
	font-size: 11px;
	padding-top: 5px;
}

@media only screen and (max-width:640px){
	
	h2 {
		width: 100%;
		color: #333;
		font-size: 21px;
		font-weight: bold;
		margin: 30px auto;
		box-sizing: border-box;
		padding: 0 15px;
	}
	
	h3 {
		font-size: 21px;
		font-weight: normal;
		margin-bottom: 20px;
	}
	
	h4 {
		font-size: 16px;
	}
	
	h5 {
		font-size: 12px;
	}
	
	
}


/*--------------- header -------------------*/

@font-face {
  font-family: "gnavfont";
  src: url(/common/font/rwWebFT.woff) format('woff');
}


#header {
	width: 100%;
	height: 40px;	
}

#header div.body {
	width: 980px;
	margin: 0 auto;
	position: relative;
}

h1.siteTitle {
	padding-top: 13px;
}

#gnav {
  font-family: "gnavfont";
  font-size: 13px;
  list-style: none;
  position: absolute;
  right: 0;
  top: 14px;
  letter-spacing: 0.15em;
}

#gnav:after {
	content: "";
	clear: both;
	display: block;	
}

#gnav li {
	float: left;
	padding-left: 30px;
}

#gnav li strong {
	color: #B1B1B1;
	font-weight: normal;	
}

#gnav li a {
	color: #666;
}

#gnav li a:hover {
	color: #B2B2B2;
}


@media only screen and (max-width:640px){

	#header div.body {
		width: 100%;
		height: 42px;
		overflow: visible;
	}
	
	#header #hdrBtn {
		width: 45px;
		height: 42px;
		overflow: hidden;
		position: absolute;
		left: 0;
		top: 0;
		border-bottom: 1px solid #E5E5E5;
	}
	
	#header #hdrBtn #bar1,
	#header #hdrBtn #bar2,
	#header #hdrBtn #bar3 {
		position: absolute;
		width: 19px;
		height: 2px;
		background-color: #000;
		overflow: hidden;
	}
	
	#header #hdrBtn #bar1 {
		top: 13px;
		left: 13px;
	}
	
	#header #hdrBtn #bar2 {
		top: 20px;
		left: 13px;
	}
	
	#header #hdrBtn #bar3 {
		top: 27px;
		left: 13px;
	}
	
	#header #hdrBtn span#bar1.aIn {
		animation: bar1 0.3s;
		animation-iteration-count: 1;
		animation-fill-mode: forwards;
		-webkit-animation: bar1 0.3s;
		-webkit-animation-iteration-count: 1;
		-webkit-animation-fill-mode: forwards;
	}
	@keyframes bar1 {
		0% { transform: rotate(0deg);}
		100% { transform: rotate(-45deg); top:20px; left:8px; }
	}
	@-webkit-keyframes bar1 {
		0% { -webkit-transform: rotate(0deg);}
		100% { -webkit-transform: rotate(-45deg); top:20px; left:8px; }
	}
	#header #hdrBtn span#bar1.aOut {
		animation: bar1Out 0.3s;
		animation-iteration-count: 1;
		animation-fill-mode: forwards;
		-webkit-animation: bar1Out 0.3s;
		-webkit-animation-iteration-count: 1;
		-webkit-animation-fill-mode: forwards;
	}
	@keyframes bar1Out {
		0% { transform: rotate(-45deg); top:20px; left:8px; }
		100% { transform: rotate(0deg); top:13px; left:13px; }
	}
	@-webkit-keyframes bar1Out {
		0% { -webkit-transform: rotate(-45deg); top:20px; left:8px; }
		100% { -webkit-transform: rotate(0deg); top:13px; left:13px; }
	}
	
	#header #hdrBtn span#bar2.aIn {
		animation: bar2 0.3s;
		animation-iteration-count: 1;
		animation-fill-mode: forwards;
		-webkit-animation: bar2 0.3s;
		-webkit-animation-iteration-count: 1;
		-webkit-animation-fill-mode: forwards;
	}
	@keyframes bar2 {
		0% { opacity: 1; }
		100% { opacity: 0; }
	}
	@-webkit-keyframes bar2 {
		0% { opacity: 1; }
		100% { opacity: 0; }
	}
	
	#header #hdrBtn span#bar2.aOut {
		animation: bar2Out 0.3s;
		animation-iteration-count: 1;
		animation-fill-mode: forwards;
		-webkit-animation: bar2Out 0.3s;
		-webkit-animation-iteration-count: 1;
		-webkit-animation-fill-mode: forwards;
	}
	@keyframes bar2Out {
		0% { opacity: 0; }
		100% { opacity: 1; }
	}
	@-webkit-keyframes bar2Out {
		0% { opacity: 0; }
		100% { opacity: 1; }
	}
	
	#header #hdrBtn span#bar3.aIn {
		animation: bar3 0.3s;
		animation-iteration-count: 1;
		animation-fill-mode: forwards;
		-webkit-animation: bar3 0.3s;
		-webkit-animation-iteration-count: 1;
		-webkit-animation-fill-mode: forwards;
	}
	@keyframes bar3 {
		0% { transform: rotate(0deg); }
		100% { transform: rotate(45deg); top: 20px; left: 20px; }
	}
	@-webkit-keyframes bar3 {
		0% { -webkit-transform: rotate(0deg); }
		100% { -webkit-transform: rotate(45deg); top: 20px; left: 20px; }
	}
	
	#header #hdrBtn span#bar3.aOut {
		animation: bar3Out 0.3s;
		animation-iteration-count: 1;
		animation-fill-mode: forwards;
		-webkit-animation: bar3Out 0.3s;
		-webkit-animation-iteration-count: 1;
		-webkit-animation-fill-mode: forwards;
	}
	@keyframes bar3Out {
		0% { transform: rotate(45deg); transform: rotate(45deg); top: 20px; left: 20px; }
		100% { transform: rotate(0deg); top: 27px; left: 13px; }
	}
	@-webkit-keyframes bar3Out {
		0% { -webkit-transform: rotate(45deg); top: 20px; left: 20px; }
		100% { -webkit-transform: rotate(0deg); top: 27px; left: 13px; }
	}
	
	h1.siteTitle {
		text-align: center;
		width: 100%;
		height: 43px;
		box-sizing: border-box;
		border-bottom: 1px solid #E5E5E5;
	}
	
	h1 img {
		margin: 0 auto;	
	}
	
	#gnav {
		position: absolute;
		top: 43px;
		left: 0;
		right: auto;
		width: 100%;
		overflow: hidden;
		height: 0px;
		background-color: rgba(0,0,0,0.85);
	}
	
	#gnav div {
		width: 750px;
		position: absolute;
		top: 0;
		left: 0;
		padding: 10px 0;
		overflow: hidden;
	}
	
	#gnav li {
		padding-left: 15px;
	}
	
	#gnav li a {
		color: #FFF;
		font-weight: bold;
	}
	
}

/*-------------------- footer ---------------------*/

#footer {
	color: #999;
	padding: 10px 0 0 0;
	border-top: 1px solid #E4E4E4;
	height: 47px;
}

#footer div.body {
	width: 980px;
	margin: 0 auto;
}

#footer div.body div.left {
	float: left;
}

#footer div.body div.right {
	float: right;
	text-align: right;
}

#footer div.body ul {
	font-size: 11px;
	list-style: none;
}

#footer div.body ul li {
	display: inline-block;
	margin-left: 20px;
}

#footer div.body ul li a {
	color: #999;
}

#footer div.body p.copy {
	float: right;
	font-size: 10px;
	text-align: right;
}

@media only screen and (max-width:640px){
	
	#footer {
		height: auto;
		background-color: #FFF;
		margin: 0;
		padding: 0;
		box-sizing: border-box;
	}
	
	#footer div.body {
		width: 100%;
		box-sizing: border-box;	
	}
	
	
	#footer div.sp {
		height: 59px;
		background-color: #FFF;
		width: 100%;
		text-align: center;
		box-sizing: border-box;
	}
	
	#footer div.sp p img {
		height: 59px;
		width: auto;
		display: block;
		margin: 0 auto;
	}
	
	#footer div.body p.copy {
		display: none;
	}
	
	#footer div.body div.right {
		float: none;
		text-align: center;
		background-color: #B2B2B2;
		height: 36px;
		box-sizing: border-box;
		padding-top: 10px;
	}
	
	#footer div.body ul li a {
		color: #FFF;
	}
	
	#footer div.body ul li:first-child {
		border-right: 1px solid #CBCBCB;
	}
	
	#footer div.body ul li {
		display: inline-block;
		margin-left: 0;
		padding: 0 10px;
	}

	
}

/*-------------------------- pagetop ----------------------*/


#pagetop {
	position: fixed;
	bottom: 50px;
	right: 40px;
	display: none;
}

@media only screen and (max-width:640px){

	#pagetop {
		position: fixed;
		bottom: 90px;
		right: 5px;
		display: none;
	}
	
	
}


/*--------------- content -------------------*/

div.section {
	width: 920px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 95px;
	/*border-left: 4px solid #DFDFDF;*/
	padding-left: 60px;
}

@media only screen and (max-width:640px){
	
	div.section {
		width: 100%;
		box-sizing: border-box;
		padding: 0 15px !important;
		margin-bottom: 40px;
	}
	
}

/*--------------- SNSButton -------------------*/

.sns_area,
.hit_sns_area{
	height:36px;
	overflow:hidden;
	width: 980px;
	margin: 65px auto 12px auto;
}

.sns_area li,
.hit_sns_area li {
	width:36px;
	height: 36px;
	float:right;
	display:inline; /* ie6 */
	margin-left:5px;
}
.mind_sns_area{
	position: absolute;
	bottom: -155px;
	left: -450px;
	cursor: pointer;
}

@media only screen and (max-width:640px){
	
	.sns_area,
	.hit_sns_area{
		width: 120px;
		box-sizing: border-box;
		padding: 0 15px;
		text-align: center;
	}
	
	.sns_area li,
	.hit_sns_area li {

	}
	
}


/*---------------------- table -----------------*/

table.tableList {
	border-collapse: collapse;
	color: #1a1a1a;
	width: 100%;
	font-size: 15px;
	margin-bottom: 30px;
}

table.tableList th,
table.tableList td {
	border: 1px solid #DCDADA;
	text-align: left;
	vertical-align: top;
	padding: 20px;
	font-weight: normal;
}

table.tableList th {
	background-color: #F6F6F6;
	width: 250px;
}

table.tableList td {
	background-color: #FFF;
}

@media only screen and (max-width:640px){
	
	table.tableList tr {
		width: 100%;
	}
	
	
	table.tableList th,
	table.tableList td {
		display: block !important;
		width: 100% !important;
		box-sizing: border-box;
		border: none;
		padding: 5px 10px;
		font-size: 12px;
	}
	
	table.tableList th {
		border-top: 1px solid #DCDADA;
		background-color: #E5E5E5;
	}
}



div.colmnA div.left,
div.colmnA div.right {
	width: 450px;	
}

div.colmnA div.left {
	float: left;
}

div.colmnA div.right {
	float: right;
}


/*--------------- margin set -------------------*/

.mt_s {
	margin-top: 10px !important;	
}

.mt_m {
	margin-top: 30px !important;	
}

.mt_l {
	margin-top: 60px !important;	
}

.mt_xl {
	margin-top: 90px !important;	
}

.mt_xxl {
	margin-top: 120px !important;	
}

.mb_s {
	margin-bottom: 10px !important;	
}

.mb_m {
	margin-bottom: 30px !important;	
}

.mb_l {
	margin-bottom: 60px !important;	
}

.mb_xl {
	margin-bottom: 90px !important;	
}

.mb_xxl {
	margin-bottom: 120px !important;	
}