@charset "UTF-8";

/*
（768px以上）タブレット以上の場合
@media (min-width:768px){}

横幅1140pxを切るとき
@media (max-width:1139px){}

PC表示（1080px）より小さく、タブレット以上の場合
@media (min-width:768px) and (max-width:1139px){

横幅1140pxより大きいとき（PC表示）
@media (min-width:1140px){
}

*/

/****************************************************************************
 	clearfix
****************************************************************************/
.clearfix:after {
	content: "."; 
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

.clearfix {
	min-height: 1px;
}

* html .clearfix {
	height: 1px;
	/*¥*//*/
	height: auto;
	overflow: hidden;
	/**/
}

/****************************************************************************
    common parts
****************************************************************************/
.sp {
	display: block;
}
@media (min-width:768px){
	.sp {
		display: none;
	}
}


.pc {
	display: none;
}
@media (min-width:768px){
	.pc {
		display: block;
	}
}


.inner {
	width: 100%;
	padding: 0 20px;
}
@media (min-width:1140px){
	.inner {
		width: 1140px;
		margin: 0 auto;
		padding: 0 0;
	}
}


/*position:fixedでヘッダ固定時の
ページ内リンクのずれを解消*/
.link-menu {
	padding-top: 80px;
	margin-top: -80px;
}
@media  (min-width:768px) and (max-width:1139px){
	.link-menu {
		padding-top: 120px;
		margin-top: -120px;
	}
}
@media  (min-width:1140px) {
	.link-menu {
		padding-top: 150px;
		margin-top: -150px;
	}
}


/****************************************************************************
    common parts text
****************************************************************************/
.gf-shrinkhand {
	font-family: 'Shrikhand', cursive;
}

.txt-right {
	text-align: right;
}
.txt-center {
	text-align: center;
}
.txt-bold {
	font-weight: bold;
}
.txt-blue {
	color: #04b7f9;
}


/****************************************************************************
 	topic-path
****************************************************************************/
/*
.topic-path {
	padding: 5px 0;
	background-color: #eeeeee;
	line-height: 1.3;
}
.topic-path li {
	display: inline;
	font-size: 13px;
}
.topic-path li a {
	color: #313131;
	text-decoration: none;
}
.topic-path li a:after {
	content: ">";
	padding-right: 5px;
	padding-left: 10px;
	color: #313131;
}
.topic-path li a:hover {
	color: #313131;
	text-decoration: underline;
}
.topic-path li span {
	color: #313131;	
}
@media (min-width:768px){
	.topic-path {
		padding: 8px 0;
		line-height: 1.8;
	}
}*/


/****************************************************************************
 	list
****************************************************************************/
/* disc
---------------------*/
.list-disc {
	margin: 0 20px;
}
@media (min-width:768px){
	.list-disc {
		/*line-height: 2.0;*/
	}
}


.list-disc-item {	list-style-type: disc;
	margin: 0 0 10px 0;
}

/* decimal
---------------------*/
.list-decimal {
	margin: 0 25px 0 25px;
}
@media (min-width:768px){
	.list-decimal {
		/*line-height: 2.0;*/
	}
}


.list-decimal-item {
	list-style-type: decimal;
	margin: 0 0 10px 0;
}

/* roman
---------------------*/
.list-roman {
	margin: 0 25px 0 25px;
}
@media (min-width:768px){
	.list-roman {
		/*line-height: 2.0;*/
	}
}


.list-roman-item {
	list-style-type: lower-roman;
	margin: 0 0 0 0;
}



/****************************************************************************
 	btn
****************************************************************************/
/* ボタンを囲む各要素
---------------------*/

.btn-center {
	margin: 0 auto;
}

/* ボタンbase　カラー：ブラック
---------------------*/
a.m-btn {
	display:block;
	cursor: pointer;
	text-decoration: none;
	width: 100%;
	margin: 0 auto;
	position: relative;
	border: 2px solid #000;
	background-color: #000;
	padding: 10px 0;
	text-align: center;
	font-size: 15px;
	color: #fff;
	-moz-transition: all 0.25s ease; /* Firefox 4 */
	-webkit-transition: all 0.25s ease; /* Safari and Chrome */
    -o-transition: all 0.25s ease;/* Opera */
}
.m-btn:after {
	position: absolute;
	right: 5px;
	top: 50%;
	margin-top: -6px;
	display: block;
	content:"";
	width: 8px;
	height: 14px;
	background: url(../img/btn_arrow_white.png) no-repeat 0 0;
}
.m-btn:hover {
	background-color: #fff;
	color: #000;
	text-decoration: none;
}
.m-btn:hover:after {
	background: url(../img/btn_arrow_black.png) no-repeat 0 0;
}
@media (min-width:768px){
	a.m-btn{
		width: 250px;
		font-size: 15px;
	}
	a.m-btn:after {
		right: 10px;
	}
}


/****************************************************************************
    margin bottom
****************************************************************************/
/*   XSサイズ
---------------------*/
.mb-xs {
	margin-bottom: 5px;
}
@media (min-width:768px){
	.mb-xs {
		margin-bottom: 10px;
	}
}

/*   Sサイズ
---------------------*/
.mb-s {
	margin-bottom: 10px;
}
@media (min-width:768px){
	.mb-s {
		margin-bottom: 20px;
	}
}

/*  Mサイズ
---------------------*/
.mb-m {
	margin-bottom: 20px;
}
@media (min-width:768px){
	.mb-m {
		margin-bottom: 30px;
	}
}

/*  XLサイズ
---------------------*/

.mb-xl {
	margin-bottom: 50px;
}
@media (min-width:768px){
	.mb-l {
		margin-bottom: 80px;
	}
}

/****************************************************************************
    margin top
****************************************************************************/
/*   Sサイズ
---------------------*/
.mt-s {
	margin-top: 10px;
}
@media (min-width:768px){
	.mt-s {
		margin-top: 20px;
	}
}

/****************************************************************************
    margin left
****************************************************************************/
.ml_10 {
	margin-left: 10px;
}


/****************************************************************************
    padding 左右 common
****************************************************************************/

@media (min-width:768px){
	.plr-20 {
		padding: 0 20px;	
	}
	.plr-30 {
		padding: 0 30px;	
	}
}


