/***********************************************
  Animation
***********************************************/
.fadeInUp {
  opacity: 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  -webkit-transition: opacity 300ms ease-out, -webkit-transform 300ms ease-out;
  transition: opacity 300ms ease-out, -webkit-transform 300ms ease-out;
  transition: opacity 300ms ease-out, transform 300ms ease-out;
  transition: opacity 300ms ease-out, transform 300ms ease-out, -webkit-transform 300ms ease-out;
}

.fadeInUp.is-anime {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/***********************************************
  mainvisual
***********************************************/
.mainvisual {
  width: 100%;
  margin-top: 56px;
  padding-top: 152.8125vw;
  position: relative;
  z-index: 0;
  background: url(../img/mainvisual_sp.jpg) no-repeat top center;
  background-size: cover;
  overflow: hidden;
}

@media all and (min-width: 960px) {
  .mainvisual {
    margin-top: 96px;
    padding-top: 75.55556vw;
    background: url(../img/mainvisual_pc.jpg) no-repeat top center;
    background-size: cover;
  }
}

@media all and (min-width: 960px) and (-webkit-min-device-pixel-ratio: 2), all and (min-width: 960px) and (min-resolution: 2dppx) {
  .mainvisual {
    background: url(../img/mainvisual_pc@2x.jpg) no-repeat top center;
    background-size: cover;
  }
}

@media all and (min-width: 1920px) {
  .mainvisual {
    background: url(../img/mainvisual_pc@2x.jpg) no-repeat top center;
    background-size: cover;
  }
}

.mainvisual__inner {
  width: 100%;
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  padding-top: 13.4375vw;
}

@media all and (min-width: 960px) {
  .mainvisual__inner {
    width: 93.19444vw;
    padding-top: 10.27778vw;
  }
}

.mainvisual__title {
  margin-bottom: 10vw;
}

@media all and (min-width: 960px) {
  .mainvisual__title {
    margin-bottom: 8.75vw;
  }
}

.mainvisual__title h1 {
  width: 75.78125vw;
  margin: 0 auto 3.125vw;
  -webkit-filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.3));
          filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.3));
}

@media all and (min-width: 960px) {
  .mainvisual__title h1 {
    width: 46.25vw;
    margin-bottom: 2.5vw;
  }
}

.mainvisual__title p {
  font-size: 3.90625vw;
  font-weight: bold;
  letter-spacing: 0.5em;
  color: #FFFFFF;
  text-align: center;
  text-indent: 1em;
  text-shadow: 0 0 2px rgba(0, 0, 0, 0.3);
}

@media all and (min-width: 960px) {
  .mainvisual__title p {
    font-size: 1.94444vw;
  }
}

.mainvisual__about h2 {
  width: 25.9375vw;
  margin: 0 auto 2.1875vw;
  -webkit-filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.3));
          filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.3));
}

@media all and (min-width: 960px) {
  .mainvisual__about h2 {
    width: 11.52778vw;
    margin-bottom: 1.38889vw;
  }
}

.mainvisual__about h2 + p {
  font-size: 3.75vw;
  letter-spacing: 0.1em;
  line-height: 1.73077;
  padding-bottom: 5.3125vw;
  position: relative;
}

.mainvisual__about h2 + p::after {
  content: "";
  display: block;
  width: 7.8125vw;
  height: 1px;
  background-color: #FFFFFF;
  position: absolute;
  z-index: 10;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0 auto;
}

@media all and (min-width: 960px) {
  .mainvisual__about h2 + p::after {
    width: 3.61111vw;
  }
}

@media all and (min-width: 960px) {
  .mainvisual__about h2 + p {
    font-size: 1.52778vw;
    line-height: 1.72727;
    padding-bottom: 2.08333vw;
  }
}

.mainvisual__about p {
  color: #FFFFFF;
  text-align: center;
  font-size: 3.125vw;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.9;
  text-shadow: 0 0 2px rgba(0, 0, 0, 0.3);
}

@media all and (min-width: 960px) {
  .mainvisual__about p {
    font-size: 1.11111vw;
    line-height: 2;
  }
}

.mainvisual__aboutTop {
  padding-top: 7.1875vw;
}

@media all and (min-width: 960px) {
  .mainvisual__aboutTop {
    padding-top: 2.08333vw;
  }
}

