@charset "UTF-8";

/*参考*/
/*
http://www.nxworld.net/tips/css-only-button-design-and-hover-effects.html
*/

/* button animation sample*/
/* button base*/
.button {
	display: inline-block;
	width: 100%;
	height: 54px;
	text-align: center;
	text-decoration: none;
	line-height: 54px;
	outline: none;
}
.button::before,
.button::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.button,
.button::before,
.button::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

/* button01----------------------------- */
/* 背景カラーをふわっと変更する */
.button01 {
	background-color: #333;
	color: #fff;
}
.button01:hover {
	background-color: #59b1eb;
}

/* button02----------------------------- */
/* 背景・ボーダー・文字カラーをふわっと変更する */
.button02 {
	background-color: #333;
	border: 2px solid #333;
	color: #fff;
	line-height: 50px;
}
.button02:hover {
	background-color: #fff;
	border-color: #59b1eb;
	color: #59b1eb;
}

/* button03----------------------------- */
/* 背景カラーが左右に分かれていく */
.button03 {
	position: relative;
	z-index: 2;
	background-color: #333;
	border: 2px solid #333;
	color: #fff;
	line-height: 50px;
}
.button03:hover {
	background-color: #fff;
	border-color: #59b1eb;
	color: #59b1eb;
}
.button03::before,
.button03::after {
	top: 0;
	width: 50%;
	height: 100%;
	background-color: #333;
}
.button03::before {
	right: 0;
}
.button03::after {
	left: 0;
}
.button03:hover::before,
.button03:hover::after {
	width: 0;
	background-color: #59b1eb;
}

/* button04----------------------------- */
/* 背景カラーが上下に分かれていく */
.button04 {
	position: relative;
	z-index: 2;
	background-color: #333;
	border: 2px solid #333;
	color: #fff;
	line-height: 50px;
}
.button04:hover {
	background-color: #fff;
	border-color: #59b1eb;
	color: #59b1eb;
}
.button04::before,
.button04::after {
	left: 0;
	width: 100%;
	height: 50%;
	background-color: #333;
}
.button04::before {
	top: 0;
}
.button04::after {
	bottom: 0;
}
.button04:hover::before,
.button04:hover::after {
	height: 0;
	background-color: #59b1eb;
}

/* button05----------------------------- */
/* 文字間隔を広げる */
.button05 {
	background-color: #333;
	color: #fff;
}
.button05:hover {
	letter-spacing: 5px;
}

/* button06----------------------------- */
/* 背景を透過させ、ホバー時にうっすらと背景色を出す */
.button06 {
	background-color: transparent;
	border: 2px solid #fff;
	color: #fff;
	line-height: 50px;
}
.button06:hover {
	background-color: rgba(255, 255, 255, .2);
}

/* button07----------------------------- */
/* ボーダースタイルを変更する */
.button07 {
	background-color: #fff;
	border: 2px solid #333;
	color: #333;
	line-height: 50px;
}
.button07:hover {
	border-style: dashed;
}

/* button08----------------------------- */
/* 内側にブロックを表示する */
.button08 {
	position: relative;
	z-index: 2;
	background-color: #fff;
	border: 2px solid #333;
	color: #333;
	line-height: 48px;
}
.button08::after {
	top: 4px;
	left: 4px;
	width: calc(100% - 12px);
	height: 42px;
	border: 2px solid #333;
	opacity: 0;
}
.button08:hover::after {
	opacity: 1;
}

/* button09----------------------------- */
/* 上から背景がするっと降りてくる */
.button09 {
	position: relative;
	z-index: 2;
	background-color: #fff;
	border: 2px solid #333;
	color: #333;
	line-height: 50px;
	overflow: hidden;
}
.button09:hover {
	color: #fff;
}
.button09::after {
	top: -100%;
	width: 100%;
	height: 100%;
}
.button09:hover::after {
	top: 0;
	background-color: #333;
}

/* button10----------------------------- */
/* 左上から背景がするっと降りてくる */
.button10 {
	position: relative;
	z-index: 2;
	background-color: #fff;
	border: 2px solid #333;
	color: #333;
	line-height: 50px;
	overflow: hidden;
}
.button10:hover {
	color: #fff;
}
.button10::after {
	top: -100%;
	left: -100%;
	width: 100%;
	height: 100%;
}
.button10:hover::after {
	top: 0;
	left: 0;
	background-color: #333;
}

