/*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;
}
.message_hero .images .txt h2 {
  font-size:1.375rem;
}
.message_hero .images .txt .prof p.job {
  font-size:1rem;
}
@media only screen and (max-width: 768px) {
  .message_hero .images .txt h2 {
    font-size:1.25rem;
  }
  .message_hero .images .txt .prof p.job {
    font-size:0.875rem;
  }
}
section.message_single, section.message_flex {
  padding: 0 0 10rem 0;
}
@media only screen and (max-width: 768px) {
  section.message_single, section.message_flex {
    padding: 0 0 5rem 0;
  }
}
section.message_single.bgs, section.message_flex.bgs {
  background: #efefef;
  padding: 10rem 0;
}
@media only screen and (max-width: 768px) {
  section.message_single.bgs, section.message_flex.bgs {
    padding: 5rem 0;
  }
}
section.message_single.bgs .inner, section.message_flex.bgs .inner {
  max-width: 1000px;
}
section.message_single.bg, section.message_flex.bg {
  background: #004098;
  padding: 10rem 0;
  color:#FFF;
}
@media only screen and (max-width: 768px) {
  section.message_single.bg, section.message_flex.bg {
    padding: 5rem 0;
  }
}
section.message_single.bg .inner, section.message_flex.bg .inner {
  max-width: 1080px;
}
section.message_single.nobg, section.message_flex.nobg {
  padding: 10rem 0;
}
@media only screen and (max-width: 768px) {
  section.message_single.nobg, section.message_flex.nobg {
    padding: 5rem 0;
  }
}
section.message_single.nobg .inner, section.message_flex.nobg .inner {
  max-width: 1080px;
}
section.message_single.nobg .inner .mflex .txts, section.message_flex.nobg .inner .mflex .txts {
  color: #333;
}
section.message_single .mflex, section.message_flex .mflex {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  section.message_single .mflex, section.message_flex .mflex {
    display: block;
  }
}
section.message_single .mflex.rv, section.message_flex .mflex.rv {
  flex-direction: row-reverse;
}
section.message_single .mflex .image, section.message_flex .mflex .image {
  width: 40%;
}
@media only screen and (max-width: 768px) {
  section.message_single .mflex .image, section.message_flex .mflex .image {
    width: 100%;
    margin: 0 0 2rem 0;
  }
}
section.message_single .mflex .txts, section.message_flex .mflex .txts {
  width: 50%;
  color: #fff;
}
@media only screen and (max-width: 768px) {
  section.message_single .mflex .txts, section.message_flex .mflex .txts {
    width: 100%;
  }
}
section.message_single .mflex .txts h3, section.message_flex .mflex .txts h3 {
  text-align: left;
}
section.message_single .inner, section.message_flex .inner {
  width: 84%;
  max-width: 750px;
  margin: auto;
}
section.message_single h3, section.message_flex h3 {
  font-size: 1.625rem;
  margin: 0 0 1em 0;
  text-align: center;
  line-height: 1.6;
}
@media only screen and (max-width: 768px) {
  section.message_single h3, section.message_flex h3 {
    font-size: 1.25rem;
    text-align: left;
  }
  section.message_single h3 br, section.message_flex h3 br {
    display: none;
  }
}
section.message_single p, section.message_flex p {
  line-height: 2;
}
section.message_single p a {
  color:#004098;
  text-decoration: underline;
}
section.message_single p a:hover {
  opacity: 0.7;
}
section.keyword {
  padding: 0 0 10rem 0;
}
@media only screen and (max-width: 768px) {
  section.keyword {
    padding: 0 0 2rem 0;
  }
}
section.keyword.bg {
  background: #d1d6df;
  padding: 10rem 0;
}
@media only screen and (max-width: 768px) {
  section.keyword.bg {
    padding: 2rem 0;
  }
}
section.keyword.pad {
  padding: 10rem 0;
}
@media only screen and (max-width: 768px) {
  section.keyword.pad {
    padding: 2rem 0;
  }
}
section.keyword .inner {
  max-width: 1300px;
  margin: auto;
  padding: 0 8vw;
}
section.keyword .inner .key_flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  section.keyword .inner .key_flex {
    display: block;
  }
}
section.keyword .inner .key_flex.rv {
  flex-direction: row-reverse;
}
section.keyword .inner .key_flex .txt {
  width: 40%;
}
@media only screen and (max-width: 768px) {
  section.keyword .inner .key_flex .txt {
    width: 100%;
    margin: 0 0 2rem 0;
  }
}
section.keyword .inner .key_flex .txt .key_title p.en {
  font-size: 1.6rem;
  font-weight: bold;
  display: inline-block;
  background: #004098;
  color: #fff;
  line-height: 1;
  padding: 0.2rem;
  margin: 0.5em 0 1em 0;
}
@media only screen and (max-width: 768px) {
  section.keyword .inner .key_flex .txt .key_title p.en {
    font-size: 1rem;
  }
}
section.keyword .inner .key_flex .txt h2 {
  font-weight: 400;
  font-size: 2rem;
  margin: 0 0 0.5em 0;
  font-feature-settings: "palt";
}
@media only screen and (max-width: 768px) {
  section.keyword .inner .key_flex .txt h2 {
    font-size: 1.4rem;
    font-weight: 500;
  }
}
section.keyword .inner .key_flex .txt p {
  line-height: 2;
}
section.keyword .inner .key_flex .image {
  width: 50%;
}
@media only screen and (max-width: 768px) {
  section.keyword .inner .key_flex .image {
    width: 100%;
  }
}

.column {
  background: #fff;
  padding: 3rem;
  margin: 4rem 0 0 0;
}
@media only screen and (max-width: 768px) {
  .column {
    padding: 2rem;
    margin: 2rem 0 0 0;
  }
}
.column.bg {
  background: #efefef;
}
.column .column_flex {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
}
@media only screen and (max-width: 768px) {
  .column .column_flex {
    display: block;
  }
}
.column .column_flex .txt {
  width: 60%;
}
@media only screen and (max-width: 768px) {
  .column .column_flex .txt {
    width: 100%;
    margin: 0 0 1rem 0;
  }
}
.column .column_flex .txt h3 {
  font-weight: bold;
  margin: 0 0 1em 0;
  font-size: 1.2rem;
}
@media only screen and (max-width: 768px) {
  .column .column_flex .txt h3 {
    font-size: 1rem;
  }
}
.column .column_flex .txt p {
  line-height: 2;
}
.column .column_flex .images {
  width: 30%;
}
@media only screen and (max-width: 768px) {
  .column .column_flex .images {
    width: 100%;
  }
}
.column .column_flex .images p.cap {
  font-size: 14px;
  margin: 1em 0 0 0;
}

p.detail {
  font-size: 12px;
  margin: 1em 0 0 0;
}