/* motion,btn
---------------------------------------- */
*:selection {
  background: #f27649;
  color: #fff;
}
a,
img,
.photo,
.over,
aside#sns li span,
.nav-child,
.ico-area dd ul {
  -webkit-transition: All 0.5s ease;
  -moz-transition: All 0.5s ease;
  -o-transition: All 0.5s ease;
  transition: All 0.5s ease;
}
.btn {
  text-align: center;
}
.btn a,
.btn input {
  margin: auto;
  text-decoration: none;
  border-radius: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.btn a:hover,
.btn input:hover {
  opacity: 0.8;
}
/*ボタンサイズ*/
.btn.size_s a,
.btn.size_s input {
  width: 240px;
  height: 40px;
}
.btn.size_r a,
.btn.size_r input {
  width: 328px;
  height: 50px;
}
.btn.size_l a,
.btn.size_l input {
  width: 512px;
  height: 60px;
}
.btn.size_80 a,
.btn.size_80 input {
  width: 80%;
  height: 60px;
}
@media screen and (max-width: 480px) {
  /* 480px以下に適用されるCSS（スマホ用） */
  .btn.size_r a,
  .btn.size_r input {
    width: 100%;
  }
  .btn.size_l a,
  .btn.size_l input {
    width: 100%;
  }
}

/*ボタン種別*/
.btn.search_btn {
}
.btn.search_btn:after {
}
.btn.next a,
.btn.next input {
  position: relative;
  background: #fff;
  color: var(--key);
  transition: 0.4s;
  border: 1px solid var(--gray);
}
.btn.next a:after,
.btn.next input:after {
  font-family: "FontAwesome";
  content: "\f105";
  position: absolute;
  right: 20px;
  margin: auto;
}
.btn.next a:hover,
.btn.next input:hover {
  background: var(--accent);
  color: #fff;
  opacity: 1;
}
.btn.primary a,
.btn.primary input {
  position: relative;
  color: var(--accent);
  background: #fff;
  transition: 0.4s;
  border: 1px solid var(--accent);
}
.btn.primary a:after,
.btn.primary input:after {
  font-family: "FontAwesome";
  content: "\f105";
  position: absolute;
  right: 20px;
  margin: auto;
}
.btn.primary a.no_effect:hover,
.btn.primary input.no_effect:hover {
  color: #fff;
  background: var(--accent);
  opacity: 1;
}
.btn.submit a,
.btn.submit input {
  position: relative;
  color: #fff;
  background: var(--accent);
  transition: 0.4s;
  border: 1px solid var(--accent);
  padding-left: 0;
}
.btn.submit a:after,
.btn.submit input:after {
  font-family: "FontAwesome";
  content: "\f105";
  position: absolute;
  right: 20px;
  margin: auto;
}
.btn.submit a:hover,
.btn.submit input:hover {
  color: var(--accent);
  background: #fff;
  opacity: 1;
}

.btn.back a,
.btn.back input {
  position: relative;
  color: #fff;
  background: var(--dark);
  transition: 0.4s;
}
.btn.back a:after,
.btn.back input:after {
  font-family: "FontAwesome";
  content: "\f104";
  position: absolute;
  left: 20px;
  margin: auto;
}
@media screen and (max-width: 480px) {
  /* 480px以下に適用されるCSS（スマホ用） */
  .btn.tel a,
  .btn.tel input {
    position: relative;
    width: 80%;
    height: 60px;
    margin-bottom: 5px;
    font-size: 1.2em;
    color: var(--accent);
    background: #fff;
    font-weight: 400;
    transition: 0.4s;
    border: 1px solid var(--accent);
  }
}

.effect {
  overflow: hidden;
}
.effect::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  top: -1%;
  left: -1%;
  width: 102%;
  height: 102%;
  background-color: #23a7ff;
  -webkit-transition: -webkit-transform 0.4s;
  transition: -webkit-transform 0.4s;
  transition: transform 0.4s;
  transition: transform 0.4s, -webkit-transform 0.4s;

  -webkit-transform-origin: left top;
  transform-origin: left top;
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
}
.effect:hover::before {
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
}
.primary .effect::before {
  background-color: var(--accent);
}
.primary .effect:hover {
  color: #fff;
}
