@charset "UTF-8";

/* ===============================================================================

  FIRON "Contact" PC Styles

=============================================================================== */

/*
  Header
=============================================================================== */
.l-header { background: rgba(var(--wht-rgb), .9); }

/*
  Main
=============================================================================== */
.l-main { padding: calc(3.75% / 2 + 3.75%) 0 600px; }

/*
  Section
=============================================================================== */
.l-main section {
  position: relative;
  width: 100%;
}

/*
  Main Visual
=============================================================================== */
.main-visual {
  position: relative;
  width: 100%;
  display: grid;
}
.main-visual > .contents-area {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: grid;
  place-content: center;
  grid-area: 1 / 1;
}
.main-visual > figure {
  width: 100%;
  height: 500px;
  overflow: hidden;
  background-repeat: no-repeat;
  background-position: 50% 0;
  background-image: url(../images/firon_contact_header_img02.png);
  background-size: cover;
  grid-area: 1 / 1;
}

.page-heading {
  font-size: 56px;
  font-size: 5.6rem;
  letter-spacing: .05em;
  color: var(--wht);
  text-shadow: 2px 2px 3px rgba(0, 0, 0, .75);
}

/* Contact
------------------------------------------------------------------------------- */
.contact {
  position: relative;
  z-index: 1;
  padding: 85px 0 0;
  font-size: 18px;
  font-size: 1.8rem;
  letter-spacing: .05em;
}
.contact .inner { padding: 0 50px; }

.attention { line-height: 1.8; }
.require {
  font-size: .9em;
  font-style: normal;
  text-align: center;
  line-height: 1.0;
  color: var(--wht);
  background-color: var(--red);
  display: inline-block;
  padding: .35em .5em;
}

.contact-form {
  position: relative;
  z-index: 1;
  font-size: 16px;
  font-size: 1.6rem;
  margin: 75px 0 0;
}
.contact-form table { width: 100%; }
.contact-form table tr { border-bottom: solid 1px #dedede; }
.contact-form table th {
  width: 30%;
  border-right: solid 1px #dedede;
  font-weight: 400;
  padding: 2em 1.5em;
  text-align: left;
}
.contact-form table th p {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.contact-form table td {
  width: 70%;
  padding: 2em 2.5em;
}
.contact-form table td label { margin: 0 20px 0 0; }
.contact-form table td label [type="radio"],
.contact-form table td label span {
  display: inline-block;
  vertical-align: middle;
}

.contact-form [type="text"],
.contact-form [type="email"],
.contact-form [type="tel"],
.contact-form [type="url"],
.contact-form textarea {
  width: 100%;
  border: solid 1px #dedede;
  border-radius: 0;
  padding: 1em;
  transition: all .3s;
}
.contact-form [type="text"]:focus,
.contact-form [type="email"]:focus,
.contact-form [type="tel"]:focus,
.contact-form [type="url"]:focus,
.contact-form textarea:focus { background: rgba(var(--red-rgb),.025); }

.select-wrap {
  position: relative;
  padding: .75em 1.25em;
  border: solid 1px #dedede;
}
.select-wrap::after {
  content: "＞";
  position: absolute;
  top: 50%;
  right: 1.25em;
  transform: translateY(-50%) rotate(90deg) scale(.75,1.5);
  pointer-events: none;
  font-weight: 600;
}
.select-wrap select { width: 100%; }

/* Privacy Policy */
.privacy-unit {
  font-size: 17px;
  font-size: 1.7rem;
  letter-spacing: .05em;
  width: 95%;
  padding: 2em;
  background-color: #eeeeef;
  border-radius: 10px;
  margin: 55px auto 75px;
}
.privacy-unit dl dt {
  font-weight: 600;
  margin: 0 0 .5em;
}
.agreement {
  margin: 1.25em 0 0;
  text-align: center;
}
.agreement p {
  font-weight: 600;
  margin: 0 0 .5em;
}
.agreement label [type="checkbox"] {
  display: inline-block;
  vertical-align: middle;
}
.agreement label span {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 0 .25em;
}

/* Submit Button */
.submit-btn {
  width: 450px;
  height: 100px;
  font-size: 22px;
  font-size: 2.2rem;
  letter-spacing: .05em;
  color: var(--wht);
  background-color: var(--sepia);
  border-radius: 10px;
  border-style: solid;
  border-width: 2px;
  border-color: var(--sepia);
  margin: auto;
  display: block;
  transition: all .3s;
  cursor: pointer;
}
.submit-btn[disabled] {
  background-color: #dddddd;
  border-color: #dddddd;
  pointer-events: none;
}
.submit-btn:hover {
  color: var(--sepia);
  background-color: var(--wht);
}