@charset "utf-8";
#root {
  background-color: #121820;
}
.pg__fv {
  margin-top: clamp(3.375rem, 2.661rem + 1.12vw, 4rem);
  height: 288px;
  background-image: url(https://ability7700.co.jp/system_panel/uploads/images/fv-bg--about.png);
  background-size: cover;
  position: relative;
}

.about-top {
  background-color: #121820;
}
.about-top__inner {
  padding: 0 clamp(2.5rem, -15.214rem + 27.68vw, 18rem);
}
.about-top__container {
  margin-top: 80px;
}
.about-top__content {
      display: flex;
    margin-top: 40px;
    column-gap: clamp(2.5rem, -3.214rem + 8.93vw, 7.5rem);
}
.about-top__name {
  color: #fff;
}
.about-top-name__1 {
      font-size: clamp(0.875rem, 0.732rem + 0.22vw, 1rem);
    font-weight: 400;
}
.about-top-name__2 {
      font-size: clamp(1.5rem, 0.357rem + 1.79vw, 2.5rem);
    font-weight: 400;
}
.about-top-name__3 {
      color: #D0A443;
    padding-left: clamp(1rem, -2.286rem + 5.13vw, 3.875rem);
    font-size: clamp(1.25rem, 0.393rem + 1.34vw, 2rem);
    font-weight: 400;
    font-family: "Pinyon Script", cursive;
}
.about-top__text {
      margin-top: 20px;
    color: #fff;
    line-height: 1.5;
    font-size: clamp(0.875rem, 0.732rem + 0.22vw, 1rem);
}

.company {
  margin-top: 80px;
  background-color: #121820;
}
.company__inner {
  padding: 0 clamp(2.5rem, -15.214rem + 27.68vw, 18rem);
}
.company-title__sub {
      font-family: "Pinyon Script", cursive;
    color: #D0A443;
    font-weight: 400;
}
.company-title__main {
      font-size: 24px;
    color: #fff;
    font-weight: 400;
}
.company__items {
      margin-top: 40px;
    display: flex;
    flex-direction: column;
    row-gap: 20px;
}
.company__item {
      display: flex;
    padding-bottom: 16px;
    border-bottom: 1px solid #fff;
}
.company-item__left {
      font-size: clamp(0.875rem, 0.732rem + 0.22vw, 1rem);
    color: #fff;
    font-weight: 400;
    width: 20%;
}
.company-item__right {
      font-size: clamp(0.875rem, 0.732rem + 0.22vw, 1rem);
    color: #fff;
    font-weight: 400;
    width: 80%;
}
#map {
  padding-top: 80px;
}
.google-map {
        padding-top: 80px;
    margin-top: -80px;
    border: none;
    width: 100%;
    height: 525px;
}

