.button01 {
  display: inline-block;
  width: 200px;
  height: 54px;
  text-align: center;
  text-decoration: none;
  line-height: 54px;
  outline: none;
}
.button01::before,
.button01::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.button01,
.button01::before,
.button01::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}


.button01 {
  position: relative;
  z-index: 2;
  background-color: #fff;
  border: 2px solid #333;
  color: #333;
  line-height: 50px;
  overflow: hidden;
}
.button01:hover {
  color: #fff;  
}
.button01::after {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(.5);
  transform: scale(.5);
}
.button01:hover::after {
  background: #333;
  -webkit-transform: scale(1);
  transform: scale(1);
}


/*端丸ボタン*/
.button02 {
  display: inline-block;
  width: 200px;
  height: 54px;
  text-align: center;
  text-decoration: none;
  line-height: 54px;
  outline: none;
}
.button02::before,
.button02::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.button02,
.button02::before,
.button02::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.button02 {
  /*background-color: #fff;*/
  border: 2px solid #EF4644;
  color: #fff;
  line-height: 2.9em;
  border-radius:10px !important;
  width:100px;
  height:3.0em
}
.button02:hover {
  background-color: #FFF;
  border-color: #80AF68;
  color: #FF0000;
  text-decoration:none;
}
.button02 a{
  color: #fff !important;
}

/*背景黒色ボタン*/
.btn-flat-simple_black:hover {
    background: #BDC0B7;
    color: #FFFFFF;
}
.btn-flat-simple_black {
    position: relative;
    display: inline-block;
    font-weight: normal;
    padding: 0.3em 0.5em;
    text-decoration: none;
    color: #FFFFFF;
    background: #000;
    transition: .4s;
    border-radius: 5px;
    width:100%;
    max-width:280px;
    height:35px;
    text-align:center;
    font-size:1.2vw;
    line-height:39px;
}


/*黒線交差*/
.btn-cross {
  display: inline-block;
  position: relative;
  padding: 0.25em 1em;
  border-top: solid 2px black;
  border-bottom: solid 2px black;
  text-decoration: none;
  font-weight: normal;
  color: #000;
  /*width: 200px;*/
  /*height: 30px;*/
  font-size: calc(1rem + 0.5vw);
  padding: 12px 25px 17px;
}
.btn-cross:before, .btn-cross:after {
  content: '';
  position: absolute;
  top: -7px;
  width: 2px;
  height: -webkit-calc(100% + 14px);
  height: calc(100% + 14px);
  background-color: black;
  transition: .3s;
}
.btn-cross:before {
  left: 7px;
}
.btn-cross:after {
  right: 7px;
}
.btn-cross:hover:before {
  top: 0px;
  left:0;
  height: 100%;
}
.btn-cross:hover:after {
  top: 0px;
  right: 0;
  height: 100%;
}


/*フラットボタンシンプル*/
.btn-flat-simple {
  position: relative;
  display: inline-block;
  font-weight: normal;
  padding: 0.5em 1.0em;
  text-decoration: none;
  background: #00bcd4;
  color: white;
  transition: .4s;
  font-size:24px;
  border-radius:10px;
}

.btn-flat-simple:hover {
  color: #00BCD4;
  background: #ECECEC;
}

/*矢印移動ボタン*/
a.button_y {
  display: block;
  margin:0 auto;
  text-decoration: none;
  border: none;
  outline: 0;
  cursor: pointer;
  color: #fff !important;
  background: #80AF68;
  font-weight: bold;
  position: relative;
  height: 3.0em;
  line-height: 3.0em;
  width: 100px;
  padding: 0 0.8em 0 1.2em;
  transition: 0.5s;
}
a.button_y::after{
  transition: 0.5s;
  content: "";
  width: .6em;
  height: .6em;
  /*border-top: 2px solid #fff;
  border-right: 2px solid #fff;*/
  position: absolute;
  top: -2px;
  bottom: 0;
  right: 12px;
  margin: auto;
  /*-webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);*/
}
a.button_y:hover::after{
  right: 6px;  
}
a.button_y:hover {
  background: #BA0000;
  color: #fff;
}

/*矢印移動ボタンsubmit*/
input[type="submit"]{
  font-size: 1.1em !important;
  display: block;
  border: none;
  outline: 0;
  cursor: pointer;
  color: #fff;
  background: #80AF68;
  font-weight: nornal;
  height: 3.0em;
  /*line-height: 3.0em;*/
  width: 100%;
  padding: 0 2.5em 0 0.8em;
  transition: 0.7s;
}
.button_wrap{
  color: #fff;
  position: relative;
  line-height: 2.8em;
  width: 130px;
  transition: 0.5s;
  margin:0 auto;
}
.button_wrap::after{
  transition: 0.3s;
  content: "";
  width: .6em;
  height: .6em;
  /*border-top: 2px solid #fff;
  border-right: 2px solid #fff;*/
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
  /*-webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);*/
}
.button_wrap:hover::after{
  right: 12px;
}
input[type="submit"]:hover {
  background: #BA0000 !important;
}