.mainvisual__aboutBottom {
  padding-top: 7.1875vw;
}

@media all and (min-width: 960px) {
  .mainvisual__aboutBottom {
    padding-top: 2.08333vw;
  }
}

.mainvisual__photo {
  width: 100%;
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}

.mainvisual__photoParts {
  -webkit-perspective: 100px;
          perspective: 100px;
  position: absolute;
  z-index: 20;
  opacity: 0.0001;
}

.mainvisual__photoParts--1 {
  width: 16.71875vw;
  top: 25vw;
  left: 1.25vw;
  -webkit-transform: translate(20px, 30px) scale3d(0.7, 0.7, 0.5);
          transform: translate(20px, 30px) scale3d(0.7, 0.7, 0.5);
  -webkit-transform-origin: right;
          transform-origin: right;
}

.is-anime .mainvisual__photoParts--1 {
  -webkit-animation: showLeftTop 1000ms ease-out 0ms forwards;
          animation: showLeftTop 1000ms ease-out 0ms forwards;
}

@-webkit-keyframes showLeftTop {
  0% {
    opacity: 0.0001;
    -webkit-transform: translate(20px, 30px) scale3d(0.7, 0.7, 0.5);
            transform: translate(20px, 30px) scale3d(0.7, 0.7, 0.5);
  }
  20% {
    opacity: 0.8;
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0) scale3d(1, 1, 1);
            transform: translate(0, 0) scale3d(1, 1, 1);
  }
}

@keyframes showLeftTop {
  0% {
    opacity: 0.0001;
    -webkit-transform: translate(20px, 30px) scale3d(0.7, 0.7, 0.5);
            transform: translate(20px, 30px) scale3d(0.7, 0.7, 0.5);
  }
  20% {
    opacity: 0.8;
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0) scale3d(1, 1, 1);
            transform: translate(0, 0) scale3d(1, 1, 1);
  }
}

@media all and (min-width: 960px) {
  .mainvisual__photoParts--1 {
    width: 16.18056vw;
    top: 8.54167vw;
    left: 0.625vw;
  }
}

.mainvisual__photoParts--2 {
  width: 14.21875vw;
  top: 50vw;
  left: 6.5625vw;
  -webkit-transform: translate(30px, 0) scale3d(0.7, 0.7, 0.5);
          transform: translate(30px, 0) scale3d(0.7, 0.7, 0.5);
  -webkit-transform-origin: right;
          transform-origin: right;
}

.is-anime .mainvisual__photoParts--2 {
  -webkit-animation: showLeftMdl 1000ms ease-out 50ms forwards;
          animation: showLeftMdl 1000ms ease-out 50ms forwards;
}

@-webkit-keyframes showLeftMdl {
  0% {
    opacity: 0.0001;
    -webkit-transform: translate(30px, 0) scale3d(0.7, 0.7, 0.5);
            transform: translate(30px, 0) scale3d(0.7, 0.7, 0.5);
  }
  20% {
    opacity: 0.8;
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0) scale3d(1, 1, 1);
            transform: translate(0, 0) scale3d(1, 1, 1);
  }
}

@keyframes showLeftMdl {
  0% {
    opacity: 0.0001;
    -webkit-transform: translate(30px, 0) scale3d(0.7, 0.7, 0.5);
            transform: translate(30px, 0) scale3d(0.7, 0.7, 0.5);
  }
  20% {
    opacity: 0.8;
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0) scale3d(1, 1, 1);
            transform: translate(0, 0) scale3d(1, 1, 1);
  }
}

@media all and (min-width: 960px) {
  .mainvisual__photoParts--2 {
    width: 11.11111vw;
    top: 26.11111vw;
    left: 11.45833vw;
  }
}

.mainvisual__photoParts--3 {
  width: 15.46875vw;
  top: 66.875vw;
  left: 1.875vw;
  -webkit-transform: translate(20px, -30px) scale3d(0.7, 0.7, 0.5);
          transform: translate(20px, -30px) scale3d(0.7, 0.7, 0.5);
  -webkit-transform-origin: right;
          transform-origin: right;
}

.is-anime .mainvisual__photoParts--3 {
  -webkit-animation: showLeftBtm 1000ms ease-out 100ms forwards;
          animation: showLeftBtm 1000ms ease-out 100ms forwards;
}

