#bg {
  position: fixed;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  z-index: 0;
  background-image: url(../images/journal/05/keyv.jpg);
  background-position: 50%;
  background-size: cover;
  background-repeat: no-repeat;
  z-index: -1;
  opacity: 0;
  -webkit-transition: all 1s ease-in-out;
  -moz-transition: all 1s ease-in-out;
  -o-transition: all 1s ease-in-out;
  transition: all 1s ease-in-out; }
  #bg.move {
    opacity: 1; }

#TOP {
  height: 100vh;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  opacity: 0;
  -webkit-transition: all 1s ease-in-out 1s;
  -moz-transition: all 1s ease-in-out 1s;
  -o-transition: all 1s ease-in-out 1s;
  transition: all 1s ease-in-out 1s; }
  #TOP.move {
    opacity: 1; }
  #TOP h1 {
    width: 50%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    color: #fff;
    font-size: 36px;
    line-height: 1.16667;
    font-weight: bold; }
    #TOP h1 em {
      font-size: 0.55556em;
      line-height: 1.8;
      font-weight: normal; }

article#content {
  background-color: #fff;
  position: relative;
  z-index: 1; }
  article#content > .lead {
    padding: 50px 50px 85px;
    text-align: center;
    letter-spacing: 0.05em; }
    article#content > .lead h2 {
      font-size: 30px;
      line-height: 1.66667; }
    article#content > .lead p {
      margin-top: 35px;
      font-size: 15px;
      line-height: 2.33333; }
  article#content section .titBox {
    position: relative;
    margin-bottom: 75px; }
    article#content section .titBox div.img {
      position: relative;
      z-index: 0; }
      article#content section .titBox div.img img {
        width: 100%; }
    article#content section .titBox .title {
      position: absolute;
      z-index: 1;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
      text-align: center;
      color: #fff;
      font-size: 30px;
      line-height: 1.2;
      font-weight: bold; }
      article#content section .titBox .title span:lang(ja) {
        font-size: 20px;
        line-height: 1.5; }
  article#content section .content {
    max-width: 1080px;
    padding: 0 50px 100px;
    margin: 0 auto; }
    article#content section .content:after {
      content: "";
      display: block;
      clear: both; }
    article#content section .content .staff {
      width: 22.44898%;
      float: left; }
      article#content section .content .staff .peason {
        border-top: #bdc0c3 1px solid;
        padding: 5px 0 55px; }
        article#content section .content .staff .peason dt {
          font-size: 15px;
          font-weight: bold;
          line-height: 2.4;
          margin-top: 0.5em; }
          article#content section .content .staff .peason dt:first-child {
            margin-top: 0; }
        article#content section .content .staff .peason dd {
          font-size: 15px;
          line-height: 1.4; }
          article#content section .content .staff .peason dd.name {
            font-size: 20px;
            line-height: 1.35; }
    article#content section .content .lead {
      width: 59.18367%;
      margin-bottom: 100px;
      float: right; }
      article#content section .content .lead img {
        width: 100%;
        margin-bottom: 40px; }
      article#content section .content .lead h3 {
        font-size: 25px;
        line-height: 1.44;
        margin-bottom: 15px; }
      article#content section .content .lead p {
        font-size: 15px;
        line-height: 1.8; }
  article#content #SEC01 .imgBox {
    max-width: 1080px;
    padding: 0;
    margin: 0 auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    article#content #SEC01 .imgBox .img {
      width: 50%; }
  article#content #SEC02 .titBox .title {
    color: #000; }
  article#content #SEC02 .content {
    padding-bottom: 10px; }
    article#content #SEC02 .content .staff {
      float: right; }
    article#content #SEC02 .content .lead {
      float: left; }
  article#content #SEC02 .imgWrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    article#content #SEC02 .imgWrap .imgBox {
      width: 47.95918%;
      padding-bottom: 90px; }
      article#content #SEC02 .imgWrap .imgBox .txt {
        margin-top: 1em; }
  article#content #SEC03 .content {
    padding-bottom: 10px; }
  article#content #SEC03 .imgWrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    article#content #SEC03 .imgWrap .imgBox {
      width: 47.95918%;
      padding-bottom: 90px; }
      article#content #SEC03 .imgWrap .imgBox .txt {
        margin-top: 1em; }