.contact {
  padding-top: 120px;
  margin-bottom: clamp(10rem, 2.857rem + 11.16vw, 16.25rem);
  background-color: #121820;
}
.contact__inner {
  padding: 0 clamp(2.5rem, -22.071rem + 38.39vw, 24rem);
  padding-top: 120px;
  margin-top: -120px;
}
.contact__container {
      background-color: rgba(255,255,255,0.18);
    padding: clamp(1.25rem, -1.893rem + 4.91vw, 4rem) clamp(1.25rem, -7.321rem + 13.39vw, 8.75rem);
}
.contact__title {
  text-align: center;
}
.contact-title__sub {
      font-size: clamp(0.875rem, 0.589rem + 0.45vw, 1.125rem);
    color: #fff;
    font-weight: 700;
}
.contact-title__main {
      font-size: clamp(1.25rem, -0.179rem + 2.23vw, 2.5rem);
    font-weight: 700;
    color: #fff;
}
.contact__text {
      margin-top: 40px;
    font-size: clamp(0.875rem, 0.589rem + 0.45vw, 1.125rem);
    font-weight: 400;
    line-height: 1.5;
    color: #fff;
}
.form > div {
      display: flex;
    flex-direction: column;
        margin-top: 64px;
    row-gap: 32px;
}
.formRow {
      display: flex;
    justify-content: space-between;
        padding-bottom: 32px;
    border-bottom: 1px solid #fff;
}
.formRow:last-child {
      padding-bottom: unset;
    border-bottom: unset;
}
.formTh {
      display: flex;
    align-items: center;
    column-gap: 16px;
    height: fit-content;
}
.label {
      margin-bottom: 0;
    font-weight: 700;
    text-align: center;
        font-size: clamp(0.875rem, 0.446rem + 0.67vw, 1.25rem);
    color: #fff;
}
.requiredText {
      font-weight: 700;
        padding: 2px 16px;
        font-size: clamp(0.75rem, 0.607rem + 0.22vw, 0.875rem);
    background-color: #8F6B1D;
    height: fit-content;
    font-weight: 700;
    color: #fff;
    margin-right: clamp(0.313rem, -0.354rem + 1.39vw, 1.313rem);
}
.formInput {
    width: clamp(25rem, 18.375rem + 13.8vw, 34.938rem);
    padding: clamp(0.75rem, 0.5rem + 0.52vw, 1.125rem) clamp(1rem, 0.833rem + 0.35vw, 1.25rem);
    height: 59px;
  background-color: #EEEEEE;
  border: none;
      font-size: 14px;
    color: #000;
  border-radius: 0;
}
.formSelect {
      width: clamp(25rem, 18.375rem + 13.8vw, 34.938rem);
    padding: clamp(0.75rem, 0.5rem + 0.52vw, 1.125rem) clamp(1rem, 0.833rem + 0.35vw, 1.25rem);
    height: 59px;
    background-color: #EEEEEE;
  border: none;
    color: #000;
  border-radius: 0;
  font-size: 14px;
}
.formTextArea {
        width: clamp(25rem, 18.375rem + 13.8vw, 34.938rem);
    height: 177px;
    padding: clamp(0.75rem, 0.5rem + 0.52vw, 1.125rem) clamp(1rem, 0.833rem + 0.35vw, 1.25rem);
    background-color: #EEEEEE;
  border: none;
  border-radius: 0;
  color: #000;
  font-size: 14px;
}
.privacyBox {
       width: clamp(25rem, 18.375rem + 13.8vw, 34.938rem);
    height: 177px;
    padding: clamp(0.75rem, 0.5rem + 0.52vw, 1.125rem) clamp(1rem, 0.833rem + 0.35vw, 1.25rem);
    overflow-y: scroll;
    overflow-x: hidden;
    background-color: #EEEEEE;
    color: #37291E;
}
.privacyBox p {
  font-size: 14px;
  color: #707070;
}
.privacy-check__text {
      margin-top: 47px;
    display: flex;
    align-items: center;
    column-gap: 11px;
}
.privacy-checkbox {
      margin-top: 20px;
    display: flex;
    column-gap: 11px;
    align-items: center;
}
.checkbox {
      width: 31px;
    height: 31px;
}
.privacyLabel {
  font-size: 16px;
}
.privacyLabel em {
      font-style: unset;
    text-decoration: underline;
}
.privacyLabel span {
      color: #0779ff;
    text-decoration: underline;
}
.formBtnTd {
        width: 100%;
    display: flex;
    justify-content: center;
}
.formBtnTd button {
       color: #fff;
    background-color: #8F6B1D;
    border-style: unset;
    border-left: 8px solid #D0A443;
    padding: 8px 32px 8px 24px;
    transition: .5s;
}
.formBtnTd button:hover {
  background-color: #fff;
  color: #8F6B1D;
}

@media (max-width: 767px) {
  .pg__fv {
        margin-top: 42px;
    background-image: url(https://ability7700.co.jp/system_panel/uploads/images/fv-bg-about--sp.png);
    height: 149px;
  }
  
  .about-top__container {
    margin-top: 40px;
  }
  .about-top__content {
        margin-top: 20px;
    flex-direction: column-reverse;
    row-gap: 16px;
  }
  .about-top__name {
    display: inline-block;
  }
  .about-top-name__3 {
    display: inline-block;
  }
  .company__items {
    margin-top: 32px;
  }
  .company__item {
        padding-bottom: 8px;
    flex-direction: column;
    row-gap: 8px;
  }
  .company-item__left {
    width: 100%;
  }
  .company-item__right {
    width: 100%;
  }
  
  #map {
    padding-top: 42px;
  }
  .google-map {
        height: 229px;
    padding-top: 42px;
    margin-top: -42px;
  }
  
  .contact {
    padding-top: 80px;
  }
  .contact__inner {
        padding: 0 20px;
    padding-top: 80px;
    margin-top: -80px;
  }
  .contact__text {
    margin-top: 16px;
  }
  .form > div {
    margin-top: 32px;
  }
  .formRow {
        flex-direction: column;
    row-gap: 7px;
    padding-bottom: 16px;
  }
  .formSelect,
  .formInput,
  .formTextArea,
  .privacyBox {
    width: 100%;
  }
  .requiredText {
    padding: 0 8px;
  }
  .checkbox {
        width: 21px;
    height: 21px;
  }
  .privacyLabel {
    font-size: 14px;
  }
}