@-webkit-keyframes showLeftBtm {
  0% {
    opacity: 0.0001;
    -webkit-transform: translate(20px, -30px) scale3d(0.7, 0.7, 0.5);
            transform: translate(20px, -30px) scale3d(0.7, 0.7, 0.5);
  }
  20% {
    opacity: 0.8;
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0) scale3d(1, 1, 1);
            transform: translate(0, 0) scale3d(1, 1, 1);
  }
}

@keyframes showLeftBtm {
  0% {
    opacity: 0.0001;
    -webkit-transform: translate(20px, -30px) scale3d(0.7, 0.7, 0.5);
            transform: translate(20px, -30px) scale3d(0.7, 0.7, 0.5);
  }
  20% {
    opacity: 0.8;
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0) scale3d(1, 1, 1);
            transform: translate(0, 0) scale3d(1, 1, 1);
  }
}

@media all and (min-width: 960px) {
  .mainvisual__photoParts--3 {
    width: 12.29167vw;
    top: 39.30556vw;
    left: 0vw;
  }
}

.mainvisual__photoParts--4 {
  width: 17.03125vw;
  top: 26.5625vw;
  right: 2.34375vw;
  -webkit-transform: translate(-20px, 30px) scale3d(0.7, 0.7, 0.5);
          transform: translate(-20px, 30px) scale3d(0.7, 0.7, 0.5);
  -webkit-transform-origin: left;
          transform-origin: left;
}

.is-anime .mainvisual__photoParts--4 {
  -webkit-animation: showRightTop 1000ms ease-out 0ms forwards;
          animation: showRightTop 1000ms ease-out 0ms forwards;
}

@-webkit-keyframes showRightTop {
  0% {
    opacity: 0.0001;
    -webkit-transform: translate(-20px, 30px) scale3d(0.7, 0.7, 0.5);
            transform: translate(-20px, 30px) scale3d(0.7, 0.7, 0.5);
  }
  20% {
    opacity: 0.8;
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0) scale3d(1, 1, 1);
            transform: translate(0, 0) scale3d(1, 1, 1);
  }
}

@keyframes showRightTop {
  0% {
    opacity: 0.0001;
    -webkit-transform: translate(-20px, 30px) scale3d(0.7, 0.7, 0.5);
            transform: translate(-20px, 30px) scale3d(0.7, 0.7, 0.5);
  }
  20% {
    opacity: 0.8;
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0) scale3d(1, 1, 1);
            transform: translate(0, 0) scale3d(1, 1, 1);
  }
}

@media all and (min-width: 960px) {
  .mainvisual__photoParts--4 {
    width: 11.38889vw;
    top: 9.375vw;
    right: 0vw;
  }
}

.mainvisual__photoParts--5 {
  width: 16.40625vw;
  top: 50vw;
  right: 2.8125vw;
  -webkit-transform: translate(-30px, 0) scale3d(0.7, 0.7, 0.5);
          transform: translate(-30px, 0) scale3d(0.7, 0.7, 0.5);
  -webkit-transform-origin: left;
          transform-origin: left;
}

.is-anime .mainvisual__photoParts--5 {
  -webkit-animation: showRightMdl 1000ms ease-out 50ms forwards;
          animation: showRightMdl 1000ms ease-out 50ms forwards;
}

@-webkit-keyframes showRightMdl {
  0% {
    opacity: 0.0001;
    -webkit-transform: translate(-30px, 0) scale3d(0.7, 0.7, 0.5);
            transform: translate(-30px, 0) scale3d(0.7, 0.7, 0.5);
  }
  20% {
    opacity: 0.8;
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0) scale3d(1, 1, 1);
            transform: translate(0, 0) scale3d(1, 1, 1);
  }
}

@keyframes showRightMdl {
  0% {
    opacity: 0.0001;
    -webkit-transform: translate(-30px, 0) scale3d(0.7, 0.7, 0.5);
            transform: translate(-30px, 0) scale3d(0.7, 0.7, 0.5);
  }
  20% {
    opacity: 0.8;
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0) scale3d(1, 1, 1);
            transform: translate(0, 0) scale3d(1, 1, 1);
  }
}

