/* ---------------------
実行（ボタン）
--------------------- */
/* 共通 */
.sn-exe{
	position: relative;
	font-weight: bold;
	text-decoration:none;
	box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.3);
	margin: 16px auto;
	background-color:#fafafa;
	border: 1px solid transparent;
	cursor: pointer;
	color: #3D5863;
	outline: 0;
	/* ios */
	-webkit-appearance: none !important;
}
.sn-exe.sn-l {
	line-height:4.8em;
	border-radius:4px;
	margin-bottom:5px;
	width: 360px;
}
.sn-exe.sn-m {
	line-height:3.6em;
	border-radius:4px;
	margin-bottom:5px;
	width: 240px;
}
.sn-exe.sn-s {
	line-height:2.4em;
	border-radius:4px;
	margin-bottom:1px;
	width: 120px;
}
.sn-exe:active{
	box-shadow: 0px -1px 8px rgba(0, 0, 0, 0.3);
	background-color: #fff;
	top: 3px;
}
.sn-exe:hover{
	background-color: #fff;
}
.sn-exe::before, .sn-exe::after {
 -webkit-transition: all .3s;
 transition: all .3s;
}

/* 意味別 */
/*プライマリー*/
.sn-exe.sn-primary {
	background: #007DCE;
	color: #fff;
}
.sn-exe.sn-primary:hover {
	background: #00AAEE;
	border-color: #00AAEE;
}

/*成功*/
.sn-exe.sn-success {
	background: #16A085;
	color:#fff;
	text-decoration:none;
}
.sn-exe.sn-success:hover {
	background: #1abc9c;
}

/*不可状態*/
.sn-exe.sn-disable{
	background: #b2cad1;
	color:#5C8495;
	text-decoration:none;
	cursor: pointer;
}
.sn-exe.sn-disable:hover {
	top:0;
}


/* ---------------------
入力フォーム
--------------------- */

.sn-input-txt.sn-l input[type=text]{
	font-size: 28px;
}
.sn-input-txt.sn-m input[type=text]{
	font-size: 21px;
}
.sn-input-txt.sn-s input[type=text]{
	font-size: 14px;
}
.sn-input-txt{ 
	position:relative;
	margin-top: 14px;
}
.sn-input-txt input[type="text"]{
  display:block;
}
.sn-input-txt label{
  color:#888; 
  /*font-size:21px;*/
  font-weight:normal;
  position:absolute;
  pointer-events:none;
  left:8px;
  top:8px;
  transition:0.2s ease all; 
  -moz-transition:0.2s ease all; 
  -webkit-transition:0.2s ease all;
}
.sn-input-txt input:focus ~ label, .sn-input-txt input:valid ~ label        {
  top:-20px;
  font-size:14px;
  color:#16a085;
}

/* ---------------------
ステップ
--------------------- */
.sn-stepbar.sn-triangle {
	margin: 8px auto 16px auto;
}
.sn-stepbar.sn-triangle > ol {
	display: table;
	table-layout: fixed;
	width: 100%;
	height: 48px;
	text-align: center;
	overflow: hidden;
	padding: 0;
	margin: 0;
}
.sn-stepbar.sn-triangle > ol > li {
    display: table-cell;
    position: relative;
    padding: 8px 16px 8px 18px;
    margin: 0;
    background-color: #eee;
    font-weight: bold;
    font-size: 14px;
    color: #000;
    box-sizing: border-box;
    line-height: 1.2em;
    vertical-align: middle;
}
.sn-stepbar.sn-triangle > ol > li:last-child { padding-right: 8px;}
.sn-stepbar.sn-triangle > ol > li:first-child { padding-left: 8px;}

.sn-stepbar.sn-triangle > ol > li:before, .sn-stepbar.sn-triangle > ol > li:after {
	content: "";
	display: block;
	position: absolute;
	left: -10px;
	border-left: 2px solid #fff;
	background-color: #eee;
	width: 15px;
	height: 25px;
}
.sn-stepbar.sn-triangle > ol > li:before {
	bottom: 0;
	-webkit-transform: skew(-30deg);
	transform: skew(-30deg);
}
.sn-stepbar.sn-triangle > ol > li:after {
	top: 0;
	-webkit-transform: skew(30deg);
	transform: skew(30deg);
}
.sn-stepbar.sn-triangle > ol > li:first-child {
	-webkit-order-top-left-radius: 4px;
	border-top-left-radius: 4px;
	border-bottom-left-radius: 4px;
}
.sn-stepbar.sn-triangle > ol > li:first-child:before, .sn-stepbar.sn-triangle > ol > li:first-child:after {
	content: none;
}
.sn-stepbar.sn-triangle > ol > li:last-child {
	border-top-right-radius: 4px;
	border-bottom-right-radius: 4px;
}
.sn-stepbar.sn-triangle > ol > li > span {
	display: inline-block;
	position: relative;
}
.sn-stepbar.sn-triangle > ol > li.current {
	background-color: #1abc9c;
	color:#fff;
}
.sn-stepbar.sn-triangle > ol > li.current:before, .sn-stepbar.sn-triangle > ol > li.current:after {
	background-color: #1abc9c;
}
.sn-stepbar.sn-triangle > ol > li.current > span:before {
	color: #1abc9c;
}

@media screen and (max-width: 767px) {
.sn-stepbar.sn-triangle {
	margin: 8px auto;
}
.sn-stepbar.sn-triangle > ol {
	height: 48px;
}
.sn-stepbar.sn-triangle > ol > li {
	padding: 0 8px 0 4px;
	font-size: 10px;
}
.sn-stepbar.sn-triangle > ol > li:before, .sn-stepbar.sn-triangle > ol > li:after {
	left: -6px;
	width: 8px;
	height: 24px;
}

.sn-stepbar.sn-triangle > ol > li > span:before {
	line-height: 14px;
	height: 14px;
	width: 14px;
	font-size: 11px;
}
	
.sn-stepbar.sn-triangle > ol > li:before {
	-webkit-transform: skew(-20deg);
	transform: skew(-20deg);
}
.sn-stepbar.sn-triangle > ol > li:after {
	-webkit-transform: skew(20deg);
	transform: skew(20deg);
}
	
}