@media screen and (max-width: 640px) {
  #bg {
    background-image: url(../images/journal/05/keyv_sp.jpg); }
  #TOP h1 {
    font-size: 2.08333rem;
    line-height: 1.3;
    width: 100%; }
    #TOP h1 em {
      font-size: 1em;
      line-height: 1.5; }
  article#content > .lead {
    padding: 10.9375vw 5.9375vw;
    letter-spacing: 0; }
    article#content > .lead h2 {
      font-size: 1.5rem;
      line-height: 1.33333; }
    article#content > .lead p {
      margin-top: 1em;
      font-size: 1rem;
      line-height: 1.75;
      text-align: left; }
  article#content section .titBox {
    position: relative;
    margin-bottom: 0; }
    article#content section .titBox .title {
      font-size: 1.5rem;
      line-height: 1.33333; }
      article#content section .titBox .title span:lang(ja) {
        font-size: 1rem;
        line-height: 2; }
  article#content section .content {
    max-width: 1080px;
    padding: 0;
    margin: 0 auto; }
    article#content section .content .staff {
      width: 100%;
      float: none;
      background-color: #f0f3f5;
      padding: 1rem 5.9375vw; }
      article#content section .content .staff .peason {
        border-top: none;
        padding: 1em 0;
        position: relative;
        text-align: center; }
        article#content section .content .staff .peason:before {
          content: "";
          display: block;
          width: 3.125vw;
          position: absolute;
          top: 0;
          left: 50%;
          margin-left: -1.5625vw;
          border-top: #969696 solid 1px; }
        article#content section .content .staff .peason:first-child:before {
          border-top: none; }
        article#content section .content .staff .peason dt {
          font-size: 0.83333rem;
          line-height: 1.8; }
        article#content section .content .staff .peason dd {
          font-size: 1rem;
          line-height: 1.75; }
          article#content section .content .staff .peason dd.name {
            font-size: 1rem;
            line-height: 1.75; }
    article#content section .content .lead {
      width: auto;
      margin: 0 5.9375vw;
      float: none;
      padding: 14.0625vw 0 9.375vw; }
      article#content section .content .lead h3 {
        font-size: 1.5rem;
        line-height: 1.38889;
        margin-bottom: 1em;
        text-align: center; }
      article#content section .content .lead p {
        font-size: 1rem;
        line-height: 1.75; }
  article#content #SEC01 .imgBox {
    width: 93.75vw;
    padding: 0;
    margin: 0 auto;
    display: block; }
    article#content #SEC01 .imgBox .img {
      width: 100%;
      margin-top: 3.125vw; }
    article#content #SEC01 .imgBox .txt {
      padding: 2.5em 0;
      margin: 0 2.8125vw;
      font-size: 1rem;
      line-height: 1.75; }
  article#content #SEC02 .content {
    padding-bottom: 2rem; }
    article#content #SEC02 .content .staff {
      float: none; }
    article#content #SEC02 .content .lead {
      float: none; }
  article#content #SEC02 .imgWrap {
    display: block; }
    article#content #SEC02 .imgWrap .imgBox {
      width: 93.75vw;
      margin: 0 auto;
      padding-bottom: 0; }
      article#content #SEC02 .imgWrap .imgBox .txt {
        padding: 1.5em 0;
        margin: 0 2.8125vw;
        font-size: 1rem;
        line-height: 1.75; }
  article#content #SEC03 .content {
    padding-bottom: 2rem; }
  article#content #SEC03 .imgWrap {
    display: block; }
    article#content #SEC03 .imgWrap .imgBox {
      width: 93.75vw;
      margin: 0 auto;
      padding-bottom: 0; }
      article#content #SEC03 .imgWrap .imgBox .txt {
        padding: 1.5em 0;
        margin: 0 2.8125vw;
        font-size: 1rem;
        line-height: 1.75; } }
