html {
  font-size: 62.5%;
}

body {
  background: #fff;
  color: #333;
  font: 1.6em "Noto Sans Japanese", sans-serif;
  line-height: 1.5;
  margin: 0;
}

.wrap {
  margin: auto;
  width: 100%;
}

img {
  max-width: 100%;
  vertical-align: bottom;
}

ul {
  list-style: none;
  padding: 0;
}

a:link, a:visited, a:hover, a:active {
  color: #454e56;
  text-decoration: none;
}
a img:hover {
  filter: alpha(opacity=70);
  -webkit-transition: 0.3s;
  opacity: 0.7;
  transition: 0.3s;
}

#totop {
  background: bottom / cover no-repeat url(../img/to_top.png);
  bottom: 16px;
  display: block;
  height: 80px;
  opacity: 0.8;
  position: fixed;
  right: 16px;
  width: 80px;
}
#totop span {
  display: none;
}
#totop a {
  display: block;
  height: 80px;
  width: 80px;
}
#totop:hover {
  filter: alpha(opacity=70);
  -webkit-transition: 0.3s;
  opacity: 0.7;
  transition: 0.3s;
}

.clearfix:after {
  clear: both;
  content: "";
  display: block;
}

.ctr {
  text-align: center;
}
.mincho {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.fs12 {
  font-size: 1.2rem;
}
.fs14 {
  font-size: 1.4rem;
}
.fs16 {
  font-size: 1.6rem;
}
.fs18 {
  font-size: 1.8rem;
}
.fs20 {
  font-size: 2.0rem;
}
.fs22 {
  font-size: 2.2rem;
}
.fs24 {
  font-size: 2.4rem;
}
.fs26 {
  font-size: 2.6rem;
}
.fs28 {
  font-size: 2.8rem;
}
.fs30 {
  font-size: 3.0rem;
}
.fs32 {
  font-size: 3.2rem;
}
.fs34 {
  font-size: 3.4rem;
}
.fs36 {
  font-size: 3.6rem;
}
.fs38 {
  font-size: 3.8rem;
}
.fs40 {
  font-size: 4.0rem;
}
.fs42 {
  font-size: 4.2rem;
}
.fs46 {
  font-size: 4.6rem;
}
.fs48 {
  font-size: 4.8rem;
}
.fs50 {
  font-size: 5.0rem;
}
.fs52 {
  font-size: 5.2rem;
}
.fs58 {
  font-size: 5.6rem;
}
.fs60 {
  font-size: 6.0rem;
}
.fw3 {
  font-weight: 300;
}
.fw6 {
  font-weight: 600;
}
.under {
  background: linear-gradient(transparent 80%, #ffbb00 80%);
}
.mt4 {
  margin-top: 4px;
}
.mt8 {
  margin-top: 8px;
}
.mt16 {
  margin-top: 16px;
}
.mt32 {
  margin-top: 32px;
}
.mt64 {
  margin-top: 64px;
}
.mb4 {
  margin-bottom: 4px;
}
.mb8 {
  margin-bottom: 8px;
}
.mb16 {
  margin-bottom: 16px;
}
.mb32 {
  margin-bottom: 32px;
}
.mb64 {
  margin-bottom: 64px;
}
.pt4 {
  padding-top: 4px;
}
.pt8 {
  padding-top: 8px;
}
.pt16 {
  padding-top: 16px;
}
.pt32 {
  padding-top: 32px;
}
.pt64 {
  padding-top: 64px;
}
.pb4 {
  padding-bottom: 4px;
}
.pb8 {
  padding-bottom: 8px;
}
.pb16 {
  padding-bottom: 16px;
}
.pb32 {
  padding-bottom: 32px;
}
.pb64 {
  padding-bottom: 64px;
}
.c_fff {
  color: #fff;
}
.c_000 {
  color: #000;
}
.c_ff800a {
  color: #ff800a;
}
.c_ff3 {
  color: #ff3;
}
.c_2d9bd5 {
  color: #2d9bd5;
}
.c_0e6eac {
  color: #0e6eac;
}
.c_ff2400 {
  color: #ff2400;
}

@media screen and (max-width:560px){
.pc {
  display: none !important;
}
.sp {
  display: block !important;
}

.fs20 {
  font-size: 1.8rem;
}
.fs22 {
  font-size: 2.0rem;
}
.fs24 {
  font-size: 2.0rem;
}
.fs26 {
  font-size: 2.0rem;
}
.fs28 {
  font-size: 2.2rem;
}
.fs30 {
  font-size: 2.4rem;
}
.fs32 {
  font-size: 2.4rem;
}
.fs34 {
  font-size: 2.6rem;
}
.fs36 {
  font-size: 2.6rem;
}
.fs38 {
  font-size: 2.8rem;
}
.fs40 {
  font-size: 2.8rem;
}
.fs42 {
  font-size: 3.2rem;
}
.fs46 {
  font-size: 3.2rem;
}
.fs48 {
  font-size: 3.4rem;
}
.fs50 {
  font-size: 3.4rem;
}
.fs52 {
  font-size: 3.6rem;
}
.fs56 {
  font-size: 4.0rem;
}
.fs60 {
  font-size: 4.2rem;
}
.mt4 {
  margin-top: 4px;
}
.mt32 {
  margin-top: 16px;
}
.mt64 {
  margin-top: 32px;
}
.mb32 {
  margin-bottom: 16px;
}
.mb64 {
  margin-bottom: 32px;
}
.pt32 {
  padding-top:16px;
}
.pt64 {
  padding-top: 32px;
}
.pb32 {
  padding-bottom: 16px;
}
.pb64 {
  padding-bottom: 32px;
}
}
/*送信ボタン*/
input.wpcf7-form-control.wpcf7-submit {background-color: #ff800a;color: #fff;font-size: 1.5em;}

/*ValidateErrorMessage*/
.wpcf7 .wpcf7-not-valid {
  background: pink;
}
.wpcf7 .wpcf7-not-valid input{
  background: #e68798;
}
.wpcf7-not-valid-tip  {
  position: relative;
  display: inline-block;
  margin: 1.5em 0;
  padding: 7px 10px;
  min-width: 120px;
  max-width: 100%;
  color: #d64e4e;
  font-size: 16px;
  background: #e0edff;
  border-radius:5px;
}

.wpcf7-not-valid-tip:before {
  content: "";
  position: absolute;
  top: -30px;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-bottom: 15px solid #e0edff;
}

.wpcf7-not-valid-tip p {
  margin: 0;
  padding: 0;
}