@charset "UTF-8";
/* ==========================================================================
   parts
   ========================================================================== */

.align-c {
  text-align: center !important;
}

.-mt1em {
  margin-top: 1em;
}

.m-grid-figcap {
  text-align: center !important
}

.p-btn {
  font-size: 1.6rem !important;
}

.m-noteList {
  margin-top: 10px;
}

.p-txt.-type01 .p-link {
  font-size: 1.4rem;
}

/* ==========================================================================
   modules
   ========================================================================== */
.m-dotList-item {
  text-indent: -1.1em;
  padding-left: .8em;
}

@media only screen and (max-width: 768px) {
  .m-dotList-item {
    line-height: 1.5;
  }
}

.m-dotList-item::before {
  content: '・';
  display: inline;
}

.m-columnTable {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media print,
screen and (min-width: 769px) {
  .m-columnTable {
    margin: 0 -15px;
  }
}

@media only screen and (max-width: 768px) {
  .m-columnTable {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

@media print,
screen and (min-width: 769px) {
  .m-columnTable .m-tableWrap {
    min-width: auto;
  }
}

.m-columnTable-item {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media print,
screen and (min-width: 769px) {
  .m-columnTable-item {
    width: 50%;
    padding: 0 15px;
  }
}

@media only screen and (max-width: 768px) {
  .m-columnTable-item {
    width: 100%;
    margin-bottom: 30px;
  }
}

@media print,
screen and (min-width: 769px) {
  .m-columnTable-item:nth-child(3) {
    margin-top: 60px;
  }
}

@media only screen and (max-width: 768px) {
  .m-columnTable-item .m-table {
    width: 700px;
  }
}

.m-shortTable-header.-widthLarge,
.m-shortTable-data.-widthLarge {
  width: 50%;
}

@media only screen and (max-width: 768px) {

  .m-shortTable-header.-widthLarge,
  .m-shortTable-data.-widthLarge {
    width: 43.3%;
  }
}

@media only screen and (max-width: 768px) {

  .m-columnTable-item .m-shortTable-header,
  .m-columnTable-item .m-shortTable-data {
    padding: 8px 2%;
  }
}

.m-shortTable-header.-width50Per,
.m-shortTable-data.-width50Per {
  width: 50%;
}

.m-shortTable-data.-vAlignTop {
  vertical-align: top;
}

.m-efforts-hideWrap {
  display: none;
}

.m-efforts-btn {
  display: block;
  text-align: center;
  width: 535px;
  margin: 0 auto;
}

@media only screen and (max-width: 768px) {
  .m-efforts-btn {
    width: 80%;
  }
}

.m-efforts-hideWrap+.m-efforts-btn {
  margin-top: 80px;
}

@media only screen and (max-width: 768px) {
  .m-efforts-hideWrap+.m-efforts-btn {
    margin-top: 50px;
  }
}

.m-efforts-btn+.m-efforts-hideWrap {
  margin-top: 80px;
}

@media only screen and (max-width: 768px) {
  .m-efforts-btn+.m-efforts-hideWrap {
    margin-top: 50px;
  }
}

.m-efforts-hideWrap+.c-programContainer-contentsItem {
  margin-top: 60px;
}

.p-txt+.c-programContainer-contentsItem {
  margin-top: 60px;
}

@media only screen and (max-width: 768px) {
  .p-txt+.c-programContainer-contentsItem {
    margin-top: 40px;
  }
}

/* ==========================================================================
   components
   ========================================================================== */
.c-headdingContainer {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 80px;
}

@media print,
screen and (min-width: 769px) {
  .c-headdingContainer {
    padding-left: 10px;
    padding-right: 10px;
    max-width: 1200px;
    min-width: 1000px;
  }
}

@media only screen and (max-width: 768px) {
  .c-headdingContainer {
    width: 92%;
  }
}

@media only screen and (max-width: 768px) {
  .c-headdingContainer {
    margin-bottom: 47px;
  }
}

.c-messageContainer {
  position: relative;
  margin-left: auto;
  margin-right: auto;
}

@media print,
screen and (min-width: 769px) {
  .c-messageContainer {
    padding-left: 10px;
    padding-right: 10px;
    max-width: 1200px;
    min-width: 1000px;
  }
}

@media only screen and (max-width: 768px) {
  .c-messageContainer {
    width: 92%;
  }
}

@media print,
screen and (min-width: 769px) {
  .c-messageContainer {
    margin-bottom: 80px;
  }
}

@media only screen and (max-width: 768px) {
  .c-messageContainer {
    margin-bottom: 60px;
  }
}

.c-messageContainer-inner {
  position: relative;
  margin: 0 auto;
  width: calc(100% - 100px);
  max-width: 1080px;
}

@media only screen and (max-width: 768px) {
  .c-messageContainer-inner {
    width: 100%;
  }
}

.c-employmentContainer {
  position: relative;
  margin-left: auto;
  margin-right: auto;
}

@media print,
screen and (min-width: 769px) {
  .c-employmentContainer {
    padding-left: 10px;
    padding-right: 10px;
    max-width: 1200px;
    min-width: 1000px;
  }
}

@media only screen and (max-width: 768px) {
  .c-employmentContainer {
    width: 92%;
  }
}

@media print,
screen and (min-width: 769px) {
  .c-employmentContainer {
    margin-bottom: 80px;
  }
}

@media only screen and (max-width: 768px) {
  .c-employmentContainer {
    margin-bottom: 60px;
  }
}

.c-employmentContainer-inner {
  position: relative;
  margin: 0 auto;
  width: calc(100% - 100px);
  max-width: 1080px;
}

@media only screen and (max-width: 768px) {
  .c-employmentContainer-inner {
    width: 100%;
  }
}

@media print,
screen and (min-width: 769px) {
  .c-employmentContainer-lead {
    margin-bottom: 60px;
  }
}

@media only screen and (max-width: 768px) {
  .c-employmentContainer-lead {
    margin-bottom: 40px;
  }
}

@media print,
screen and (min-width: 769px) {
  .c-employmentContainer-contents {
    margin-bottom: 60px;
  }
}

@media only screen and (max-width: 768px) {
  .c-employmentContainer-contents {
    margin-bottom: 40px;
  }
}

.c-trainingContainer {
  position: relative;
  margin-left: auto;
  margin-right: auto;
}

@media print,
screen and (min-width: 769px) {
  .c-trainingContainer {
    padding-left: 10px;
    padding-right: 10px;
    max-width: 1200px;
    min-width: 1000px;
  }
}

@media only screen and (max-width: 768px) {
  .c-trainingContainer {
    width: 92%;
  }
}

@media print,
screen and (min-width: 769px) {
  .c-trainingContainer {
    margin-bottom: 80px;
  }
}

@media only screen and (max-width: 768px) {
  .c-trainingContainer {
    margin-bottom: 60px;
  }
}

.c-trainingContainer-inner {
  position: relative;
  margin: 0 auto;
  width: calc(100% - 100px);
  max-width: 1080px;
}

@media only screen and (max-width: 768px) {
  .c-trainingContainer-inner {
    width: 100%;
  }
}

.c-womenContainer {
  position: relative;
  margin-left: auto;
  margin-right: auto;
}

@media print,
screen and (min-width: 769px) {
  .c-womenContainer {
    padding-left: 10px;
    padding-right: 10px;
    max-width: 1200px;
    min-width: 1000px;
  }
}

@media only screen and (max-width: 768px) {
  .c-womenContainer {
    width: 92%;
  }
}

@media print,
screen and (min-width: 769px) {
  .c-womenContainer {
    margin-bottom: 80px;
  }
}

@media only screen and (max-width: 768px) {
  .c-womenContainer {
    margin-bottom: 60px;
  }
}

.c-womenContainer-inner {
  position: relative;
  margin: 0 auto;
  width: calc(100% - 100px);
  max-width: 1080px;
}

@media only screen and (max-width: 768px) {
  .c-womenContainer-inner {
    width: 100%;
  }
}

@media print,
screen and (min-width: 769px) {
  .c-womenContainer-lead {
    margin-bottom: 60px;
  }
}

@media only screen and (max-width: 768px) {
  .c-womenContainer-lead {
    margin-bottom: 40px;
  }
}

@media print,
screen and (min-width: 769px) {
  .c-womenContainer-contents {
    margin-top: 60px;
  }
}

@media only screen and (max-width: 768px) {
  .c-womenContainer-contents {
    margin-top: 40px;
  }
}

@media print,
screen and (min-width: 769px) {
  .c-womenContainer-contents {
    margin-bottom: 60px;
  }
}

@media only screen and (max-width: 768px) {
  .c-womenContainer-contents {
    margin-bottom: 40px;
  }
}

.c-womenContainer-contents+.c-womenContainer-contents {
  margin-top: 0;
}

.c-disabilitiesContainer {
  position: relative;
  margin-left: auto;
  margin-right: auto;
}

@media print,
screen and (min-width: 769px) {
  .c-disabilitiesContainer {
    padding-left: 10px;
    padding-right: 10px;
    max-width: 1200px;
    min-width: 1000px;
  }
}

@media only screen and (max-width: 768px) {
  .c-disabilitiesContainer {
    width: 92%;
  }
}

@media print,
screen and (min-width: 769px) {
  .c-disabilitiesContainer {
    margin-bottom: 80px;
  }
}

@media only screen and (max-width: 768px) {
  .c-disabilitiesContainer {
    margin-bottom: 60px;
  }
}

.c-disabilitiesContainer-inner {
  position: relative;
  margin: 0 auto;
  width: calc(100% - 100px);
  max-width: 1080px;
}

@media only screen and (max-width: 768px) {
  .c-disabilitiesContainer-inner {
    width: 100%;
  }
}

.c-retirementContainer {
  position: relative;
  margin-left: auto;
  margin-right: auto;
}

@media print,
screen and (min-width: 769px) {
  .c-retirementContainer {
    padding-left: 10px;
    padding-right: 10px;
    max-width: 1200px;
    min-width: 1000px;
  }
}

@media only screen and (max-width: 768px) {
  .c-retirementContainer {
    width: 92%;
  }
}

@media print,
screen and (min-width: 769px) {
  .c-retirementContainer {
    margin-bottom: 80px;
  }
}

@media only screen and (max-width: 768px) {
  .c-retirementContainer {
    margin-bottom: 60px;
  }
}

.c-retirementContainer-inner {
  position: relative;
  margin: 0 auto;
  width: calc(100% - 100px);
  max-width: 1080px;
}

@media only screen and (max-width: 768px) {
  .c-retirementContainer-inner {
    width: 100%;
  }
}

@media print,
screen and (min-width: 769px) {
  .c-retirementContainer-lead {
    margin-bottom: 60px;
  }
}

@media only screen and (max-width: 768px) {
  .c-retirementContainer-lead {
    margin-bottom: 40px;
  }
}

@media print,
screen and (min-width: 769px) {
  .c-retirementContainer-contents {
    margin-bottom: 60px;
  }
}

@media only screen and (max-width: 768px) {
  .c-retirementContainer-contents {
    margin-bottom: 40px;
  }
}

.c-foreignContainer {
  position: relative;
  margin-left: auto;
  margin-right: auto;
}

@media print,
screen and (min-width: 769px) {
  .c-foreignContainer {
    padding-left: 10px;
    padding-right: 10px;
    max-width: 1200px;
    min-width: 1000px;
  }
}

@media only screen and (max-width: 768px) {
  .c-foreignContainer {
    width: 92%;
  }
}

@media print,
screen and (min-width: 769px) {
  .c-foreignContainer {
    margin-bottom: 80px;
  }
}

@media only screen and (max-width: 768px) {
  .c-foreignContainer {
    margin-bottom: 60px;
  }
}

.c-foreignContainer-inner {
  position: relative;
  margin: 0 auto;
  width: calc(100% - 100px);
  max-width: 1080px;
}

@media only screen and (max-width: 768px) {
  .c-foreignContainer-inner {
    width: 100%;
  }
}