#policy:before {
  content: "";
  background: url(../img/common/pagetop_bg.webp) no-repeat;
  background-size: 87.44vw;
  background-position: top right;
  width: 87.44vw;
  height: 70.9vw;
  position: fixed;
  top: 0;
  right: 0;
  z-index: -1;
}
#policy .contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 90.28vw;
  max-width:1200px;
  margin: 0 auto 9.72vw;
}
#policy .contents .policy {
  padding: 9.03vw 0 0 0;
  max-width:900px;
}
#policy .contents .policy .page_ttl {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  line-height: 1.5;
  color: #B50000;
  font-size: 5vw;
  font-weight: 500;
  line-height: 1.063;
  margin-bottom: 7.64vw;
}
#policy .contents .policy h2 {
  color: #B50000;
  font-weight: 700;
  font-size: 2.22vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 2.43vw;
}
#policy .contents .policy h2:before {
  content: "";
  width: 0.69vw;
  height: 0.69vw;
  display: block;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%2010%2010%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_199%22%20data-name%3D%22%E3%83%91%E3%82%B9%20199%22%20d%3D%22M0%2C34.554l10%2C10v-10Z%22%20transform%3D%22translate(0%20-34.554)%22%20fill%3D%22%23B50000%22%2F%3E%3C%2Fsvg%3E");
  background-size: 100%;
  background-repeat: no-repeat;
  width: 2.48vw;
  height: 2.48vw;
  margin-right: 0.9vw;
}
#policy .contents .policy .box + .box {
  margin-top:100px;
}
#policy .contents .policy .box h3 {
  font-size: 20px;
}
#policy .contents .policy .box p.tel {
  font-size: 50px;
  font-size:500;
}
#policy .contents .policy .box p.tel span {
  font-size: 20px;
  font-size:300;
  margin-left:8px;
}
#policy .contents .policy .box p.name {
  text-align: right;
}

#policy option,
#policy textarea,
#policy input[type=text],
#policy input[type=email],
#policy input[type=search],
#policy input[type=url] {
	width: calc(100% - 22px);
	padding: 10px;
	background: #FAFAFA;
	border: 1px solid #ddd;
	font-size:16px;
}
#policy select {
	padding: 10px;
	background: #FAFAFA;
	border: 1px solid #ddd;
	font-size:16px;
}
#policytextarea {
	height:300px;
	border: 1px solid #ddd;
	font-size:16px;
}
#policy dl {
	margin-top: 50px;
}
#policy dl dt {
	margin-bottom: 10px;
}
#policy dl dd + dt {
	margin-top: 50px;
}
#policy dl dd span{
	margin-right: 15px;
}
#policy dl dd span.small {
	margin-right: 0;
	font-size:14px;
}
#policy a.bt_policy {
	padding: 5px 10px;
	background: #989898;
	color:#fff;
}
#policy ul.button {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  width:100%;
  margin-top:50px;
}
#policy ul.button li {
  position:relative;
  width:45%;
  max-width:440px;
  color:#fff;
  margin: 0 0 0 30px;
}
#policy ul.button li::after {
  position:absolute;
  content: '';
  width:24px;
  height:24px;
  top:50%;
  right:20px;
  background-image: url('../img/common/plus.svg');
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
  transform: translateY(-50%);
  transition: 0.3s;
}
#policy .submit input {
  position:relative;
  width:100%;
  max-width:440px;
  min-width:250px;
  color:#fff;
  font-size:18px;
  font-weight: 600;
  line-height: 1.3;
  background-color: #B50000;
  border:2px solid  #B50000;
  transition: 0.3s;
  display: inline-block;
  padding:15px 100px 15px 20px;
}
#policy .submit input:hover {
  color:#B50000;
  background-color:#fff;
  transition: 0.3s;
}
#policy .mw_wp_form_input ul li:first-child {
  display: none;
} 

@media screen and (max-width: 768px) {
  #policy {
    padding-top: 32vw;
  }
  #policy:before {
    display: none;
  }
  #policy .contents {
    display: block;
    width: 86.67vw;
    margin-bottom: 16vw;
  }
  #policy .contents .page_list {
    display: none;
  }
  #policy .contents .policy {
    width: 100%;
    padding-top: 0;
  }
  #policy .contents .policy .page_ttl {
    font-size: 16.27vw;
    margin-bottom: 13.33vw;
  }
  #policy .contents .policy h2 {
    font-size: 6.4vw;
    margin-bottom: 9.33vw;
  }
  #policy .contents .policy h2:before {
    width: 7.27vw;
    height: 7.27vw;
    margin-right: 2.13vw;
  }

}

@media screen and (max-width: 550px) {

  #policy ul.button li {
    width:100%;
    max-width:100%;
    margin: 0 0 25px 0;
  }
  #policy .submit input {
    min-width:auto;
    font-size:14px;
  }

}