.area {
  padding: 77px 0 47px;
  background: #f4f4f4; }
  .area h2 {
    margin: 0 0 28px;
    font-size: 2rem;
    line-height: 1.107;
    font-weight: bold; }

.visual-list {
  margin: 0 -25px -40px -15px;
  padding: 28px 0;
  list-style: none;
  color: #848e97; }
  .visual-list .img-holder {
    float: left;
    width: 90px;
    text-align: center;
    margin: 7px 45px 0 0; }
    .visual-list .img-holder img {
      vertical-align: top; }
  .visual-list .text-holder {
    overflow: hidden; }
  .visual-list li {
    padding: 0 0 29px; }
  .visual-list h3 {
    margin: 0 0 10px;
    font-size: 1.5rem;
    line-height: 1.5;
    font-weight: bold;
    color: #635C73; }
  .visual-list p {
    margin: 0 0 21px; }

.visual-container {
  background: #1a2636;
  text-align: center; }
  .visual-container .visual-area {
    position: relative;
    overflow: hidden;
    padding: 90px 0 70px;
    font-size: 1.4rem;
    line-height: 1.5;
    color: #fff; }
    .visual-container .visual-area > .container {
      position: relative;
      z-index: 1; }
      .visual-container .visual-area > .container > p {
        margin: 0 120px 5px; }
    .visual-container .visual-area .bg-stretch {
      position: absolute;
      top: 0;
      left: 0; }
  .visual-container .visual-area + .visual-area {
    padding: 70px 0; }
    .visual-container .visual-area + .visual-area:after {
      content: "";
      position: absolute;
      top: 0;
      left: 180px;
      right: 180px;
      height: 1px;
      background: rgba(102, 74, 102, 0.6); }
  .visual-container h2 {
    margin: 0 0 70px;
    font-size: 4.8rem;
    line-height: 1.166666;
    font-weight: bold;
    color: #e3dfed; }
  .visual-container p.silent {
    color: #ffffff; }

@media only screen and (max-width: 992px) {
  .nav-opener {
    display: inline-block;
    vertical-align: top; }

  .opener-holder {
    float: right;
    display: inline-block;
    vertical-align: top;
    position: relative;
    padding: 0 0 0 25px;
    margin: 7px 25px 0; }
    .opener-holder:before {
      position: absolute;
      content: "";
      width: 1px;
      left: 0;
      top: 0;
      bottom: -6px;
      background: #f4f4f4; }

  .visual {
    padding: 0;
    min-height: 760px; }
    .visual .text-block {
      padding: 70px 0; }
    .visual:before {
      display: none; }
    .visual .bg-stretch {
      bottom: -60px; }

  .area {
    padding: 40px 0 47px; }

  .text-box {
    font-size: 1.6rem;
    line-height: 1.625;
    padding-bottom: 13px; }

  .main .text-box p {
    margin: 0 0 33px; }

  .text-box h2 {
    font-size: 4.8rem;
    line-height: 1.333333; }

  .area h2 {
    text-align: center;
    font-size: 2rem;
    line-height: 1.125; }


  .visual-container .visual-area {
    padding: 68px 0 84px; }
  .visual-container h2 {
    margin: 0 0 53px;
    font-size: 4.8rem;
    line-height: 1.25; }
  .visual-container .visual-area + .visual-area {
    padding: 54px 0 55px; }
    .visual-container .visual-area + .visual-area:after {
      left: 65px;
      right: 65px; } 

  .visual {
    min-height: 340px; }
    .visual > .container {
      font-size: 1.6rem;
      line-height: 1.5; }
    .visual .bg-stretch {
      max-width: 100%;
      bottom: 20px; }
    .visual .info {
      background: rgba(255, 255, 255, 0.3);
      color: #BEBCC3; }

  .visual h1 {
    font-size: 5.4rem;
    line-height: 1.148; }

  .visual .text-block {
    padding: 30px 0; }

@media only screen and (min-width: 1025px) {
  [href^='tel:'] {
    cursor: default;
    pointer-events: none; } }

/*# sourceMappingURL=all.css.map */