@media all and (min-width: 960px) {
  .mainvisual__photoParts--5 {
    width: 16.59722vw;
    top: 25.55556vw;
    right: 4.51389vw;
  }
}

.mainvisual__photoParts--6 {
  width: 13.90625vw;
  top: 69.375vw;
  right: 5.46875vw;
  -webkit-transform: translate(-20px, -30px) scale3d(0.7, 0.7, 0.5);
          transform: translate(-20px, -30px) scale3d(0.7, 0.7, 0.5);
  -webkit-transform-origin: left;
          transform-origin: left;
}

.is-anime .mainvisual__photoParts--6 {
  -webkit-animation: showRightBtm 1000ms ease-out 100ms forwards;
          animation: showRightBtm 1000ms ease-out 100ms forwards;
}

@-webkit-keyframes showRightBtm {
  0% {
    opacity: 0.0001;
    -webkit-transform: translate(-20px, -30px) scale3d(0.7, 0.7, 0.5);
            transform: translate(-20px, -30px) scale3d(0.7, 0.7, 0.5);
  }
  20% {
    opacity: 0.8;
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0) scale3d(1, 1, 1);
            transform: translate(0, 0) scale3d(1, 1, 1);
  }
}

@keyframes showRightBtm {
  0% {
    opacity: 0.0001;
    -webkit-transform: translate(-20px, -30px) scale3d(0.7, 0.7, 0.5);
            transform: translate(-20px, -30px) scale3d(0.7, 0.7, 0.5);
  }
  20% {
    opacity: 0.8;
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0) scale3d(1, 1, 1);
            transform: translate(0, 0) scale3d(1, 1, 1);
  }
}

@media all and (min-width: 960px) {
  .mainvisual__photoParts--6 {
    width: 10.41667vw;
    top: 43.40278vw;
    right: 2.15278vw;
  }
}

/***********************************************
  usecase
***********************************************/
.usecase {
  width: 93.75vw;
  margin: -16.25vw auto 0;
  background-color: #FFFFFF;
  position: relative;
  z-index: 10;
}

@media all and (min-width: 960px) {
  .usecase {
    width: 100%;
    max-width: 1164px;
    margin-top: calc(180/1440 * -100%);
  }
}

.usecase__inner {
  width: 85.9375vw;
  margin: 0 auto;
  padding-top: 7.1875vw;
}

@media all and (min-width: 960px) {
  .usecase__inner {
    width: 100%;
    max-width: 980px;
    padding-top: 50px;
  }
}

.usecase__title {
  width: 46.875vw;
  margin: 0 auto 3.125vw;
}

@media all and (min-width: 960px) {
  .usecase__title {
    width: 100%;
    max-width: 240px;
    margin-bottom: 24px;
  }
}

.usecase__read {
  font-size: 4.0625vw;
  font-weight: bold;
  letter-spacing: 0.14em;
  text-align: center;
  color: #006893;
  margin-bottom: 3.75vw;
}

@media all and (min-width: 960px) {
  .usecase__read {
    font-size: 2.2rem;
    margin-bottom: 30px;
  }
}

.usecase__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

