/* Scss Document */
/* Scss Document */
#top_visual .slide-arrow {
  position: absolute;
  top: 50%;
  margin-top: -24px;
  z-index: 1000; }

#top_visual .prev-arrow {
  left: 40px; }

#top_visual .next-arrow {
  right: 40px; }

.gnav {
  margin-bottom: 0; }

.top_content .ttl {
  margin-bottom: 25px;
  color: #1F1F1F;
  font-size: 3.6rem;
  letter-spacing: .2em;
  line-height: 1.2; }

.top_content p {
  margin-bottom: 33px;
  color: #1F1F1F;
  font-size: 2.0rem;
  letter-spacing: .1em;
  line-height: 1.8; }

.top_content .btn a, .top_content .btn_w a {
  margin: 0 auto 0 0; }

#architecture, #renovation, #tsuinosumai {
  height: 470px;
  overflow: hidden; }
  #architecture .inner, #renovation .inner, #tsuinosumai .inner {
    position: relative;
    height: 470px; }
  #architecture .ttl, #renovation .ttl, #tsuinosumai .ttl {
    color: #FFF;
    text-align: left; }
  #architecture .content_inner, #renovation .content_inner, #tsuinosumai .content_inner {
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%); }
  #architecture p, #renovation p, #tsuinosumai p {
    margin-bottom: 30px;
    color: #FFF;
    text-align: left; }
  #architecture .btn_w a, #renovation .btn_w a, #tsuinosumai .btn_w a {
    margin: 0 auto 0 0; }

#architecture {
  background: url(../images/index/architecture_bg.jpg) top center no-repeat; }
  #architecture .content_inner {
    right: 100px;
    width: 380px; }

#renovation {
  background: url(../images/index/renovation_bg.jpg) top center no-repeat; }
  #renovation .content_inner {
    left: 80px;
    width: 475px; }
  #renovation .reno {
    position: absolute;
    top: 0;
    left: 340px; }

#tsuinosumai {
  background: url(../images/index/tsuinosumai_bg.jpg) top center no-repeat; }
  #tsuinosumai .content_inner {
    right: 55px;
    width: 310px; }
  #tsuinosumai .ttl {
    color: #1F1F1F;
    font-weight: normal; }
  #tsuinosumai p {
    color: #1F1F1F; }
  #tsuinosumai .tsui {
    position: absolute;
    top: 0;
    right: 380px;
    width: 143px;
    height: 143px; }
  #tsuinosumai .btn_w a {
    margin: 0 auto 0 0; }

#project {
  height: 465px;
  overflow: hidden;
  background: url(../images/index/project_bg.jpg) top center no-repeat; }
  #project .inner {
    overflow: hidden;
    padding: 60px 30px 0 125px; }
  #project .ttl {
    float: left;
    color: #FFF; }
  #project .btn {
    float: right; }
    #project .btn a {
      margin: 0 0 0 auto; }
  #project .project_slide .slick-arrow {
    display: none !important; }
  #project .project_slide li {
    margin: 0 5px; }

#news {
  height: 605px;
  overflow: hidden;
  background: url(../images/index/news_bg.png) top center no-repeat; }
  #news .inner {
    padding: 80px 30px 70px; }
  #news .news_list {
    -webkit-display: flex;
    -moz-display: flex;
    -ms-display: flex;
    -o-display: flex;
    display: -webkit-box;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 15px;
    background: rgba(255, 255, 255, 0.95);
    -webkit-box-shadow: 0 0 24px rgba(0, 0, 0, 0.15);
    box-shadow: 0 0 24px rgba(0, 0, 0, 0.15); }
    #news .news_list li {
      -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: center;
      -ms-flex-align: center;
      align-items: center;
      width: 520px;
      margin-bottom: 15px; }
    #news .news_list .thumb {
      width: 160px; }
    #news .news_list .news_content {
      width: 350px; }
      #news .news_list .news_content time {
        color: #0A377F;
        font-size: 1.5rem;
        font-weight: bold; }
      #news .news_list .news_content p {
        margin-bottom: 0;
        color: #202020;
        font-size: 1.5rem;
        letter-spacing: .05em;
        line-height: 2.0;
        text-align: left; }

