@charset "utf-8";

/*
************************************************************************
* ボタン・リンク
* @copyright Revolme Inc.
************************************************************************
*/

/* 汎用ボタン */
.button
{
	-webkit-appearance:none;
	display:inline-block;
	
	overflow:hidden;
	
	border-radius:0.7em;
	border:1px solid #000000;
	
	line-height:1;
	
	transition-duration:0.3s;
	transition-property:color;
	transition-timing-function:ease;
	
	background-color:transparent;
	color:#000000;
	
	cursor:pointer;
	
	margin-bottom:0.0em;
	
	min-width:280px;
	
	font-size:1.6rem;
	
	text-align:center;
	
	transition-duration:0.3s;
	transition-property:all;
	transition-timing-function:ease;
}
.button > span
{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	
	padding:1.2em 2.0em 1.2em 1.5em;
	width:100%;
	
	margin:-1px 0;
}
.button > span .main
{
	display:block;
	font-size:2.4rem;
	line-height:1;
}
.button > span .sub
{
	display:block;
	font-size:1.2rem;
	line-height:1;
	
	margin-top:0.5em;
}
.button:after
{
	display:block;
	position:absolute;
	top:calc(50%);
	right:0.5em;
	transform:translateY(-50%);
	
	width:1.5em;
	height:0.8em;
	
	background-image:url(../../../_img/icon/button-arrow-right.svg);
	background-position:center center;
	background-repeat:no-repeat;
	background-size:contain;

	transition-duration:0.3s;
	transition-property:all;
	transition-timing-function:ease;
}
.button:hover,
.button.active
{
	text-decoration:none;
	background-color:#000000;
	color:#FFFFFF;
}
.button:hover > span
{
}
.button:hover:after,
.button.active:after
{
	/*
	border-right:1px solid #222222;
	border-bottom:1px solid #222222;
	*/
}

.button.button-large
{
	border-radius:2.5em;
	min-width:530px;
}
.button.button-large > span
{
	padding:1.6em 2.0em 2.0em 2.0em;
	border-radius:2.5em;
}
.button.button-ext:after
{
	content:"";
	
	width:1.2em;
	height:0.7em;
	
	background-image:url(../../../_img/icon/link-w.svg);
	background-position:center center;
	background-repeat:no-repeat;
	background-size:contain;
}
.button.button-arrow:after
{
	content:"";
	
	width:1.2em;
	height:0.7em;
	
	background-image:url(../../../_img/icon/button-arrow-right.svg);
	background-position:center center;
	background-repeat:no-repeat;
	background-size:contain;
}
.button.button-arrow:hover:after
{
	background-image:url(../../../_img/icon/button-arrow-right-on.svg);
}
.button.button-arrow-down:after
{
	content:"";
	
	width:1.2em;
	height:0.7em;
	
	background-image:url(../../../_img/icon/button-arrow-down.svg);
	background-position:center center;
	background-repeat:no-repeat;
	background-size:contain;
}
.button.button-arrow-down:hover:after
{
	background-image:url(../../../_img/icon/button-arrow-down-on.svg);
}

.button.button-arrow-left:after
{
	content:"";
	
	right:auto;
	left:0.5em;
	
	width:1.2em;
	height:0.7em;
	
	background-image:url(../../../_img/icon/button-arrow-left.svg);
	background-position:center center;
	background-repeat:no-repeat;
	background-size:contain;
}
.button.button-arrow-left:hover:after
{
	background-image:url(../../../_img/icon/button-arrow-left-on.svg);
}

.button.button-small
{
	min-width:auto;
	font-size:1.2rem;
	border-radius:0.8em;
}
.button.button-small > span
{
	padding:0.8em 1.0em;
	width:100%;
}
.button.button-small > span.ff-amiri
{
	font-size:1.6rem;
	padding:0.6em 0.8em;
	padding-bottom:0.5em;
}
.button.button-small.button-arrow > span,
.button.button-small.button-ext > span
{
	padding-right:2.0em;
}
.button.button-small.button-arrow > span.ff-amiri
{
	padding-right:1.5em;
}

.button.button-small:after
{
}

/* == スマートフォンサイズ ==========================================================*/
@media screen and (max-width: 767px) {
	/* 汎用ボタン */
	.button
	{
		min-width:58vw;
		font-size:2.4rem;
	}
	.button > span
	{
		padding:1.5em 1.5em;
		width:100%;
	}
	.button > span .main
	{
		display:block;
		font-size:3.2rem;
		line-height:1;
		letter-spacing: 0.1em;
	}
	.button > span .sub
	{
		display:block;
		font-size:1.8rem;
		line-height:1;
		
		margin-top:0.5em;
	}
	.button:after
	{
		width:1.2em;
		height:0.8em;
	}
	.button.button-arrow:after
	{
		right:1.0em;
		width:1.2em;
		height:0.8em;
	}
	.button.button-arrow > span
	{
		padding-right:2.5em;
	}
	
	.button.button-large
	{
		border-radius:2.5em;
		min-width:530px;
	}
	.button.button-large > span
	{
		padding:1.6em 2.0em 2.0em 2.0em;
		border-radius:2.5em;
	}
	
	.button.button-small
	{
		min-width:auto;
		font-size:1.8rem;
	}
	.button.button-small > span
	{
		padding:0.5em 0.5em;
		width:100%;
	}
	.button.button-small.button-arrow > span,
	.button.button-small.button-ext > span
	{
		padding-right:2.0em;
	}

	.button.button-small:after
	{
		right:0.5em;
	}
}

