#lead {
    background: #fff url(../images/ifa/bg_line.jpg) no-repeat top right/contain;
    margin: 0 auto 6rem;
    padding: calc(70 / 690 * 100%) 0;
}
@media screen and (min-width: 768px) {
  #lead {
        padding: calc(50 / 1024 * 100%) 0;
  }
}
#lead .inner {
    width: 90%;
    max-width: 1024px;
}
#lead h2 {
    font-family: "Noto Serif JP", serif;
    color: #b40000;
    font-size: 1.3em;
}
@media screen and (min-width: 768px) {
  #lead h2 {
        font-size: 1.6em;
  }
}
#lead p.txt01 {
    text-align: center;
    padding: 2rem 0;
    font-weight: bold;
    font-size: 1em;
    margin-bottom: 3rem;
}
@media screen and (min-width: 768px) {
  #lead p.txt01 {
        font-size: 1.2em;
  }
}
#lead .half {
    align-items: center;
    margin-bottom: 6rem;
}
@media screen and (min-width: 768px) {
  #lead .half {
        margin-bottom: 3rem;
  }
}
#lead .half .photo,
#lead .half .txt {
    width: 100%;
}
@media screen and (max-width: 767px) {
  #lead .half .photo {
        margin-bottom: 2rem;
  }
}
@media screen and (min-width: 768px) {
  #lead .half .photo {
        width: calc(450 / 1024 * 100%);
  }
  #lead .half .txt {
        width: calc(550 / 1024 * 100%);
  }
  #lead .half.h_right {
        flex-direction: row-reverse;
  }
}

#job h2.ttl {
    margin-bottom: calc(26 / 1024 * 100%);
}
#job .inner {
    background: white;
    padding: calc(50 / 1024 * 100%);
}
#job .inner dl {
    max-width: 1024px;
    margin: auto;
}
#job .inner dl dt, #job .inner dl dd {
    padding: 0.8em 2em;
    line-height: 1.6;
}
#job .inner dl dt {
    width: 100%;
    border-bottom: 2px solid #b40000;
    font-weight: bold;
    text-align: left;
}
@media screen and (max-width: 767px) {
  #job .inner dl dt {
        padding-left: 1em;
        color: #b40000;
  }
}
@media screen and (min-width: 768px) {
  #job .inner dl dt {
        width: 16rem;
        text-align-last: justify;
  }
}
#job .inner dl dd {
    width: 100%;
    text-align: left;
}
@media screen and (max-width: 767px) {
  #job .inner dl dd {
        padding-bottom: 1.6em;
  }
}
@media screen and (min-width: 768px) {
  #job .inner dl dd {
        width: calc(100% - 16rem);
        border-bottom: 1px solid #b5b5b5;
  }
}
#job .inner dl dd span.small {
    display: block;
    font-size: 0.85em;
}

#btn_contact {
    padding: calc(50 / 1024 * 100%);
}
#btn_contact p {
    text-align: center;
    font-size: 1.1em;
}
@media screen and (min-width: 768px) {
  #btn_contact p {
        font-size: 1.3em;
  }
}
#btn_contact a {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    background: #b40000;
    color: white;
    padding: 1.5rem;
    width: 80%;
    margin: 2rem auto;
    line-height: 1;
    min-height: 80px;
    font-weight: bold;
    font-size: 3rem;
    border-radius: 5px;
    transition: all 0.3s;
    max-width: 500px;
}
@media screen and (min-width: 768px) {
  #btn_contact a {
        font-size: 2rem;
  }
}
#btn_contact a:hover {
    background: #de0000;
}

/*# sourceMappingURL=ifa.css.map */