@media all and (min-width: 960px) {
  .usecase__list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.usecase__listItem {
  border-bottom: 1px solid #006893;
}

@media all and (min-width: 960px) {
  .usecase__listItem {
    width: calc(320/980 * 100%);
    max-width: 320px;
    padding: calc(14/980 * 100%);
    border-bottom-width: 0;
    margin-bottom: 14px;
  }
  .usecase__listItem:nth-child(1) {
    background: url(../img/bg_menu1_pc.jpg) no-repeat center;
    background-size: cover;
  }
}

@media all and (min-width: 960px) and (-webkit-min-device-pixel-ratio: 2), all and (min-width: 960px) and (min-resolution: 2dppx) {
  .usecase__listItem:nth-child(1) {
    background: url(../img/bg_menu1_pc@2x.jpg) no-repeat center;
    background-size: cover;
  }
}

@media all and (min-width: 960px) {
  .usecase__listItem:nth-child(2) {
    background: url(../img/bg_menu2_pc.jpg) no-repeat center;
    background-size: cover;
  }
}

@media all and (min-width: 960px) and (-webkit-min-device-pixel-ratio: 2), all and (min-width: 960px) and (min-resolution: 2dppx) {
  .usecase__listItem:nth-child(2) {
    background: url(../img/bg_menu2_pc@2x.jpg) no-repeat center;
    background-size: cover;
  }
}

@media all and (min-width: 960px) {
  .usecase__listItem:nth-child(3) {
    background: url(../img/bg_menu3_pc.jpg) no-repeat center;
    background-size: cover;
  }
}

@media all and (min-width: 960px) and (-webkit-min-device-pixel-ratio: 2), all and (min-width: 960px) and (min-resolution: 2dppx) {
  .usecase__listItem:nth-child(3) {
    background: url(../img/bg_menu3_pc@2x.jpg) no-repeat center;
    background-size: cover;
  }
}

@media all and (min-width: 960px) {
  .usecase__listItem:nth-child(4) {
    background: url(../img/bg_menu4_pc.jpg) no-repeat center;
    background-size: cover;
  }
}

@media all and (min-width: 960px) and (-webkit-min-device-pixel-ratio: 2), all and (min-width: 960px) and (min-resolution: 2dppx) {
  .usecase__listItem:nth-child(4) {
    background: url(../img/bg_menu4_pc@2x.jpg) no-repeat center;
    background-size: cover;
  }
}

@media all and (min-width: 960px) {
  .usecase__listItem:nth-child(5) {
    background: url(../img/bg_menu5_pc.jpg) no-repeat center;
    background-size: cover;
  }
}

@media all and (min-width: 960px) and (-webkit-min-device-pixel-ratio: 2), all and (min-width: 960px) and (min-resolution: 2dppx) {
  .usecase__listItem:nth-child(5) {
    background: url(../img/bg_menu5_pc@2x.jpg) no-repeat center;
    background-size: cover;
  }
}

@media all and (min-width: 960px) {
  .usecase__listItem:nth-child(6) {
    background: url(../img/bg_menu6_pc.jpg) no-repeat center;
    background-size: cover;
  }
}

@media all and (min-width: 960px) and (-webkit-min-device-pixel-ratio: 2), all and (min-width: 960px) and (min-resolution: 2dppx) {
  .usecase__listItem:nth-child(6) {
    background: url(../img/bg_menu6_pc@2x.jpg) no-repeat center;
    background-size: cover;
  }
}

.usecase__listBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 12.5vw;
  color: #006893;
  text-decoration: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media all and (min-width: 960px) {
  .usecase__listBox {
    height: 208px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    background-color: rgba(0, 104, 149, 0.85);
    color: #FFFFFF;
    padding-top: 24px;
  }
  .usecase__listBox:hover {
    opacity: 0.8;
  }
}

.usecase__listBox::after {
  content: "";
  display: block;
  width: 2.65625vw;
  height: 1.5625vw;
  background: url(../img/icon_arrow_down.svg) no-repeat center;
  background-size: contain;
  margin-left: auto;
  margin-right: 1.5625vw;
}

@media all and (min-width: 960px) {
  .usecase__listBox::after {
    width: 7px;
    height: 11px;
    margin-right: auto;
    background: url(../img/icon_arrow_right.svg) no-repeat center;
    background-size: contain;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
}

.usecase__listBoxNo {
  margin-right: 2.5vw;
}

@media all and (min-width: 960px) {
  .usecase__listBoxNo {
    display: block;
    width: 100%;
    margin-right: 0;
  }
  .usecase__listBoxNo img {
    width: 24px;
    margin: 0 auto;
  }
}

.usecase__listBoxNo::before {
  font-size: 3.75vw;
  font-weight: bold;
  line-height: 1.33333;
  letter-spacing: 0.14em;
}

@media all and (min-width: 960px) {
  .usecase__listBoxNo::before {
    display: none;
  }
}

.usecase__listBoxNo.usecase__listBoxNo--1::before {
  content: "01";
}

.usecase__listBoxNo.usecase__listBoxNo--2::before {
  content: "02";
}

.usecase__listBoxNo.usecase__listBoxNo--3::before {
  content: "03";
}

.usecase__listBoxNo.usecase__listBoxNo--4::before {
  content: "04";
}

.usecase__listBoxNo.usecase__listBoxNo--5::before {
  content: "05";
}

.usecase__listBoxNo.usecase__listBoxNo--6::before {
  content: "06";
}

.usecase__listBoxNo img {
  display: none;
}

@media all and (min-width: 960px) {
  .usecase__listBoxNo img {
    display: block;
  }
}

.usecase__listBoxTitle {
  font-size: 3.75vw;
  font-weight: bold;
  line-height: 1.33333;
  letter-spacing: 0.1em;
}

@media all and (min-width: 960px) {
  .usecase__listBoxTitle {
    display: block;
    width: 100%;
    font-size: 1.8rem;
    line-height: 1.5;
    text-align: center;
  }
}

.usecase__listBoxText {
  display: none;
}

@media all and (min-width: 960px) {
  .usecase__listBoxText {
    display: block;
    width: 100%;
    font-size: 1.4rem;
    line-height: 1.71429;
    letter-spacing: 0.05em;
    text-align: center;
  }
}

/***********************************************
  area
***********************************************/
.area {
  padding-top: 13.28125vw;
}

@media all and (min-width: 960px) {
  .area {
    padding-top: 96px;
  }
}

.area__mainvisual {
  display: block;
  width: 100%;
  position: relative;
  z-index: 0;
}

@media all and (min-width: 960px) {
  .area__mainvisual {
    max-height: 650px;
    overflow: hidden;
  }
  .area__mainvisual img {
    max-height: 650px;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.area__container {
  width: 100%;
  position: relative;
  z-index: 10;
}

@media all and (min-width: 960px) {
  .area__container {
    max-width: 1350px;
    padding: 0 10px;
    margin: 0 auto;
  }
}

.area__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 70.625vw;
  height: 50.9375vw;
  background-color: #006893;
  margin: -6.5625vw auto 10.9375vw 3.125vw;
}

@media all and (min-width: 960px) {
  .area__title {
    width: 100%;
    max-width: 450px;
    height: 326px;
    margin: -264px auto 54px 40px;
  }
  .area__title.area__title--1 .area__titleNo,
  .area__title.area__title--1 .area__titleWord {
    margin-bottom: 60px;
  }
}

.area__title.area__title--5 .area__titleNo,
.area__title.area__title--5 .area__titleWord {
  margin-bottom: 2.5vw;
}

@media all and (min-width: 960px) {
  .area__title.area__title--5 .area__titleNo,
  .area__title.area__title--5 .area__titleWord {
    margin-bottom: 40px;
  }
}

.area__titleNo {
  width: 4.6875vw;
  margin: 0 auto 4.6875vw;
}

@media all and (min-width: 960px) {
  .area__titleNo {
    width: 24px;
    margin-bottom: 40px;
  }
}

.area__titleWord {
  font-size: 5.15625vw;
  font-weight: bold;
  letter-spacing: 0.08em;
  text-align: center;
  color: #FFFFFF;
  margin-bottom: 4.6875vw;
}

@media all and (min-width: 960px) {
  .area__titleWord {
    font-size: 3.4rem;
    letter-spacing: 0.11em;
    margin-bottom: 40px;
  }
}

.area__titleRead {
  font-size: 3.75vw;
  line-height: 1.75;
  letter-spacing: 0.14em;
  text-align: center;
  color: #FFFFFF;
}

@media all and (min-width: 960px) {
  .area__titleRead {
    font-size: 1.8rem;
    line-height: 1.77778;
  }
}

.area__outline {
  width: 33.125vw;
  margin: 0 auto 4.0625vw;
}

@media all and (min-width: 960px) {
  .area__outline {
    width: 100%;
    max-width: 212px;
    margin-bottom: 12px;
  }
}

.area__mission {
  width: 32.34375vw;
  margin: 0 auto 5.625vw;
}

@media all and (min-width: 960px) {
  .area__mission {
    width: 100%;
    max-width: 207px;
    margin-bottom: 12px;
  }
  .area__mission + p {
    margin-bottom: 130px;
  }
}

.area__project {
  width: 70.3125vw;
  margin: 0 0 3.4375vw 6.25vw;
}

@media all and (min-width: 960px) {
  .area__project {
    width: 100%;
    max-width: 450px;
    margin: 0 0 24px 40px;
  }
}

.area__text {
  width: 87.5vw;
  margin: 0 auto 14.0625vw;
  text-align: justify;
  font-size: 4.375vw;
  line-height: 2;
  letter-spacing: 0.05em;
}

@media all and (min-width: 960px) {
  .area__text {
    width: 100%;
    text-align: center;
    font-size: 1.6rem;
    line-height: 2;
    margin-bottom: 80px;
  }
}

.area__box {
  background-color: #CBCBCB;
  padding: 3.125vw 3.125vw 9.375vw;
}

@media all and (min-width: 960px) {
  .area__box {
    padding: 30px 38px;
    position: relative;
    z-index: 0;
  }
}

.area__boxPhoto {
  display: block;
  margin-bottom: 6.25vw;
}

@media all and (min-width: 960px) {
  .area__boxPhoto {
    width: calc(699/1330 * 100%);
    max-width: 699px;
    margin-bottom: 0;
    position: absolute;
    z-index: 0;
    top: 30px;
    left: 38px;
  }
}

.area__boxTitle {
  margin-bottom: 7.8125vw;
}

@media all and (min-width: 960px) {
  .area__boxTitle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    max-width: 555px;
    min-height: 300px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-left: auto;
    margin-bottom: 0;
    -ms-flex-line-pack: center;
        align-content: center;
    background-color: #CBCBCB;
    position: relative;
    z-index: 10;
    padding-top: 30px;
  }
}

.area__boxTitle h4 {
  font-size: 4.375vw;
  font-weight: bold;
  text-align: center;
  line-height: 1.67857;
  letter-spacing: 0.14em;
  margin-bottom: 4.6875vw;
}

@media all and (min-width: 960px) {
  .area__boxTitle h4 {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    font-size: 2.2rem;
    line-height: 2.13636;
    margin-bottom: 44px;
  }
}

.area__boxTitleYear {
  font-size: 4.375vw;
  text-align: center;
  margin-bottom: 3.75vw;
      line-height: 1.8;
}

@media all and (min-width: 960px) {
  .area__boxTitleYear {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    font-size: 1.2rem;
    margin-bottom: 13px;
  }
}

.area__boxTitleName {
  font-size: 4.375vw;
  text-align: center;
}

@media all and (min-width: 960px) {
  .area__boxTitleName {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    font-size: 1.6rem;
  }
}

.area__boxText {
  padding: 0 3.125vw;
}

@media all and (min-width: 960px) {
  .area__boxText {
    width: 100%;
    max-width: 920px;
    padding: 26px 82px 20px 50px;
    margin-left: auto;
    background-color: #CBCBCB;
    position: relative;
    z-index: 10;
  }
}

.area__boxText p {
  font-size: 4.375vw;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: justify;
}

@media all and (min-width: 960px) {
  .area__boxText p {
    font-size: 1.6rem;
    line-height: 2;
  }
}

.area__boxLink {
  display: block;
  width: 69.0625vw;
  margin: 6.25vw 0 0 auto;
}

@media all and (min-width: 960px) {
  .area__boxLink {
    width: 100%;
    max-width: 296px;
    margin-top: 0;
  }
}

.area__boxLink a {
  display: block;
  height: 12.5vw;
  background-color: #006893;
  font-size: 3.75vw;
  font-weight: bold;
  text-decoration: none;
  color: #FFFFFF;
  line-height: 3.33333;
  letter-spacing: 0.14em;
  padding-left: 7.8125vw;
  position: relative;
}

@media all and (min-width: 960px) {
  .area__boxLink a {
    height: 50px;
    font-size: 1.4rem;
    line-height: 3.57143;
    padding-left: 30px;
  }
  .area__boxLink a:hover {
    opacity: 0.8;
  }
}

.area__boxLink a::after {
  content: "";
  display: block;
  width: 1.5625vw;
  height: 3.125vw;
  background: url(../img/icon_arrow_right.svg) no-repeat center;
  background-size: contain;
  position: absolute;
  z-index: 10;
  top: 0;
  bottom: 0;
  right: 4.0625vw;
  margin: auto 0;
}

@media all and (min-width: 960px) {
  .area__boxLink a::after {
    width: 8px;
    height: 13px;
    right: 16px;
  }
}

.spBr {
  display: block;
}

@media all and (min-width: 960px) {
  .spBr {
    display: none;
  }
}

.pcBr {
  display: none;
}

@media all and (min-width: 960px) {
  .pcBr {
    display: block;
  }
}
