@charset "UTF-8";
/* CSS Document */
form#mailform {
  width: 100%;
  border: solid 1px #CCC;
  box-sizing: border-box;
  padding: 80px;
  margin: 0 0 80px 0;
}
dl.mailform {
  display: flex;
  flex-wrap: wrap;
}
dt.mfp {
  width: 20%;
  font-size: 14px;
  margin: 0 5% 16px 0;
  box-sizing: border-box;
}
dd.mfp {
  width: 75%;
  font-size: 14px;
  margin: 0 0 36px 0;
  box-sizing: border-box;
}
#mailform input, #mailform select {
  border: none;
  padding: 0.5em;
  box-sizing: border-box;
  border-bottom: 1px solid #CCC;
  font-size: 15px;
}
#mailform input:has(+ select) {
margin-bottom: 8px;
}
#mailform input:has(+ span) {
margin-bottom: 8px;
}
#mailform textarea {
  width: 100%;
  font-size: 15px;
  box-sizing: border-box;
  line-height: 1.5;
  padding: 0.5em;
}
#mailform .w100 {
  width: 100%;
}
.checkbox-3 {
  border: none;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
.checkbox-3.inline {
  display: inline-block;
  width: auto;
  margin: 0px 8px 0 8px;
}
.checkbox-3 label {
  display: flex;
  align-items: center;
  gap: 0 .5em;
  position: relative;
  margin: 0 4px 4px 0;
  padding: .3em .7em;
  /*border: 1px solid #4d5b55;*/
  border-radius: 3px;
  background-color: #89898926;
  cursor: pointer;
  width: max-content;
}
.checkbox-3 label:has(:checked) {
background-color: #3b3b3b;
color: #fff;
}
.checkbox-3 label::before {
  width: 14px;
  height: 14px;
  border-radius: 1px;
  background-color: #fff;
  content: '';
}
.checkbox-3 label:has(:checked)::after {
position: absolute;
top: 14px;
left: 15px;
transform: rotate(45deg);
width: 4px;
height: 8px;
border: solid #3b3b3b;
border-width: 0 2px 2px 0;
content: '';
}
.checkbox-3 input {
  display: none;
}
.add_o span {
  width: 5em;
  display: inline-block;
}
.add_o input, .add_o select {
  width: calc(100% - 5em);
}
.add_o {
  margin: 0 0 8px 0;
}
span.must {
  font-size: 10px;
  color: #7a1c1c;
  display: inline-block;
  border: solid 1px currentColor;
  padding: 0.3em 0.3em;
  line-height: 1;
  border-radius: 3px;
  margin: 0 4px 0 0px;
  vertical-align: text-bottom;
}
p.cation {
  font-size: 13px;
  line-height: 1.3;
  margin: 8px 0 0 0;
}
span.inlineblock {
  display: inline-block;
}
button.send_bt {
  display: block;
  border: none;
  background: no-repeat;
  background-color: #C9C9C9;
  border: solid 2px currentColor;
  font-size: 18px;
  padding: 4px 16px;
  font-weight: 600;
  margin: auto;
  max-width: 350px;
  width: 100%;
  color:#000;
}

@media (max-width: 1080px) {
form#mailform {
  width: 100%;
  border: solid 1px #CCC;
  box-sizing: border-box;
  padding: 40px;
  margin: 0 0 80px 0;
}
}

@media (max-width: 768px) {
form#mailform {
  width: 100%;
  border: solid 1px #CCC;
  box-sizing: border-box;
  padding: 24px;
  margin: 0 0 80px 0;
}
dt.mfp {
  width: 100%;
  margin: 0px 0 8px 0;
}
dd.mfp {
  width: 100%;
  margin: 0 0 36px 0;
  box-sizing: border-box;
}
}
.cationinfo {
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100%;
  z-index: 100;
  color: #FFF;
}
.cationinfo.OK {
  background: #4ee4a9f7;
}
.cationinfo.NG {
  background: #e4544ef7;
}
.cationinfo_box {
  margin: auto;
  width: 85%;
  max-width: 600px;
}
.cationinfo_box h5 {
  font-size: 48px;
  font-weight: 600;
  line-height: 1;
}
.cationinfo_box h6 {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.5;
  margin: 8px 0 16px 0;
}
.cationinfo_box p {
  font-size: 15px;
  line-height: 1.8;
  margin: auto auto 16px;
}
a.cationinfo_box_close {
  font-size: 18px;
  font-weight: 600;
  border: solid 3px #FFF;
  padding: 8px 24px;
  display: inline-block;
  margin: 16px 0px 0 0;
}
.ngmail {
  font-weight: 800;
  border-bottom: solid 1px #FFF;
}