/* Scss Document */
/* Scss Document */
#greeting {
  padding: 0; }
  #greeting .greeting01 {
    height: 649px;
    background: url(../images/concept/greeting_01_bg.png) top center no-repeat; }
    #greeting .greeting01 .inner {
      -webkit-display: flex;
      -moz-display: flex;
      -ms-display: flex;
      -o-display: flex;
      display: -webkit-box;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      padding: 90px 30px 50px; }
      #greeting .greeting01 .inner .text {
        width: 600px; }
      #greeting .greeting01 .inner .lttl {
        margin-bottom: 40px;
        padding: 50px 0 30px;
        background: url(../images/concept/greeting_ttl_bg.png) top right no-repeat; }
      #greeting .greeting01 .inner h3 {
        margin-bottom: 40px;
        font-family: serif;
        font-size: 2.4rem;
        letter-spacing: .3em;
        line-height: 1.2; }
      #greeting .greeting01 .inner .img {
        width: 760px;
        margin-right: -245px; }
  #greeting .greeting02 {
    height: 649px;
    background: url(../images/concept/greeting_02_bg.png) top center no-repeat; }
    #greeting .greeting02 .inner {
      -webkit-display: flex;
      -moz-display: flex;
      -ms-display: flex;
      -o-display: flex;
      display: -webkit-box;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      padding: 80px 30px 70px;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
      -ms-flex-flow: row-reverse;
      flex-flow: row-reverse; }
      #greeting .greeting02 .inner .text {
        width: 510px; }
      #greeting .greeting02 .inner .img {
        -webkit-display: flex;
        -moz-display: flex;
        -ms-display: flex;
        -o-display: flex;
        display: -webkit-box;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
        width: 820px;
        margin-left: -260px; }
  #greeting .greeting03 .inner {
    -webkit-display: flex;
    -moz-display: flex;
    -ms-display: flex;
    -o-display: flex;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 70px 30px 80px; }
    #greeting .greeting03 .inner .text {
      margin-left: 95px;
      width: 620px; }
      #greeting .greeting03 .inner .text .sign {
        font-family: serif;
        text-align: right; }
        #greeting .greeting03 .inner .text .sign img {
          vertical-align: middle; }
    #greeting .greeting03 .inner .img {
      width: 335px;
      margin-top: -160px; }

#works {
  padding: 0;
  color: #FFF; }
  #works .works01 {
    height: 649px;
    background: url(../images/concept/works_01_bg.png) top center no-repeat; }
    #works .works01 .inner {
      -webkit-display: flex;
      -moz-display: flex;
      -ms-display: flex;
      -o-display: flex;
      display: -webkit-box;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      padding: 60px 30px; }
      #works .works01 .inner .text {
        width: 640px; }
      #works .works01 .inner .lttl {
        margin-bottom: 40px;
        padding: 20px 0;
        background: url(../images/concept/works_ttl_bg.png) top right no-repeat; }
      #works .works01 .inner .img {
        -webkit-display: flex;
        -moz-display: flex;
        -ms-display: flex;
        -o-display: flex;
        display: -webkit-box;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
        width: 690px;
        margin-right: -200px; }
  #works .works02 {
    height: 649px;
    background: url(../images/concept/works_02_bg.png) top center no-repeat; }
    #works .works02 .inner {
      -webkit-display: flex;
      -moz-display: flex;
      -ms-display: flex;
      -o-display: flex;
      display: -webkit-box;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
      -ms-flex-flow: row-reverse;
      flex-flow: row-reverse;
      padding: 50px 30px; }
      #works .works02 .inner .text {
        width: 450px;
        margin: 30px 0 0;
        text-align: right; }
      #works .works02 .inner .img {
        -webkit-display: flex;
        -moz-display: flex;
        -ms-display: flex;
        -o-display: flex;
        display: -webkit-box;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
        width: 690px;
        margin-left: -20px; }

@media screen and (max-width: 1200px) {
  .greeting03 .inner {
    overflow-x: visible; } }

@media screen and (max-width: 640px) {
  #greeting {
    padding: 0; }
    #greeting .greeting01 {
      height: auto;
      /*background: none;*/
      background-size: auto 100%; }
      #greeting .greeting01 .inner {
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        -o-flex-wrap: wrap;
        flex-wrap: wrap;
        padding: 6.57895vw 2.63158vw; }
        #greeting .greeting01 .inner .text {
          width: 100%;
          margin-bottom: 2.63158vw; }
        #greeting .greeting01 .inner .lttl {
          margin-bottom: 1.31579vw;
          padding: 6.57895vw 0 3.94737vw;
          background: url(../images/concept/greeting_ttl_bg.png) top center no-repeat;
          background-size: 30vw;
          text-align: center; }
        #greeting .greeting01 .inner h3 {
          margin-bottom: 5.26316vw;
          font-size: 3.94737vw;
          text-align: center; }
        #greeting .greeting01 .inner .img {
          width: 100%;
          margin-right: 0; }
    #greeting .greeting02 {
      height: auto;
      background-size: auto 100%; }
      #greeting .greeting02 .inner {
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        -o-flex-wrap: wrap;
        flex-wrap: wrap;
        padding: 6.57895vw 2.63158vw; }
        #greeting .greeting02 .inner .text {
          width: 100%;
          margin: 0 0 2.63158vw 0; }
        #greeting .greeting02 .inner .img {
          width: 100%;
          margin: 0 0 2.63158vw 0; }
          #greeting .greeting02 .inner .img figure:first-child {
            margin-right: 2.63158vw; }
    #greeting .greeting03 .inner {
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      -o-flex-wrap: wrap;
      flex-wrap: wrap;
      padding: 6.57895vw 2.63158vw; }
      #greeting .greeting03 .inner .text {
        margin: 0 0 2.63158vw 0;
        width: 100%; }
        #greeting .greeting03 .inner .text .sign img {
          width: 25vw; }
      #greeting .greeting03 .inner .img {
        width: 60vw;
        margin: 0 auto; }
  #works .works01 {
    height: auto;
    background: none;
    background: #0A377F;
    border-bottom: #FFF 1px solid; }
    #works .works01 .inner {
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      -o-flex-wrap: wrap;
      flex-wrap: wrap;
      padding: 6.57895vw 2.63158vw; }
      #works .works01 .inner .text {
        width: 100%;
        margin-bottom: 2.63158vw; }
      #works .works01 .inner .lttl {
        margin-bottom: 5.26316vw;
        padding: 6.57895vw 0 0;
        background-size: 35vw;
        background-position: center top;
        text-align: center; }
      #works .works01 .inner .img {
        width: 100%;
        margin-right: 0; }
        #works .works01 .inner .img figure:first-child {
          margin-right: 2.63158vw; }
  #works .works02 {
    height: auto;
    background: none;
    background: #0A377F; }
    #works .works02 .inner {
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      -o-flex-wrap: wrap;
      flex-wrap: wrap;
      padding: 6.57895vw 2.63158vw; }
      #works .works02 .inner .text {
        width: 100%;
        margin: 0;
        text-align: left;
        margin: 0 0 2.63158vw 0; }
      #works .works02 .inner .img {
        width: 100%;
        margin: 0 0 2.63158vw 0; }
        #works .works02 .inner .img figure:first-child {
          margin-right: 2.63158vw; } }
