.main-visual {
  position: relative;
}

.main-visual .main-ttl img {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 35%;
}

.campaign-inner {
  background: #fff;
  padding: 5% 5%;
  margin: 5rem auto;
  color: #000;
}
.campaign-area .campaign-inner > p:nth-child(1) {
  background: #f00;
  font-size: 3.5rem;
  color: #fff;
  font-weight: bold;
  width: fit-content;
  padding: 0 2rem;
  margin: auto;
  margin-bottom: 2rem;
}

.campaign-area div.main-ttl h2 {
  font-size: 3.2rem;
  text-align: center;
  font-weight: bold;
}

.campaign-area .campaign-inner > p:nth-child(3) {
  font-size: 1.8rem;
  text-align: center;
  margin: 2rem auto;
  font-weight: bold;
}

.campaign-text {
  padding: 5rem;
  background: #eeefef;
  border-radius: 20px;
  margin-top: 4rem;
  color: #000;
}

.campaign-text > dl {
  display: grid;
  grid-template-columns: 1fr 6fr;
  gap: 2rem;
  align-items: center;
  margin-bottom: 3rem;
}

.campaign-text > dl dt:nth-child(1) {
  background: #c50018;
  color: #fff;
  font-size: 2.1rem;
  padding: 0.5rem 0.5rem;
  text-align: center;
}
.campaign-text > dl dd:nth-child(2) {
  font-size: 1.6rem;
  font-weight: bold;
  color: #000;
  line-height: 1.8;
}

.campaign-text > p:nth-child(3) {
  font-size: 1.4rem;
  text-align: center;
}

.campaign-method {
  background: #edcec1;
  padding: 4rem;
  margin-top: 4rem;
  border-radius: 20px;
}

.campaign-method > p:nth-child(1) {
  color: #c40018;
  font-size: 2.4rem;
  text-align: center;
  font-weight: bold;
  margin-bottom: 3rem;
}

.campaign-method > ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2rem;
}

.agreement-area,
.from-area {
  background: #eeefef;
  padding: 10rem 0;
  color: #000;
  margin: 0;
}

.agreement-area .main-ttl h2:nth-child(1) {
  font-size: 3.2rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 1rem;
}

.agreement-area .main-ttl p {
  color: #c40018;
  text-align: center;
  font-size: 1.6rem;
}

.agreement-table {
  background: #fff;
  padding: 5% 4%;
  margin-top: 3rem;
}
.agreement-table_inner {
}

.agreement-table_inner dl {
  display: grid;
  grid-template-columns: 1fr 3fr;
}

.agreement-table_inner dl dt:nth-child(1) {
  font-size: 1.4rem;
  background: #d2d3bc;
  border-right: solid 1px;
  border-left: solid 1px;
  padding: 2rem;
  display: flex;
  align-items: flex-start;
  min-height: 6em;
}
.agreement-table_inner dl dd {
  font-size: 1.4rem;
  padding: 2rem;
  display: flex;
  align-items: center;
  line-height: 1.8;
  border-right: solid 1px;
  border-bottom: solid 1px;
}
.agreement-table_inner dl:first-child dt,
.agreement-table_inner dl:first-child dd {
  border-top: solid 1px;
}

.agreement-table_inner dl dt,
.agreement-table_inner dl dd {
  border-bottom: solid 1px;
}

.agreement-table_inner dl.min-height dt {
  align-items: center;
}

.view-2nd {
  display: none;
}

.agreement-table_inner.open .view-2nd dl:first-child dt,
.agreement-table_inner.open .view-2nd dl:first-child dd {
  border-top: none;
}
.View-btn {
  background: #c40018;
  color: #fff;
  font-size: 1.5rem;
  font-weight: bold;
  width: fit-content;
  margin: 2rem auto 0;
  padding: 1rem 7rem;
  border-radius: 11px;
  cursor: pointer;
}

/* 要素 | https://hidagyu829cp.com/ */

.from-area {
  padding-top: 0;
}


.from-area > div:nth-child(1) {
  background: #fff;
}

.from-cont {
  padding: 8% 10%;
}