@media (max-width: 389px) {
  .company-title__main {
    font-size: 20px;
  }
  .privacy-checkbox {
    column-gap: 8px;
  }
  .checkbox {
    width: 18px;
  }
  .privacyLabel {
    font-size: 12px;
  }
}
  

/* Z-INDEX */
 .formError { z-index: 990; }
    .formError .formErrorContent { z-index: 991; }
    .formError .formErrorArrow { z-index: 996; }

    .ui-dialog .formError { z-index: 5000; }
    .ui-dialog .formError .formErrorContent { z-index: 5001; }
    .ui-dialog .formError .formErrorArrow { z-index: 5006; }




.inputContainer {
	position: relative;
	float: left;
}

.formError {
	position: absolute;
	top: 300px;
	left: 300px;
	display: block;
	cursor: pointer;
	text-align: left;
}

.formError.inline {
	position: relative;
	top: 0;
	left: 0;
	display: inline-block;
}

.ajaxSubmit {
	padding: 20px;
	background: #55ea55;
	border: 1px solid #999;
	display: none;
}

.formError .formErrorContent {
	width: 100%;
	background: #ee0101;
	position:relative;
	color: #fff;
	min-width: 120px;
	font-size: 11px;
	border: 2px solid #ddd;
	box-shadow: 0 0 6px #000;
	-moz-box-shadow: 0 0 6px #000;
	-webkit-box-shadow: 0 0 6px #000;
	-o-box-shadow: 0 0 6px #000;
	padding: 4px 10px 4px 10px;
	border-radius: 6px;
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	-o-border-radius: 6px;
}

.formError.inline .formErrorContent {
	box-shadow: none;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	-o-box-shadow: none;
	border: none;
	border-radius: 0;
	-moz-border-radius: 0;
	-webkit-border-radius: 0;
	-o-border-radius: 0;
}

.greenPopup .formErrorContent {
	background: #33be40;
}

.blackPopup .formErrorContent {
	background: #393939;
	color: #FFF;
}

.formError .formErrorArrow {
	width: 15px;
	margin: -2px 0 0 13px;
	position:relative;
}
body[dir='rtl'] .formError .formErrorArrow,
body.rtl .formError .formErrorArrow {
	margin: -2px 13px 0 0;
}

.formError .formErrorArrowBottom {
	box-shadow: none;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	-o-box-shadow: none;
	margin: 0px 0 0 12px;
	top:2px;
}

.formError .formErrorArrow div {
	border-left: 2px solid #ddd;
	border-right: 2px solid #ddd;
	box-shadow: 0 2px 3px #444;
	-moz-box-shadow: 0 2px 3px #444;
	-webkit-box-shadow: 0 2px 3px #444;
	-o-box-shadow: 0 2px 3px #444;
	font-size: 0px;
	height: 1px;
	background: #ee0101;
	margin: 0 auto;
	line-height: 0;
	font-size: 0;
	display: block;
}

.formError .formErrorArrowBottom div {
	box-shadow: none;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	-o-box-shadow: none;
}

.greenPopup .formErrorArrow div {
	background: #33be40;
}

.blackPopup .formErrorArrow div {
	background: #393939;
	color: #FFF;
}

.formError .formErrorArrow .line10 {
	width: 13px;
	border: none;
}

.formError .formErrorArrow .line9 {
	width: 11px;
	border: none;
}

.formError .formErrorArrow .line8 {
	width: 11px;
}

.formError .formErrorArrow .line7 {
	width: 9px;
}

.formError .formErrorArrow .line6 {
	width: 7px;
}

.formError .formErrorArrow .line5 {
	width: 5px;
}

.formError .formErrorArrow .line4 {
	width: 3px;
}

.formError .formErrorArrow .line3 {
	width: 1px;
	border-left: 2px solid #ddd;
	border-right: 2px solid #ddd;
	border-bottom: 0 solid #ddd;
}

.formError .formErrorArrow .line2 {
	width: 3px;
	border: none;
	background: #ddd;
}

.formError .formErrorArrow .line1 {
	width: 1px;
	border: none;
	background: #ddd;
}