@media screen and (max-width: 640px) {
  #top_visual {
    margin-top: 15.13158vw; }
    #top_visual .slick-slide {
      width: 100vw;
      height: 71.71053vw; }
      #top_visual .slick-slide img {
        height: 71.71053vw; }
    #top_visual .slide-arrow {
      margin-top: -3.15789vw;
      width: 6.31579vw; }
      #top_visual .slide-arrow.next-arrow {
        right: 0; }
      #top_visual .slide-arrow.prev-arrow {
        left: 0; }
  #main {
    margin-top: 0; }
  .top_content .ttl {
    margin-bottom: 3.94737vw;
    font-size: 5.92105vw;
    text-align: center; }
  .top_content p {
    margin-bottom: 6.57895vw;
    font-size: 3.42105vw;
    text-align: center; }
  .top_content .btn a, .top_content .btn_w a {
    margin: 0 auto; }
  #architecture, #renovation, #tsuinosumai {
    padding: 8vw 0 65.78947vw;
    position: relative;
    height: auto; }
    #architecture .inner, #renovation .inner, #tsuinosumai .inner {
      height: auto; }
    #architecture .ttl, #renovation .ttl, #tsuinosumai .ttl {
      text-align: center; }
    #architecture .content_inner, #renovation .content_inner, #tsuinosumai .content_inner {
      position: static;
      -webkit-transform: none;
      -ms-transform: none;
      transform: none; }
    #architecture p, #renovation p, #tsuinosumai p {
      margin-bottom: 6.57895vw;
      text-align: center; }
    #architecture .btn_w a, #renovation .btn_w a, #tsuinosumai .btn_w a {
      margin: 0 auto; }
  #architecture {
    background: #0A377F url(../images/index/architecture_sp_bg.jpg) bottom center no-repeat;
    background-size: contain; }
    #architecture:before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 50vw 24vw 0 0;
      border-color: rgba(0, 0, 0, 0.2) transparent transparent transparent;
      z-index: 0; }
    #architecture .content_inner {
      right: 0;
      width: 100%; }
  #renovation {
    height: auto;
    background: #0A377F url(../images/index/renovation_sp_bg.jpg) bottom center no-repeat;
    background-size: contain; }
    #renovation:before {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 0 24vw 90vw 0;
      border-color: transparent rgba(0, 0, 0, 0.2) transparent transparent;
      z-index: 0; }
    #renovation .inner {
      position: relative;
      overflow: visible !important;
      z-index: 1; }
    #renovation .content_inner {
      position: static;
      width: 100%; }
    #renovation .reno {
      margin: 0 auto 8vw;
      position: static;
      top: auto;
      bottom: 0;
      left: 50%;
      -webkit-transform: none;
      -ms-transform: none;
      transform: none;
      width: 32.23684vw;
      display: block; }
    #renovation .btn_w a {
      margin: 0 auto;
      background: #FFF;
      color: #0A377F;
      border: #0A377F 1px solid; }
  #tsuinosumai {
    background: #fff url(../images/index/tsuinosumai_sp_bg.jpg) bottom center no-repeat;
    background-size: contain; }
    #tsuinosumai:before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 90vw 24vw 0 0;
      border-color: rgba(0, 0, 0, 0.1) transparent transparent transparent;
      z-index: 0; }
    #tsuinosumai .inner {
      overflow: visible !important; }
    #tsuinosumai .content_inner {
      right: 0;
      width: 100%; }
    #tsuinosumai .ttl {
      color: #1F1F1F; }
    #tsuinosumai p {
      color: #333; }
    #tsuinosumai .tsui {
      margin: 0 auto 8vw;
      position: static;
      top: auto;
      bottom: 0;
      right: 0;
      -webkit-transform: none;
      -ms-transform: none;
      transform: none;
      width: 25vw;
      height: 25vw;
      display: block; }
    #tsuinosumai .btn_w a {
      margin: 0 auto; }
  #project {
    position: relative;
    height: 74.73684vw;
    background: url(../images/index/project_sp_bg.jpg) top center no-repeat;
    background-size: 100%; }
    #project .inner {
      overflow: hidden;
      padding: 5.26316vw 0 0; }
    #project .ttl {
      float: none; }
    #project .btn {
      position: absolute;
      bottom: 7.89474vw;
      left: 50%;
      -webkit-transform: translate(-50%, 0);
      -ms-transform: translate(-50%, 0);
      transform: translate(-50%, 0);
      float: none; }
    #project .project_slide li {
      width: 48.68421vw; }
      #project .project_slide li img {
        width: 100%;
        height: auto; }
  #news {
    height: 99.34211vw;
    background: url(../images/index/news_sp_bg.png) top center no-repeat;
    background-size: contain; }
    #news .inner {
      padding: 7.89474vw 2.63158vw 3.94737vw; }
    #news .news_list {
      display: block;
      height: 71.05263vw;
      overflow: scroll;
      padding: 3.94737vw; }
      #news .news_list li {
        width: 100%;
        margin-bottom: 2.63158vw; }
      #news .news_list .thumb {
        width: 25.78947vw; }
      #news .news_list .news_content {
        padding-left: 3vw;
        width: 59.21053vw; }
        #news .news_list .news_content time {
          font-size: 3.15789vw; }
        #news .news_list .news_content p {
          font-size: 3.15789vw;
          line-height: 1.4; } }
