/*default*/
html main,
html header {
  opacity: 0;
  transition: all 0.3s ease;
}
html.wf-active main,
html.wf-active header, html.loading-delay main,
html.loading-delay header {
  opacity: 1;
}

main .inner {
  max-width: 1400px;
  margin: auto;
  padding: 0 8vw;
}
@media only screen and (max-width: 768px) {
  main .inner {
    padding: 0 5vw;
  }
}
main .inner h2 {
  display: flex;
  align-items: center;
  margin: 0 0 2rem 0;
}
main .inner h2 .block {
  margin: 0 2em 0 0;
}
main .inner h2 span {
  font-size: 1.6rem;
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
  main .inner h2 span {
    font-size: 1rem;
    font-weight: 500;
  }
}

#education .sup_flex {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  #education .sup_flex {
    display: block;
  }
}
@media only screen and (max-width: 768px) {
  #education .sup_flex h3 {
    font-size: 1rem;
  }
}
#education .sup_flex .box {
  width: 48%;
}
@media only screen and (max-width: 768px) {
  #education .sup_flex .box {
    width: 100%;
  }
}
#education .sup_flex .box.box02 {
  width: 40%;
}
@media only screen and (max-width: 768px) {
  #education .sup_flex .box.box02 {
    width: 100%;
    margin: 0 0 2rem 0;
  }
}
#education .sup_flex .box.box03 {
  width: 58%;
}
@media only screen and (max-width: 768px) {
  #education .sup_flex .box.box03 {
    width: 100%;
  }
}
#education .com_box {
  margin: 0 0 5rem 0;
}
@media only screen and (max-width: 768px) {
  #education .com_box {
    margin: 0 0 2rem 0;
  }
}
#education .com_box h3 {
  font-weight: bold;
  font-size: 1.4rem;
  margin: 0 0 1rem 0;
}
#education .com_box .detail {
  padding: 1rem 0 0 0;
  font-size: 0.8rem;
}
#education .com_box .detail ul li {
  text-indent: -2.5em;
  margin-left: 2.5em;
}
#education .com_box dl {
  display: flex;
  align-items: flex-start;
  border-bottom: 1px solid #eee;
}
#education .com_box dl dt {
  font-weight: bold;
  width: 23%;
  padding: 1.5rem 0;
}
#education .com_box dl dd {
  flex: 1;
  padding: 1.5rem 0;
}
#education .com_box dl dd p.job_bold {
  font-weight: bold;
  margin: 0 0 1rem 0;
}
#education .com_box dl dd p.datebox {
  display: inline-block;
  padding: 3%;
  border: 1px solid #eee;
}
#education .com_box dl dd p {
  margin: 0 0 1em 0;
}
#education .com_box dl dd p.nom {
  margin: 0;
}
#education .com_box dl.first {
  border-top: 1px solid #eee;
}
#education .com_box .sup_flex {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  #education .com_box .sup_flex {
    display: block;
  }
}
@media only screen and (max-width: 768px) {
  #education .com_box .sup_flex h3 {
    font-size: 1rem;
  }
}
#education .com_box .sup_flex .box {
  width: 48%;
}
@media only screen and (max-width: 768px) {
  #education .com_box .sup_flex .box {
    width: 100%;
    margin-bottom: 2rem;
  }
}
#education .com_box .sup_flex .box.box02 {
  width: 40%;
}
@media only screen and (max-width: 768px) {
  #education .com_box .sup_flex .box.box02 {
    width: 100%;
    margin: 0 0 2rem 0;
  }
}
#education .com_box .sup_flex .box.box03 {
  width: 48%;
}
@media only screen and (max-width: 768px) {
  #education .com_box .sup_flex .box.box03 {
    width: 100%;
  }
}
#education .com_box h4 {
  background: #004098;
  color: #fff;
  padding: 0.5rem 0.8rem;
  font-weight: bold;
  margin: 0 0 0.8rem 0;
}
@media only screen and (max-width: 768px) {
  #education .com_box h4 {
    font-size: 1rem;
  }
}
#education .com_box h4 + p {
  margin-bottom: 1rem;
}