.formTable > dl {
  display: grid;
  grid-template-columns: 1fr 3fr;
  align-items: center;
  margin-bottom: 2rem;
  gap: 2rem;
}

.formTable > dl dt:nth-child(1) {
  font-size: 1.4rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.formTable > dl dt span:nth-child(1) {
  background: #8e1c2b;
  color: #fff;
  padding: 0.5rem 1rem;
}

.formTable > dl dd {
  font-size: 1.6rem;
}
.from-area .formTable input,
.from-area .formTable select,
.from-area .formTable textarea {
  padding: 1rem 0.5rem;
  border: solid 1px #000000;
  font-size: 1.6rem;
  width: 100%;
  background: #fff;
  box-sizing: border-box;
}

.from-area
  .formTable
  .mwform-checkbox-field
  > label:nth-child(1)
  > input:nth-child(1) {
  width: auto;
}

.from-area .formTable input[type="file"] {
  border: none;
  width: 60%;
  background: #eeefef;
  padding: 1rem 2rem;
  font-size: 1.4rem;
}

.file-box > div:nth-child(4) {
  color: #8e1c2b;
  margin-top: 1rem;
}

.formTable .privacy-check p:nth-child(5) {
  font-size: 1.2rem;
}

.zip-box {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2rem;
}

#zip {
  width: 50%;
}

.privacy {
  border: solid 1px;
  margin-top: 4rem;
}

.privacy-policy {
  font-size: 1.4rem;
  padding: 5% 8%;
}

.privacy-policy > h2:nth-child(1) {
  font-size: 1.4rem;
  margin-bottom: 2rem;
}
.privacy-policy > p {
  font-size: 1.4rem;
}

.privacy-policy > h3 {
  font-size: 1.4rem;
  margin-top: 3rem;
}

.privacy-policy ol li,
.privacy-policy ul li {
  list-style: decimal;
  list-style-position: inside;
  padding-left: 1em;
  text-indent: -1em;
  font-size: 1.4rem;
}

.privacy-policy > ol {
  margin-left: 1rem;
}

.from-area .formTable .confirmBtn {
  width: 30%;
  background: #dd960f;
  border: none;
  text-align: center;
  border-radius: 10px;
  font-size: 2.5rem;
  color: #000;
}

#submit {
  display: flex;
  justify-content: center;
  margin-top: 5rem;
  font-size: 2.5rem;
  gap: 2rem;
}

.from-area .formTable .backBtn {
  color: #000;
  border: solid 1px #dd960f;
  width: 30%;
  text-align: center;
  border-radius: 10px;
  background: #fff;
  font-size: 2.5rem;
}

/* 要素 | https://hidagyu829cp.com/ */

.from-cont > h2{
  font-size: 3.2rem;
  margin-bottom: 5rem;
  text-align: center;
  font-weight: bold;
}


.mw_wp_form_confirm .privacy{
  display: none;
}

footer {
  margin: 10rem 0 5rem;
}

footer img{
  width: 60%;
  display: block;
  margin: auto;
}
footer > .inner > div{
  font-size: 1.7rem;
  text-align: center;
  margin-top: 5rem;
  line-height: 1.8;
}



.copyright {
  padding-top: 5rem;
  border-top: solid 1px;
  margin-top: 5rem;
  text-align: center;
}


.confirmation-area {
  margin-bottom: 2rem;
  text-align: center;
}

/* 要素 | https://hidagyu829cp.com/confirmation/ */

.confirmation-area > p:nth-child(2) {
  font-size: 1.2rem;
}

/* 要素 | https://hidagyu829cp.com/confirmation/ */

.confirmation-area > h2:nth-child(1) {
  margin-bottom: 1rem;
}

.mw_wp_form_complete h2:nth-child(1) {
  font-size: 2rem;
  margin-bottom: 2rem;
}

.mw_wp_form_complete p{
  font-size: 1.4rem;
}
.mw_wp_form_complete .top-btn{
  margin-top: 2rem;
  text-align: center;
  border: solid 1px;
  margin: 2rem auto;
  width: fit-content;
  padding: 1rem;
}


.birthday {
  display: flex;
  gap: 1rem;
}

.birthday > div {
  display: flex;
  gap: 5px;
  align-items: center;
}