/* button11----------------------------- */
/* 奥から背景をふわっと表示させる #1 */
.button11 {
	position: relative;
	z-index: 2;
	background-color: #fff;
	border: 2px solid #333;
	color: #333;
	line-height: 50px;
	overflow: hidden;
}
.button11:hover {
	color: #fff;
}
.button11::after {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-webkit-transform: scale(.5);
	transform: scale(.5);
}
.button11:hover::after {
	background: #333;
	-webkit-transform: scale(1);
	transform: scale(1);
}

/* button12----------------------------- */
/* 奥から背景をふわっと表示させる #2 */
.button12 {
	position: relative;
	z-index: 2;
	background-color: #fff;
	border: 2px solid #333;
	color: #333;
	line-height: 50px;
	overflow: hidden;
}
.button12:hover {
	color: #fff;
}
.button12::after {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.button12:hover::after {
	-webkit-transform: scale(2) rotate(180deg);
	transform: scale(2) rotate(180deg);
	background: #333;
}

/* button13----------------------------- */
/* 上からパタッと要素が落ちてくる */
.button13 {
	position: relative;
	z-index: 2;
	border: 2px solid #333;
	color: #333;
	line-height: 50px;
	-webkit-perspective: 300px;
	perspective: 300px;
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
}
.button13:hover {
	color: #fff;
}
.button13::after {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #333;
	-webkit-transform-origin: center top;
	transform-origin: center top;
	-webkit-transform: rotateX(90deg);
	transform: rotateX(90deg);
	opacity: 0.5;
}
.button13:hover::after {
	-webkit-transform: rotateX(0);
	transform: rotateX(0);
	opacity: 1;
}

/* button14----------------------------- */
/* 要素がパタッと開く */
.button14 {
	position: relative;
	z-index: 2;
	border: 2px solid #333;
	color: #fff;
	line-height: 50px;
	-webkit-perspective: 300px;
	perspective: 300px;
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
}
.button14:hover {
	color: #333;
}
.button14::after {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #333;
	-webkit-transform-origin: center bottom;
	transform-origin: center bottom;
	-webkit-transform: rotateX(0);
	transform: rotateX(0);
}
.button14:hover::after {
	-webkit-transform: rotateX(-180deg);
	transform: rotateX(-180deg);
}

/* button15----------------------------- */
/* キューブ状にクルッと回転する */
.button15 {
	position: relative;
	-webkit-perspective: 300px;
	perspective: 300px;
}
.button15 span {
	display: block;
	position: absolute;
	width: 100%;
	height: 60px;
	border: 2px solid #333;
	text-align: center;
	line-height: 56px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
	pointer-events: none;
}
.button15 span:nth-child(1) {
	background-color: #333;
	color: #fff;
	-webkit-transform: rotateX(90deg);
	-moz-transform: rotateX(90deg);
	transform: rotateX(90deg);
	-webkit-transform-origin: 50% 50% -30px;
	-moz-transform-origin: 50% 50% -30px;
	transform-origin: 50% 50% -30px;
}
.button15 span:nth-child(2) {
	background-color: #fff;
	color: #333;
	-webkit-transform: rotateX(0deg);
	-moz-transform: rotateX(0deg);
	transform: rotateX(0deg);
	-webkit-transform-origin: 50% 50% -30px;
	-moz-transform-origin: 50% 50% -30px;
	transform-origin: 50% 50% -30px;
}
.button15:hover span:nth-child(1) {
	-webkit-transform: rotateX(0deg);
	-moz-transform: rotateX(0deg);
	transform: rotateX(0deg);
}
.button15:hover span:nth-child(2) {
	background-color: #333;
	-webkit-transform: rotateX(-90deg);
	-moz-transform: rotateX(-90deg);
	transform: rotateX(-90deg);
}

/* button16----------------------------- */
/* CSSのみでボタンデザイン #1 */
.button16 {
	position: relative;
	background-color: #1abc9c;
	border-radius: 4px;
	color: #fff;
	line-height: 52px;
	-webkit-transition: none;
	transition: none;
	box-shadow: 0 3px 0 #0e8c73;
	text-shadow: 0 1px 1px rgba(0, 0, 0, .3);
}
.button16:hover {
	background-color: #31c8aa;
	box-shadow: 0 3px 0 #23a188;
}
.button16:active {
	top: 3px;
	box-shadow: none;
}

/* button17----------------------------- */
/* CSSのみでボタンデザイン #2 */
.button17 {
	position: relative;
	background-color: #f7d034;
	border-radius: 4px;
	color: #fff;
	line-height: 52px;
	-webkit-transition: none;
	transition: none;
	box-shadow: 0 3px 0 #f7ba59;
	text-shadow: 0 1px 1px rgba(0, 0, 0, .4);
}
.button17:hover {
	top: -4px;
	box-shadow: 0 7px 0 #f7ba59;
}
.button17:active {
	top: 3px;
	box-shadow: none;
}

/* button18----------------------------- */
/* CSSのみでボタンデザイン #3 */
.button18 {
	border: 1px solid #15aeec;
	background-color: #49c0f0;
	background-image: -webkit-linear-gradient(top, #49c0f0, #2cafe3);
	background-image: linear-gradient(to bottom, #49c0f0, #2cafe3);
	border-radius: 4px;
	color: #fff;
	line-height: 50px;
	-webkit-transition: none;
	transition: none;
	text-shadow: 0 1px 1px rgba(0, 0, 0, .3);
}
.button18:hover {
	border:1px solid #1090c3;
	background-color: #1ab0ec;
	background-image: -webkit-linear-gradient(top, #1ab0ec, #1a92c2);
	background-image: linear-gradient(to bottom, #1ab0ec, #1a92c2);
}
.button18:active {
	background: #1a92c2;
	box-shadow: inset 0 3px 5px rgba(0, 0, 0, .2);
	color: #1679a1;
	text-shadow: 0 1px 1px rgba(255, 255, 255, .5);
}

/* button19----------------------------- */
/* CSSのみでボタンデザイン #4 */
.button19 {
	position: relative;
	border-radius: 4px;
	color: #fff;
	line-height: 50px;
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	-webkit-transition: none;
	transition: none;
	text-shadow: 0px 1px 0px #f56778;
}
.button19,
.button19:hover {
	border-bottom: 4px solid #cb5462;
	background-color: #f56778;
	background-image: -webkit-linear-gradient(top, #f997b0, #f56778);
	background-image: linear-gradient(to bottom, #f997b0, #f56778);
	box-shadow: inset 1px 1px 0 #fbc1d0;
}
.button19::before,
.button19::after {
	bottom: -1px;
	left: -1px;
	width: 100%;
	height: 50px;
	border: 1px solid #ee8090;
	border-bottom: 1px solid #b84d5a;
	border-radius: 4px;
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	-webkit-transition: none;
	transition: none;
}
.button19::before {
	height: 48px;
	bottom: -4px;
	border-top: 0;
	border-radius: 0 0 4px 4px;
	box-shadow: 0 1px 1px 0px #bfbfbf;
}
.button19:hover {
	background: #f56778;
	background-image: -webkit-linear-gradient(top, #f56778, #f997b0);
	background-image: linear-gradient(to bottom, #f56778, #f997b0);
	color: #913944;
	text-shadow: 0px 1px 0px #f9a0ad;
}
.button19:active {
	bottom: -4px;
	margin-bottom: 4px;
	border: none;
	box-shadow: 1px 1px 0 #fff, inset 0 1px 1px rgba(0, 0, 0, .3);
}
.button19:active::before,
.button19:active::after {
	border: none;
	box-shadow: none;
}

/* button20----------------------------- */
/* CSSのみでボタンデザイン #5 */
.button20 {
	background-color: rgba(255, 255, 255, .2);
	border-radius: 4px;
	color: #fff;
	box-shadow: 0 3px 3px rgba(0, 0, 0, .2), inset 0 1px 1px rgba(255, 255, 255, .7);
	text-shadow: 0px 1px 0px rgba(0, 0, 0, .4);
}
.button20:hover {
	background-color: rgba(255, 255, 255, .3);
}