#worklife .normal_lead {
  padding: 0 0 5rem 0;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #worklife .normal_lead {
    padding: 0 0 5% 0;
    text-align: left;
  }
  #worklife .normal_lead br {
    display: none;
  }
}
#worklife .normal_cont {
  margin-bottom: 8rem;
}
@media only screen and (max-width: 768px) {
  #worklife .normal_cont {
    margin-bottom: 5rem;
  }
}
#worklife .normal_cont .lead {
  margin-bottom: 2rem;
}
#worklife .normal_cont h3.normalh3 {
  background: #fafafa;
  padding: 1rem;
  font-size: 1.2rem;
  margin: 0 0 3rem 0;
}
@media only screen and (max-width: 768px) {
  #worklife .normal_cont h3.normalh3 {
    font-size: 1rem;
    margin-bottom: 1rem;
  }
}
#worklife table.normal_table {
  width: 100%;
  border-bottom: 1px solid #032b98;
  border-left: 1px solid #032b98;
}
#worklife table.normal_table th,
#worklife table.normal_table td {
  padding: 1rem;
  text-align: center;
  border-top: 1px solid #032b98;
  border-right: 1px solid #032b98;
}
@media only screen and (max-width: 768px) {
  #worklife table.normal_table th,
  #worklife table.normal_table td {
    font-size: 0.6rem;
    padding: 0.2rem;
  }
}
#worklife table.normal_table th {
  background: #DEE3F2;
  border-top: 1px solid #032b98;
  border-right: 1px solid #032b98;
  font-weight: bold;
  vertical-align: middle;
}
#worklife table.normal_table td.left {
  text-align: left;
}
#worklife table.normal_table p.sub {
  font-size: 0.8rem;
}
@media only screen and (max-width: 768px) {
  #worklife table.normal_table p.sub {
    font-size: 0.6rem;
  }
}
#worklife table.normal_table p.subs {
  font-size: 1rem;
}
#worklife .tablecap {
  margin: 2rem 0 0 0;
}
#worklife .tablecap p {
  font-size: 0.8rem;
}
#worklife span.chui {
  font-size: 0.8rem;
  font-weight: bold;
  margin: 1rem 0 0 0;
  display: inline-block;
}
#worklife .worklife_flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 5rem 0 0 0;
}
@media only screen and (max-width: 768px) {
  #worklife .worklife_flex {
    display: block;
    margin: 3rem 0 0 0;
  }
}
#worklife .worklife_flex .box {
  width: 32%;
  background: #fafafa;
  padding: 1rem;
  margin: 0 0 2rem 0;
}
@media only screen and (max-width: 768px) {
  #worklife .worklife_flex .box {
    width: 100%;
    margin: 0 0 1rem 0;
  }
}
#worklife .worklife_flex .box.image {
  padding: 0;
}
#worklife .worklife_flex .box h3 {
  background: #004098;
  color: #fff;
  font-weight: 500;
  text-align: center;
  padding: 1rem 0;
  margin: 0 0 1rem 0;
  line-height: 1.2;
}
#worklife .worklife_flex .box h3 span {
  font-size: 0.8rem;
}
#worklife .woman_flex {
  display: flex;
  justify-content: space-between;
  margin: 0 0 2rem 0;
  padding: 0 0 2rem 0;
  border-bottom: 1px dotted #ccc;
}
@media only screen and (max-width: 768px) {
  #worklife .woman_flex {
    display: block;
  }
}
#worklife .woman_flex.wide .txt {
  width: 75%;
}
@media only screen and (max-width: 768px) {
  #worklife .woman_flex.wide .txt {
    width: 100%;
  }
}
#worklife .woman_flex.wide2 .txt {
  width: 100%;
}
@media only screen and (max-width: 768px) {
  #worklife .woman_flex.wide2 .txt {
    width: 100%;
  }
}
#worklife .woman_flex .txt {
  width: 55%;
  padding: 0 5rem 0 0;
}
@media only screen and (max-width: 768px) {
  #worklife .woman_flex .txt {
    width: 100%;
    margin-bottom: 1rem;
  }
}
#worklife .woman_flex .txt h4 {
  color: #D83064;
  font-weight: 500;
  font-size: 1.2rem;
  margin: 0 0 1rem 0;
}
@media only screen and (max-width: 768px) {
  #worklife .woman_flex .txt h4 {
    font-size: 1rem;
  }
}
#worklife .woman_flex .image_flex {
  flex: 1;
}
@media only screen and (max-width: 768px) {
  #worklife .woman_flex .image_flex {
    display: block;
    flex: auto;
  }
}
#worklife .nintei_flex {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  #worklife .nintei_flex {
    display: block;
  }
}
#worklife .nintei_flex .box {
  width: 30%;
}
@media only screen and (max-width: 768px) {
  #worklife .nintei_flex .box {
    width: 100%;
  }
}
#worklife .nintei_flex .box .image {
  margin: 0 0 2rem 0;
}
@media only screen and (max-width: 768px) {
  #worklife .nintei_flex .box .image {
    margin: 0 0 1rem 0;
  }
}
#worklife .nintei_flex .box h4 {
  color: #D83064;
  font-weight: bold;
  margin: 0 0 2rem 0;
  border-bottom: 1px solid #D83064;
  padding: 0 0 1rem 0;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #worklife .nintei_flex .box h4 {
    text-align: left;
  }
}
#worklife .sup_flex {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  #worklife .sup_flex {
    display: block;
  }
}
@media only screen and (max-width: 768px) {
  #worklife .sup_flex h3 {
    font-size: 1rem;
  }
}
#worklife .sup_flex .box {
  width: 48%;
}
@media only screen and (max-width: 768px) {
  #worklife .sup_flex .box {
    width: 100%;
  }
}
#worklife .sup_flex .box.box02 {
  width: 40%;
}
@media only screen and (max-width: 768px) {
  #worklife .sup_flex .box.box02 {
    width: 100%;
    margin: 0 0 2rem 0;
  }
}
#worklife .sup_flex .box.box03 {
  width: 58%;
}
@media only screen and (max-width: 768px) {
  #worklife .sup_flex .box.box03 {
    width: 100%;
  }
}
#worklife .com_box {
  margin: 0 0 5rem 0;
}
@media only screen and (max-width: 768px) {
  #worklife .com_box {
    margin: 0 0 2rem 0;
  }
}
#worklife .com_box h3 {
  font-weight: bold;
  font-size: 1.4rem;
  margin: 0 0 1rem 0;
}
#worklife .com_box .detail {
  padding: 1rem 0 0 0;
  font-size: 0.8rem;
}
#worklife .com_box .detail ul li {
  text-indent: -2.5em;
  margin-left: 2.5em;
}
#worklife .com_box dl {
  display: flex;
  align-items: flex-start;
  border-bottom: 1px solid #eee;
}
#worklife .com_box dl dt {
  font-weight: bold;
  width: 23%;
  padding: 1.5rem 0;
}
#worklife .com_box dl dd {
  flex: 1;
  padding: 1.5rem 0;
}
#worklife .com_box dl dd p.job_bold {
  font-weight: bold;
  margin: 0 0 1rem 0;
}
#worklife .com_box dl dd p.datebox {
  display: inline-block;
  padding: 3%;
  border: 1px solid #eee;
}
#worklife .com_box dl dd p {
  margin: 0 0 1em 0;
}
#worklife .com_box dl dd p.nom {
  margin: 0;
}
#worklife .com_box dl.first {
  border-top: 1px solid #eee;
}
#worklife .com_box .sup_flex {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  #worklife .com_box .sup_flex {
    display: block;
  }
}
@media only screen and (max-width: 768px) {
  #worklife .com_box .sup_flex h3 {
    font-size: 1rem;
  }
}
#worklife .com_box .sup_flex .box {
  width: 48%;
}
@media only screen and (max-width: 768px) {
  #worklife .com_box .sup_flex .box {
    width: 100%;
  }
}
#worklife .com_box .sup_flex .box.box02 {
  width: 40%;
}
@media only screen and (max-width: 768px) {
  #worklife .com_box .sup_flex .box.box02 {
    width: 100%;
    margin: 0 0 2rem 0;
  }
}
#worklife .com_box .sup_flex .box.box03 {
  width: 48%;
}
@media only screen and (max-width: 768px) {
  #worklife .com_box .sup_flex .box.box03 {
    width: 100%;
  }
}
#worklife .com_box h4 {
  background: #004098;
  color: #fff;
  padding: 0.8rem;
  font-weight: bold;
  margin: 0 0 0.8rem 0;
}
@media only screen and (max-width: 768px) {
  #worklife .com_box h4 {
    font-size: 1rem;
  }
}
#worklife .other_cont {
  background: #efefef;
  padding: 2rem 3rem;
}
@media only screen and (max-width: 768px) {
  #worklife .other_cont {
    padding: 5%;
    margin: 0 0 5rem 0;
  }
}
#worklife .other_cont h3 {
  font-weight: bold;
  font-size: 1rem;
  text-align: center;
  margin: 0 0 3rem 0;
}
@media only screen and (max-width: 768px) {
  #worklife .other_cont h3 {
    font-size: 0.9rem;
    margin: 0 0 2rem 0;
  }
}
#worklife .other_cont .other_flex {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  #worklife .other_cont .other_flex {
    display: block;
  }
}
#worklife .other_cont .other_flex .box {
  position: relative;
  width: 32%;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #worklife .other_cont .other_flex .box {
    width: 100%;
    margin-bottom: 2rem;
  }
}
#worklife .other_cont .other_flex .box a {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  content: "";
  z-index: 999;
}
#worklife .other_cont .other_flex .box .image {
  margin: 0 0 1rem 0;
}
#worklife .other_cont .other_flex .box .txt {
  font-weight: bold;
  font-size: 0.8rem;
}
@media only screen and (max-width: 768px) {
  #worklife .other_cont .other_flex {
    display: block;
    width: 100%;
    margin: 0 0 1rem 0;
  }
}