@charset "UTF-8";
@import url("global.css");
.prevnext {
  display: flex;
  gap: 10px;
  width: fit-content;
  margin-left: auto; }

.slick-arrow {
  width: 40px;
  height: 40px;
  -webkit-border-radius: 100%;
  border-radius: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: #E3E3E3 solid 1px;
  position: relative;
  z-index: 20; }
  .slick-arrow:hover {
    cursor: pointer; }
  .slick-arrow::after {
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    font-family: 'Font Awesome 6 free','Font Awesome 6 Brands';
    font-weight: 900;
    font-size: 10px; }
  .slick-arrow.prev-arrow::after {
    content: "\f060"; }
  .slick-arrow.next-arrow::after {
    content: "\f061"; }

.slick-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px; }
  .slick-dots > li {
    line-height: 0; }
    .slick-dots > li.slick-active button {
      background-color: #303030; }
    .slick-dots > li button {
      font-size: 0;
      width: 10px;
      height: 10px;
      -webkit-border-radius: 100%;
      border-radius: 100%;
      background-color: #E3E3E3; }
      .slick-dots > li button:hover {
        cursor: pointer; }

.section .title_box {
  margin-bottom: 50px; }
  .section .title_box .sec_title span {
    display: block; }
  .section .title_box .sec_title .ja {
    font-size: clamp(14px, 2vw, 18px);
    font-weight: 500; }
  .section .title_box .sec_title .en {
    font-size: clamp(30px, 4.2vw, 40px);
    line-height: 1; }

/* ---------- TopMv ---------- */
#toparea {
  height: 100svh;
  position: relative;
  z-index: 0;
  color: #fff; }
  #toparea::before {
    content: "";
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    opacity: .35; }
  #toparea #topslide {
    position: relative;
    z-index: 0;
    height: 100%;
    width: 100%; }
    #toparea #topslide .swiper-wrapper, #toparea #topslide .swiper-slide, #toparea #topslide .slide-img {
      height: 100%;
      position: relative; }
      #toparea #topslide .swiper-wrapper::after, #toparea #topslide .swiper-slide::after, #toparea #topslide .slide-img::after {
        content: "";
        background-color: rgba(0, 0, 0, 0.04);
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
    #toparea #topslide .swiper-slide-active .slide-img img,
    #toparea #topslide .swiper-slide-duplicate-active .slide-img img,
    #toparea #topslide .swiper-slide-prev .slide-img img {
      animation: zoomout 6s ease-in-out 0s 1;
      animation-fill-mode: both; }
    #toparea #topslide .slide00 .slide-img img {
      object-position: 15% center; }
  #toparea .catchcopy {
    position: absolute;
    z-index: 2;
    left: 50%;
    bottom: 50%;
    -webkit-transform: translate(-50%, 50%);
    transform: translate(-50%, 50%);
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    white-space: nowrap;
    line-height: 1.4;
    letter-spacing: .08em;
    opacity: 0;
    font-size: clamp(34px, 3.6vw, 54px);
    font-weight: 400;
    font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
    #toparea .catchcopy small {
      display: inline-block;
      font-size: 50%;
      letter-spacing: .08em; }
    #toparea .catchcopy span {
      opacity: 0;
      display: inline-block; }
    #toparea .catchcopy.appeartext span {
      animation: text_anime 1s ease-out 0s both; }
  #toparea .top_since {
    position: absolute;
    z-index: 2;
    left: 5vw;
    right: 5vw;
    bottom: 50px;
    text-align: center;
    line-height: 1.6; }
    #toparea .top_since .en {
      font-weight: 300;
      font-size: clamp(12px, 1.1vw, 18px); }
    #toparea .top_since .ja {
      font-weight: 500;
      font-size: clamp(21px, 2.4vw, 30px); }

@keyframes zoomout {
  0% {
    transform: scale(1.1); }
  100% {
    transform: scale(1); } }
@keyframes text_anime {
  0% {
    opacity: 0;
    transform: translate(-5px, 20px); }
  100% {
    opacity: 1;
    transform: translate(0, 0); } }
/* ---------- pickup ---------- */
#sec_pickup {
  padding-top: 80px; }
  #sec_pickup .title_box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px; }
    #sec_pickup .title_box .sec_title .en {
      font-size: clamp(21px, 3.2vw, 28px); }
    #sec_pickup .title_box .prevnext {
      display: flex; }
  #sec_pickup .pickuplist .item {
    margin: 0 1vw; }
    #sec_pickup .pickuplist .item .inner {
      display: block; }
      #sec_pickup .pickuplist .item .inner .img {
        width: 100%;
        height: 0;
        padding-top: 75.3%;
        overflow: hidden;
        -webkit-border-radius: 3px;
        border-radius: 3px;
        position: relative;
        z-index: 3; }
        #sec_pickup .pickuplist .item .inner .img::before {
          content: "";
          position: absolute;
          z-index: 1;
          left: 0;
          top: 0;
          width: 100%;
          height: 100%;
          background-color: rgba(48, 48, 48, 0.5);
          transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
          -webkit-transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
          backface-visibility: hidden;
          -webkit-backface-visibility: hidden;
          opacity: 0; }
        #sec_pickup .pickuplist .item .inner .img::after {
          content: "詳しくみる";
          font-size: .85em;
          font-weight: 500;
          position: absolute;
          z-index: 2;
          top: 50%;
          -webkit-transform: translateY(0);
          transform: translateY(0);
          left: 3vw;
          right: 3vw;
          margin: 0 auto;
          width: fit-content;
          padding: 3px 15px;
          border: #FFF solid 1px;
          color: #FFF;
          transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
          -webkit-transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
          backface-visibility: hidden;
          -webkit-backface-visibility: hidden;
          opacity: 0; }
        #sec_pickup .pickuplist .item .inner .img img {
          position: absolute;
          left: 0;
          top: 0;
          transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
          -webkit-transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
          backface-visibility: hidden;
          -webkit-backface-visibility: hidden; }
    @media (any-hover: hover) {
      #sec_pickup .pickuplist .item a:hover .img::before {
        opacity: 1; }
      #sec_pickup .pickuplist .item a:hover .img::after {
        opacity: 1;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%); }
      #sec_pickup .pickuplist .item a:hover .img img {
        filter: blur(3px); } }

/* ---------- concept ---------- */
#sec_concept {
  padding: 120px 0 50px;
  position: relative;
  overflow: hidden; }
  #sec_concept .wrapper {
    display: flex;
    flex-wrap: wrap;
    position: relative; }
  #sec_concept .title {
    padding-top: 20px; }
    #sec_concept .title .title_en {
      margin-bottom: 35px; }
      #sec_concept .title .title_en .en {
        font-weight: 600;
        font-size: clamp(17px, 2.4vw, 32px); }
        #sec_concept .title .title_en .en::before {
          content: "";
          display: inline-block;
          vertical-align: middle;
          margin: 0 15px 3px 0;
          width: 5px;
          height: 5px;
          background-color: #E6001A; }
    #sec_concept .title .title_ja {
      -webkit-writing-mode: vertical-rl;
      -moz-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
      white-space: nowrap;
      line-height: 1.4;
      font-size: clamp(25px, 3.6vw, 54px);
      font-weight: 500;
      font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
  #sec_concept .img1 {
    position: absolute;
    right: -8%;
    bottom: 0;
    max-width: 56%; }
  #sec_concept .img2 {
    margin-left: 5%;
    max-width: 38%; }
  #sec_concept .text {
    margin-top: 50px;
    padding-right: 55%; }
    #sec_concept .text > p {
      font-size: 1.125em; }
      #sec_concept .text > p + p {
        margin-top: 1em; }
    #sec_concept .text .morebtn {
      margin-top: 2.5em; }
      #sec_concept .text .morebtn .ja {
        padding-right: 60px; }

/* ---------- policy ---------- */
#sec_policy {
  padding: 130px 20px 20px; }
  #sec_policy .title_box {
    text-align: center; }
  #sec_policy .policy_bg {
    height: 500px;
    clip-path: inset(0 0 round 60px 60px 0 0); }
    #sec_policy .policy_bg figure.bg {
      content: "";
      position: fixed;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      z-index: -1; }
  #sec_policy .policy_main {
    position: relative;
    z-index: 2;
    padding-top: 60px;
    padding-bottom: 100px;
    background-color: #E5DED3;
    border-radius: 0  0 60px 60px; }
    #sec_policy .policy_main::before {
      content: "";
      position: absolute;
      z-index: -1;
      left: 0;
      right: 0;
      top: -300px;
      height: 300px;
      background-color: #E5DED3;
      background: linear-gradient(0deg, #e5ded3 0%, rgba(229, 222, 211, 0) 100%); }
    #sec_policy .policy_main .lead {
      text-align: center;
      margin-bottom: 40px; }
      #sec_policy .policy_main .lead > p.catch_en {
        font-size: clamp(12px, 2vw, 18px);
        margin-bottom: 10px; }
      #sec_policy .policy_main .lead > p.catch {
        font-weight: 600;
        font-size: clamp(19px, 3.6vw, 38px);
        line-height: 1.5;
        margin-bottom: 25px; }
      #sec_policy .policy_main .lead > p:not([class]) {
        font-size: 1.125em; }
      #sec_policy .policy_main .lead .morebtn .ja {
        margin: 25px auto 0;
        padding-right: 60px; }

/* ---------- event ---------- */
#sec_event {
  padding: 70px 0;
  background-color: #F5F3F0; }
  #sec_event .title_box {
    text-align: center; }
  #sec_event #area_list {
    display: flex;
    margin: 0 -40px; }
    #sec_event #area_list .area_item {
      width: calc( 100% / 3 );
      padding: 0 40px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
      #sec_event #area_list .area_item + .area_item {
        position: relative; }
        #sec_event #area_list .area_item + .area_item::before {
          content: "";
          position: absolute;
          left: 0;
          top: 0;
          bottom: 0;
          width: 1px;
          background-color: #E5DED3; }
      #sec_event #area_list .area_item .area_title {
        margin-bottom: 20px;
        position: relative; }
        #sec_event #area_list .area_item .area_title > h3 {
          margin: 0 auto;
          padding: 6px 10px;
          width: 150px;
          text-align: center;
          -webkit-box-sizing: border-box;
          box-sizing: border-box;
          background-color: #A49375;
          color: #FFF;
          font-weight: bold;
          -webkit-border-radius: 99px;
          border-radius: 99px; }
        #sec_event #area_list .area_item .area_title .morebtn {
          position: absolute;
          right: 0;
          top: 50%;
          -webkit-transform: translateY(-50%);
          transform: translateY(-50%); }
          #sec_event #area_list .area_item .area_title .morebtn .ja {
            background-color: transparent;
            min-width: 0;
            padding: 10px 20px 10px 0;
            border: none; }
            #sec_event #area_list .area_item .area_title .morebtn .ja::after {
              content: "\f0da";
              right: 0; }
      #sec_event #area_list .area_item .carousel {
        background-color: #FFF;
        -webkit-border-radius: 7px;
        border-radius: 7px;
        position: relative; }
        #sec_event #area_list .area_item .carousel .post a {
          display: block;
          padding: 22px; }
          @media (any-hover: hover) {
            #sec_event #area_list .area_item .carousel .post a:hover .ph::before {
              opacity: 1; }
            #sec_event #area_list .area_item .carousel .post a:hover .ph::after {
              opacity: 1;
              -webkit-transform: translateY(-50%);
              transform: translateY(-50%); }
            #sec_event #area_list .area_item .carousel .post a:hover .ph img {
              filter: blur(3px); } }
          #sec_event #area_list .area_item .carousel .post a .ph {
            width: 100%;
            height: 0;
            padding-top: 63.53%;
            overflow: hidden;
            position: relative;
            z-index: 3; }
            #sec_event #area_list .area_item .carousel .post a .ph::before {
              content: "";
              position: absolute;
              z-index: 2;
              left: 0;
              top: 0;
              width: 100%;
              height: 100%;
              background-color: rgba(48, 48, 48, 0.5);
              transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
              -webkit-transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
              backface-visibility: hidden;
              -webkit-backface-visibility: hidden;
              opacity: 0; }
            #sec_event #area_list .area_item .carousel .post a .ph::after {
              content: "詳しくみる";
              font-size: .85em;
              font-weight: 500;
              position: absolute;
              z-index: 3;
              top: 50%;
              -webkit-transform: translateY(0);
              transform: translateY(0);
              left: 3vw;
              right: 3vw;
              margin: 0 auto;
              width: fit-content;
              padding: 3px 15px;
              border: #FFF solid 1px;
              color: #FFF;
              transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
              -webkit-transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
              backface-visibility: hidden;
              -webkit-backface-visibility: hidden;
              opacity: 0; }
            #sec_event #area_list .area_item .carousel .post a .ph img {
              position: absolute;
              z-index: 1;
              left: 0;
              top: 0;
              transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
              -webkit-transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
              backface-visibility: hidden;
              -webkit-backface-visibility: hidden; }
          #sec_event #area_list .area_item .carousel .post a .data {
            margin-top: 25px; }
            #sec_event #area_list .area_item .carousel .post a .data .postcategory {
              display: flex;
              flex-wrap: wrap;
              gap: 10px; }
              #sec_event #area_list .area_item .carousel .post a .data .postcategory span {
                display: block;
                width: fit-content;
                background-color: #5A5657;
                border: #5A5657 solid 1px;
                padding: 0 20px;
                color: #FFF;
                font-weight: 600;
                -webkit-border-radius: 3px;
                border-radius: 3px;
                font-size: .815em; }
                #sec_event #area_list .area_item .carousel .post a .data .postcategory span.fix {
                  color: #5A5657;
                  background-color: #FFF;
                  border-color: #5A5657; }
            #sec_event #area_list .area_item .carousel .post a .data .posttitle {
              margin-top: 10px;
              font-weight: bold; }
            #sec_event #area_list .area_item .carousel .post a .data .postinfo {
              margin-top: 15px; }
              #sec_event #area_list .area_item .carousel .post a .data .postinfo span {
                border-top: #C9C9CB solid 1px;
                display: flex;
                align-items: center;
                width: 100%;
                padding: 10px;
                -webkit-box-sizing: border-box;
                box-sizing: border-box;
                font-size: .815em; }
                #sec_event #area_list .area_item .carousel .post a .data .postinfo span::before {
                  display: inline-block;
                  margin-right: 15px;
                  line-height: 1;
                  font-family: 'Font Awesome 6 free','Font Awesome 6 Brands';
                  font-weight: 900;
                  color: #A49375; }
                #sec_event #area_list .area_item .carousel .post a .data .postinfo span.info_open::before {
                  content: "\f073"; }
                #sec_event #area_list .area_item .carousel .post a .data .postinfo span.info_place::before {
                  content: "\f3c5"; }
      #sec_event #area_list .area_item .slick-arrow {
        position: absolute;
        top: 50%;
        margin-top: -20px;
        background-color: #E5DED3;
        border-color: #E5DED3;
        color: #303030; }
        #sec_event #area_list .area_item .slick-arrow.prev-arrow {
          left: -25px; }
        #sec_event #area_list .area_item .slick-arrow.next-arrow {
          right: -25px; }
      #sec_event #area_list .area_item .slick-dots {
        position: absolute;
        left: 0;
        right: 0;
        bottom: -30px; }
        #sec_event #area_list .area_item .slick-dots > li.slick-active button {
          background-color: #A49375; }

/* ---------- modelhouse ---------- */
#sec_modelhouse {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 5vw; }
  #sec_modelhouse .title_box {
    text-align: center;
    white-space: nowrap; }
    #sec_modelhouse .title_box .sec_title .ja {
      margin-top: 25px;
      width: fit-content;
      font-size: clamp(14px, 1.8vw, 20px);
      font-weight: bold;
      position: relative; }
      #sec_modelhouse .title_box .sec_title .ja::before, #sec_modelhouse .title_box .sec_title .ja::after {
        content: "";
        display: inline-block;
        margin: 0 20px;
        vertical-align: -5px;
        height: 22px;
        width: 3px;
        background-color: #A49375;
        -webkit-transform: rotate(25deg);
        transform: rotate(25deg); }
      #sec_modelhouse .title_box .sec_title .ja::before {
        -webkit-transform: rotate(-25deg);
        transform: rotate(-25deg); }
    #sec_modelhouse .title_box .morebtn .ja {
      margin: 20px auto 0;
      border: #A49375 solid 1px; }
      #sec_modelhouse .title_box .morebtn .ja::after {
        right: 15px; }
  #sec_modelhouse .modelhousemap {
    padding-left: 130px;
    flex-grow: 1; }
    #sec_modelhouse .modelhousemap::before {
      content: "";
      position: absolute;
      z-index: -1;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      background-color: #F8F8F8; }

/* ---------- Works ---------- */
#sec_works {
  padding: 80px 0 90px; }
  #sec_works .title_box .sec_title {
    text-align: center; }
  #sec_works .contentblock .prevnext {
    justify-content: flex-end;
    margin: 0 calc( ( 100% - 1200px ) / 2 ) 0 auto; }
  #sec_works .contentblock .workslist {
    margin-top: 20px; }
    #sec_works .contentblock .workslist .post {
      margin: 0 1.2vw; }
      #sec_works .contentblock .workslist .post a {
        display: block; }
        @media (any-hover: hover) {
          #sec_works .contentblock .workslist .post a:hover .thumb .img::before {
            opacity: 1; }
          #sec_works .contentblock .workslist .post a:hover .thumb .img::after {
            opacity: 1;
            -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }
          #sec_works .contentblock .workslist .post a:hover .thumb .img img {
            filter: blur(3px); } }
        #sec_works .contentblock .workslist .post a .thumb {
          width: 100%;
          height: 0;
          padding-top: 58.96%;
          -webkit-box-sizing: border-box;
          box-sizing: border-box;
          position: relative; }
          #sec_works .contentblock .workslist .post a .thumb .img {
            position: absolute;
            z-index: 3;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            -webkit-border-radius: 7px;
            border-radius: 7px;
            overflow: hidden; }
            #sec_works .contentblock .workslist .post a .thumb .img::before {
              content: "";
              position: absolute;
              z-index: 1;
              left: 0;
              top: 0;
              width: 100%;
              height: 100%;
              background-color: rgba(48, 48, 48, 0.5);
              transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
              -webkit-transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
              backface-visibility: hidden;
              -webkit-backface-visibility: hidden;
              opacity: 0; }
            #sec_works .contentblock .workslist .post a .thumb .img::after {
              content: "詳しくみる";
              font-size: .85em;
              font-weight: 500;
              position: absolute;
              z-index: 2;
              top: 50%;
              -webkit-transform: translateY(0);
              transform: translateY(0);
              left: 3vw;
              right: 3vw;
              margin: 0 auto;
              width: fit-content;
              padding: 3px 15px;
              border: #FFF solid 1px;
              color: #FFF;
              transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
              -webkit-transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
              backface-visibility: hidden;
              -webkit-backface-visibility: hidden;
              opacity: 0; }
            #sec_works .contentblock .workslist .post a .thumb .img img {
              transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
              -webkit-transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
              backface-visibility: hidden;
              -webkit-backface-visibility: hidden; }
          #sec_works .contentblock .workslist .post a .thumb .icon {
            position: absolute;
            z-index: 4;
            right: 20px;
            bottom: -24px;
            width: 48px;
            height: 48px; }
            #sec_works .contentblock .workslist .post a .thumb .icon img {
              border: #FFF solid 2px;
              -webkit-box-sizing: border-box;
              box-sizing: border-box;
              -webkit-border-radius: 100%;
              border-radius: 100%; }
        #sec_works .contentblock .workslist .post a .text {
          margin-top: 25px;
          text-align: center; }
          #sec_works .contentblock .workslist .post a .text .posttitle {
            font-weight: bold;
            line-height: 1.6; }
          #sec_works .contentblock .workslist .post a .text .cat {
            margin-top: 10px;
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
            -webkit-box-sizing: border-box;
            box-sizing: border-box;
            gap: 15px; }
            #sec_works .contentblock .workslist .post a .text .cat span {
              display: block;
              border: #5A5657 solid 1px;
              -webkit-border-radius: 3px;
              border-radius: 3px;
              font-size: .8125em;
              font-weight: 600;
              padding: 5px 25px;
              white-space: nowrap; }
  #sec_works .morebtn .ja {
    margin: 50px auto 0; }

/* ---------- Topics ---------- */
#sec_topics {
  padding: 85px 0;
  background-color: #F5F3F0; }
  #sec_topics .wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center; }
  #sec_topics .title_box {
    white-space: nowrap;
    margin-bottom: 0; }
    #sec_topics .title_box .sec_title {
      text-align: center; }
    #sec_topics .title_box .morebtn {
      margin-top: 30px; }
  #sec_topics .topicslist {
    margin-left: 5vw;
    flex-grow: 1;
    background-color: #FFF;
    -webkit-border-radius: 7px;
    border-radius: 7px;
    padding: 10px 40px; }
    #sec_topics .topicslist li + li {
      border-top: #E3E3E3 solid 1px; }
    #sec_topics .topicslist li .inner {
      display: flex;
      align-items: flex-start;
      width: 100%;
      padding: 25px 0;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      font-weight: 700; }
      #sec_topics .topicslist li .inner .postinfo {
        display: flex;
        align-items: center; }
        #sec_topics .topicslist li .inner .postinfo .date {
          color: #A49375;
          font-weight: bold; }
        #sec_topics .topicslist li .inner .postinfo .area {
          text-align: center;
          margin: 0 20px 0 25px;
          border-radius: 3px;
          font-size: .85em;
          padding: 2px;
          min-width: 100px;
          background-color: #A49375;
          color: #FFF;
          font-weight: 500; }
    @media (any-hover: hover) {
      #sec_topics .topicslist li a:hover {
        color: #A49375; } }

/* ---------- office ---------- */
#sec_office {
  padding: 80px 0 110px; }
  #sec_office .title_box {
    text-align: center; }
  #sec_office #office_list {
    display: flex;
    margin: 0 -35px; }
    #sec_office #office_list .office_item {
      position: relative;
      width: calc( 100% / 3 );
      padding: 0 35px 50px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      display: flex;
      justify-content: space-between; }
      #sec_office #office_list .office_item + .office_item {
        position: relative; }
        #sec_office #office_list .office_item + .office_item::before {
          content: "";
          position: absolute;
          left: 0;
          top: 0;
          bottom: 0;
          width: 1px;
          background-color: #A49375; }
      #sec_office #office_list .office_item .phbox {
        width: 50%;
        box-sizing: border-box;
        position: relative; }
        #sec_office #office_list .office_item .phbox .name {
          position: absolute;
          z-index: 2;
          left: 10px;
          top: -20px;
          width: fit-content;
          padding: 2px 25px;
          color: #A49375;
          background-color: #FFF;
          font-weight: bold;
          -webkit-border-radius: 3px;
          border-radius: 3px;
          border: #A49375 solid 1px; }
        #sec_office #office_list .office_item .phbox .carousel {
          width: 100%; }
        #sec_office #office_list .office_item .phbox .slick-dots {
          margin-top: 20px;
          justify-content: flex-end; }
      #sec_office #office_list .office_item .infobox {
        width: 50%;
        padding: 0 0 0 20px;
        box-sizing: border-box;
        font-weight: 500; }
        #sec_office #office_list .office_item .infobox .add {
          font-size: .8em; }
        #sec_office #office_list .office_item .infobox dl.buildarea {
          padding-top: 20px;
          font-size: .8em; }
          #sec_office #office_list .office_item .infobox dl.buildarea dt {
            width: fit-content;
            padding: 1px 8px;
            border: #303030 solid 1px;
            border-radius: 3px;
            font-size: 11px;
            font-weight: 600; }
          #sec_office #office_list .office_item .infobox dl.buildarea dd {
            margin-top: 10px; }
        #sec_office #office_list .office_item .infobox .btn {
          position: absolute;
          right: 35px;
          bottom: 0; }
          #sec_office #office_list .office_item .infobox .btn a {
            display: block;
            padding: 10px 40px 10px 30px;
            width: fit-content;
            background-color: #A49375;
            color: #FFF;
            font-size: .75em;
            line-height: 1;
            -webkit-box-sizing: border-box;
            box-sizing: border-box;
            font-weight: 500;
            position: relative; }
            #sec_office #office_list .office_item .infobox .btn a:hover {
              transform: translateY(3px); }
            #sec_office #office_list .office_item .infobox .btn a::after {
              content: "\f054";
              position: absolute;
              right: 20px;
              top: 50%;
              -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
              line-height: 1;
              font-family: 'Font Awesome 6 free','Font Awesome 6 Brands';
              font-weight: 900; }

/* ---------- Blog ---------- */
#sec_blog {
  padding: 80px 0 60px;
  background-color: #5A5657; }
  #sec_blog .title_box {
    margin-bottom: 10px; }
    #sec_blog .title_box .sec_title {
      text-align: center;
      color: #FFF; }
  #sec_blog .contentblock .prevnext {
    justify-content: flex-end;
    margin-right: calc( ( 100% - 1200px ) / 2 ); }
    #sec_blog .contentblock .prevnext .slick-arrow {
      background-color: #FFF; }
  #sec_blog .contentblock .bloglist li {
    padding-top: 60px;
    margin: 0 1vw; }
    #sec_blog .contentblock .bloglist li a {
      display: block; }
      @media (any-hover: hover) {
        #sec_blog .contentblock .bloglist li a:hover .thumb .img::before {
          opacity: 1; }
        #sec_blog .contentblock .bloglist li a:hover .thumb .img::after {
          opacity: 1;
          -webkit-transform: translateY(-50%);
          transform: translateY(-50%); }
        #sec_blog .contentblock .bloglist li a:hover .thumb .img img {
          filter: blur(3px); } }
      #sec_blog .contentblock .bloglist li a .thumb {
        width: 100%;
        height: 0;
        padding-top: 66.67%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        position: relative; }
        #sec_blog .contentblock .bloglist li a .thumb .office {
          position: absolute;
          z-index: 2;
          left: 0;
          top: -20px;
          width: fit-content;
          padding: 6px 25px;
          background-color: #FFF;
          font-weight: 600;
          -webkit-border-radius: 3px;
          border-radius: 3px;
          font-size: .8125em; }
        #sec_blog .contentblock .bloglist li a .thumb .img {
          position: absolute;
          z-index: 1;
          left: 0;
          top: 0;
          width: 100%;
          height: 100%;
          -webkit-border-radius: 7px;
          border-radius: 7px;
          overflow: hidden; }
          #sec_blog .contentblock .bloglist li a .thumb .img::before {
            content: "";
            position: absolute;
            z-index: 1;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(48, 48, 48, 0.5);
            transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
            -webkit-transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
            backface-visibility: hidden;
            -webkit-backface-visibility: hidden;
            opacity: 0; }
          #sec_blog .contentblock .bloglist li a .thumb .img::after {
            content: "詳しくみる";
            font-size: .85em;
            font-weight: 500;
            position: absolute;
            z-index: 2;
            top: 50%;
            -webkit-transform: translateY(0);
            transform: translateY(0);
            left: 3vw;
            right: 3vw;
            margin: 0 auto;
            width: fit-content;
            padding: 3px 15px;
            border: #FFF solid 1px;
            color: #FFF;
            transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
            -webkit-transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
            backface-visibility: hidden;
            -webkit-backface-visibility: hidden;
            opacity: 0; }
          #sec_blog .contentblock .bloglist li a .thumb .img img {
            transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
            -webkit-transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
            backface-visibility: hidden;
            -webkit-backface-visibility: hidden; }
      #sec_blog .contentblock .bloglist li a .text {
        margin-top: 20px; }
        #sec_blog .contentblock .bloglist li a .text .posttitle {
          text-align: justify;
          color: #FFF;
          font-weight: 500;
          line-height: 1.3;
          font-size: .8125em; }
        #sec_blog .contentblock .bloglist li a .text .date {
          margin-top: 10px;
          text-align: right;
          line-height: 1;
          color: #C9C9CB;
          font-weight: bold;
          font-size: .75em; }
  #sec_blog .morebtn .ja {
    margin: 50px auto 0; }

/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-1 ( 1600px )
 
------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 1600px) {
  /* ---------- TopMv ---------- */
  /* ---------- concept ---------- */
  #sec_concept .text {
    margin-top: 60px; }

  /* ---------- policy ---------- */
  #sec_policy .policy_bg {
    height: 460px; }

  /* ---------- event ---------- */
  /* ---------- modelhouse ---------- */
  /* ---------- Works ---------- */
  /* ---------- Topics ---------- */
  /* ---------- office ---------- */
  #sec_office #office_list .office_item {
    display: block; }
    #sec_office #office_list .office_item .phbox {
      width: auto; }
    #sec_office #office_list .office_item .infobox {
      width: auto;
      padding: 0; }

  /* ---------- Blog ---------- */ }
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-2 ( 1300px )
 
------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 1300px) {
  .slick-arrow {
    width: 30px;
    height: 30px; }

  /* ---------- TopMv ---------- */
  /* ---------- pickup ---------- */
  #sec_pickup {
    padding-top: 60px; }

  /* ---------- concept ---------- */
  #sec_concept {
    position: static; }
    #sec_concept .title {
      padding-top: 40px; }
      #sec_concept .title .title_en {
        margin-bottom: 45px; }
        #sec_concept .title .title_en .en::before {
          margin: 0 12px 3px 0; }

  /* ---------- policy ---------- */
  #sec_policy {
    padding-top: 100px; }

  /* ---------- event ---------- */
  #sec_event {
    padding: 65px 0; }
    #sec_event #area_list {
      margin: 0 -20px; }
      #sec_event #area_list .area_item {
        padding: 0 20px; }
        #sec_event #area_list .area_item .area_title {
          margin-bottom: 10px;
          position: static; }
          #sec_event #area_list .area_item .area_title > h3 {
            padding: 4px 10px;
            margin: 0 auto 5px; }
          #sec_event #area_list .area_item .area_title .morebtn {
            position: static;
            -webkit-transform: none;
            transform: none; }
            #sec_event #area_list .area_item .area_title .morebtn .ja {
              margin: 0 auto; }
        #sec_event #area_list .area_item .carousel .post a {
          padding: 20px; }
          #sec_event #area_list .area_item .carousel .post a .data {
            margin-top: 20px; }
            #sec_event #area_list .area_item .carousel .post a .data .postcategory {
              gap: 7px; }
              #sec_event #area_list .area_item .carousel .post a .data .postcategory span {
                padding: 0 15px; }
            #sec_event #area_list .area_item .carousel .post a .data .postinfo span {
              padding: 10px 5px; }
              #sec_event #area_list .area_item .carousel .post a .data .postinfo span::before {
                margin-right: 12px; }
        #sec_event #area_list .area_item .slick-arrow {
          margin-top: -15px; }
          #sec_event #area_list .area_item .slick-arrow.prev-arrow {
            left: -15px; }
          #sec_event #area_list .area_item .slick-arrow.next-arrow {
            right: -15px; }
        #sec_event #area_list .area_item .slick-dots {
          bottom: -25px; }

  /* ---------- modelhouse ---------- */
  #sec_modelhouse {
    padding: 0 2vw; }
    #sec_modelhouse .title_box .sec_title .ja {
      margin-top: 20px; }
    #sec_modelhouse .title_box .morebtn .ja {
      margin: 15px auto 0; }
    #sec_modelhouse .modelhousemap {
      padding-left: 4vw; }

  /* ---------- Works ---------- */
  #sec_works .contentblock .prevnext {
    margin: 0 50px 0 auto; }
  #sec_works .contentblock .workslist .post a .thumb .icon {
    right: 10px;
    bottom: -18px;
    width: 36px;
    height: 36px; }
  #sec_works .contentblock .workslist .post a .text {
    margin-top: 20px; }
    #sec_works .contentblock .workslist .post a .text .cat {
      gap: 10px; }
      #sec_works .contentblock .workslist .post a .text .cat span {
        padding: 5px 20px; }
  #sec_works .morebtn .ja {
    margin: 45px auto 0; }

  /* ---------- Topics ---------- */
  #sec_topics {
    padding: 65px 0; }
    #sec_topics .title_box .morebtn {
      margin-top: 20px; }
    #sec_topics .topicslist {
      padding: 10px 20px; }
      #sec_topics .topicslist li .inner {
        padding: 20px 0; }
        #sec_topics .topicslist li .inner .postinfo .area {
          margin: 0 25px 0 15px; }

  /* ---------- office ---------- */
  #sec_office {
    padding: 65px 0 90px; }
    #sec_office #office_list {
      margin: 0 -40px; }
      #sec_office #office_list .office_item .phbox .name {
        left: 10px;
        padding: 2px 20px; }
      #sec_office #office_list .office_item .phbox .carousel {
        width: 100%; }
      #sec_office #office_list .office_item .phbox .slick-dots {
        margin-top: 10px; }
      #sec_office #office_list .office_item .infobox dl.buildarea {
        padding: 20px 0 0; }
        #sec_office #office_list .office_item .infobox dl.buildarea dt {
          padding: 3px 20px; }
      #sec_office #office_list .office_item .infobox .btn a {
        padding: 8px 35px 8px 20px; }
        #sec_office #office_list .office_item .infobox .btn a::after {
          right: 15px; }

  /* ---------- Blog ---------- */
  #sec_blog {
    padding: 60px 0; }
    #sec_blog .contentblock .prevnext {
      margin-right: 50px; }
    #sec_blog .contentblock .bloglist li {
      padding-top: 45px; }
      #sec_blog .contentblock .bloglist li a .thumb .office {
        padding: 5px 20px; }
      #sec_blog .contentblock .bloglist li a .text {
        margin-top: 15px; } }
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-3 ( 959px )
 
------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 959px) {
  .prevnext {
    gap: 7px; }

  .slick-dots {
    gap: 4px; }

  .section .title_box {
    margin-bottom: 25px; }

  /* ---------- TopMv ---------- */
  /* ---------- pickup ---------- */
  /* ---------- concept ---------- */
  #sec_concept {
    padding: 90px 0 45px; }
    #sec_concept .title .title_en {
      margin-bottom: 40px; }
      #sec_concept .title .title_en .en::before {
        margin: 0 10px 3px 0; }
    #sec_concept .text {
      margin-top: 30px; }
      #sec_concept .text .morebtn {
        margin-top: 2em; }
        #sec_concept .text .morebtn .ja {
          margin-left: auto;
          padding-right: 50px; }

  /* ---------- policy ---------- */
  #sec_policy {
    padding-top: 80px; }
    #sec_policy .policy_bg {
      height: 360px; }
    #sec_policy .policy_main {
      padding-bottom: 80px; }
      #sec_policy .policy_main::before {
        top: -160px;
        height: 160px; }
      #sec_policy .policy_main .lead {
        margin-bottom: 40px; }
        #sec_policy .policy_main .lead .morebtn .ja {
          margin: 20px auto 0;
          padding-right: 50px; }

  /* ---------- event ---------- */
  #sec_event {
    padding: 60px 0; }
    #sec_event #area_list {
      flex-wrap: wrap;
      justify-content: center;
      margin: 0 -20px; }
      #sec_event #area_list .area_item {
        width: calc( 100% / 2);
        padding: 30px 20px; }
        #sec_event #area_list .area_item + .area_item {
          position: static; }
          #sec_event #area_list .area_item + .area_item::before {
            display: none;
            position: static; }
        #sec_event #area_list .area_item .area_title > h3 {
          padding: 4px 8px;
          width: 140px; }
        #sec_event #area_list .area_item .area_title .morebtn .ja {
          margin: 0 0 0 auto;
          padding: 7px 15px 7px 0; }
        #sec_event #area_list .area_item .carousel .post a {
          padding: 30px; }

  /* ---------- modelhouse ---------- */
  #sec_modelhouse .title_box .sec_title .ja {
    letter-spacing: 0; }
    #sec_modelhouse .title_box .sec_title .ja::before, #sec_modelhouse .title_box .sec_title .ja::after {
      margin: 0 15px;
      vertical-align: -4px;
      height: 20px; }
  #sec_modelhouse .modelhousemap {
    padding-left: 3vw; }

  /* ---------- Works ---------- */
  #sec_works {
    padding: 65px 0 70px; }
    #sec_works .contentblock .prevnext {
      margin: 0 6vw 0 auto; }
    #sec_works .contentblock .workslist .post a .thumb .icon {
      right: 10px;
      bottom: -16px;
      width: 32px;
      height: 32px; }
      #sec_works .contentblock .workslist .post a .thumb .icon img {
        border-width: 1px; }
    #sec_works .contentblock .workslist .post a .text .cat {
      gap: 8px; }
      #sec_works .contentblock .workslist .post a .text .cat span {
        padding: 2px 15px; }
    #sec_works .morebtn .ja {
      margin: 25px auto 0; }

  /* ---------- Topics ---------- */
  #sec_topics {
    padding: 45px 0; }
    #sec_topics .title_box .morebtn {
      margin-top: 20px; }
    #sec_topics .topicslist li .inner {
      display: block;
      padding: 15px 0; }
      #sec_topics .topicslist li .inner .postinfo {
        margin-bottom: 8px; }
        #sec_topics .topicslist li .inner .postinfo .area {
          margin: 0 15px 0 10px;
          width: 78px; }

  /* ---------- office ---------- */
  #sec_office {
    background-color: #F5F3F0;
    padding: 15px 0 75px; }
    #sec_office #office_list {
      padding: 0;
      background-color: #FFF;
      display: block;
      margin: 0;
      -webkit-border-radius: 7px;
      border-radius: 7px; }
      #sec_office #office_list .office_item {
        width: 100%;
        padding: 50px 3vw;
        display: flex; }
        #sec_office #office_list .office_item + .office_item::before {
          bottom: auto;
          width: auto;
          right: 0;
          height: 1px; }
        #sec_office #office_list .office_item .phbox {
          width: 45%; }
          #sec_office #office_list .office_item .phbox .slick-dots {
            margin-top: 8px; }
        #sec_office #office_list .office_item .infobox {
          width: 55%;
          padding: 0 0 0 25px; }
          #sec_office #office_list .office_item .infobox .add {
            font-size: inherit; }
          #sec_office #office_list .office_item .infobox dl.buildarea {
            padding: 15px 0; }
            #sec_office #office_list .office_item .infobox dl.buildarea dt {
              padding: 1px 15px; }
            #sec_office #office_list .office_item .infobox dl.buildarea dd {
              margin-top: 7px; }
          #sec_office #office_list .office_item .infobox .btn {
            position: static; }
            #sec_office #office_list .office_item .infobox .btn a {
              margin-left: auto; }

  /* ---------- Blog ---------- */
  #sec_blog {
    padding: 60px 0 50px; }
    #sec_blog .contentblock .prevnext {
      margin-right: 6vw; }
    #sec_blog .contentblock .bloglist li {
      padding-top: 40px;
      margin: 0 1.2vw; }
      #sec_blog .contentblock .bloglist li a .thumb .office {
        top: -12px;
        padding: 1px 15px; }
      #sec_blog .contentblock .bloglist li a .text {
        margin-top: 10px; }
        #sec_blog .contentblock .bloglist li a .text .date {
          margin-top: 5px; }
    #sec_blog .morebtn .ja {
      margin: 35px auto 0; } }
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-4 ( 644px )
 
------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 644px) {
  .prevnext {
    gap: 5px; }

  .slick-arrow {
    width: 26px;
    height: 26px; }
    .slick-arrow::after {
      font-size: 8px; }

  .slick-dots {
    gap: 3px; }

  .section .title_box .sec_title .ja {
    font-weight: 600;
    letter-spacing: 0; }

  /* ---------- TopMv ---------- */
  /* ---------- pickup ---------- */
  #sec_pickup {
    padding-top: 45px; }
    #sec_pickup .title_box {
      margin-bottom: 20px; }

  /* ---------- concept ---------- */
  #sec_concept {
    padding: 80px 0 30px; }
    #sec_concept .wrapper {
      display: block; }
    #sec_concept .title {
      padding-top: 0;
      margin-left: 6vw;
      max-width: initial;
      position: absolute;
      top: 0;
      left: 0; }
      #sec_concept .title .title_en {
        margin-bottom: 20px; }
        #sec_concept .title .title_en .en::before {
          margin: 0 8px 2px 0;
          width: 4px;
          height: 4px; }
    #sec_concept .img1 {
      width: 85%;
      margin: 0 -15% 0 auto;
      max-width: initial;
      position: static; }
    #sec_concept .img2 {
      margin-left: -10%;
      max-width: 40%;
      position: absolute;
      top: 280px; }
    #sec_concept .text {
      max-width: 60%;
      margin: 30px 0 0 auto;
      padding: 0; }
      #sec_concept .text > p {
        font-size: 1em; }
      #sec_concept .text .morebtn .ja {
        padding-right: 40px; }

  /* ---------- policy ---------- */
  #sec_policy {
    padding: 40px 20px 20px; }
    #sec_policy .title_box {
      margin-bottom: 25px; }
    #sec_policy .policy_bg {
      height: 65vw;
      clip-path: inset(0 0 round 20px 20px 0 0); }
      #sec_policy .policy_bg figure.bg {
        position: static; }
    #sec_policy .policy_main {
      padding: 0 0 8vw;
      border-radius: 0  0 10px 10px; }
      #sec_policy .policy_main::before {
        top: -120px;
        height: 120px; }
      #sec_policy .policy_main .lead {
        margin-bottom: 30px; }
        #sec_policy .policy_main .lead > p.catch_en {
          margin-bottom: 5px; }
        #sec_policy .policy_main .lead > p.catch {
          margin-bottom: 15px; }
        #sec_policy .policy_main .lead .morebtn .ja {
          padding-right: 40px; }

  /* ---------- event ---------- */
  #sec_event {
    padding: 50px 0; }
    #sec_event #area_list {
      display: block;
      margin: 0; }
      #sec_event #area_list .area_item {
        width: 100%;
        padding: 0; }
        #sec_event #area_list .area_item + .area_item {
          padding-top: 45px; }
        #sec_event #area_list .area_item .area_title {
          margin-bottom: 5px; }
          #sec_event #area_list .area_item .area_title > h3 {
            margin-bottom: 0;
            padding: 3px 6px;
            width: 120px; }
          #sec_event #area_list .area_item .area_title .morebtn .ja::after {
            right: 2px; }
        #sec_event #area_list .area_item .carousel .post a {
          padding: 20px 15px; }
          #sec_event #area_list .area_item .carousel .post a .data .postcategory {
            gap: 5px; }
            #sec_event #area_list .area_item .carousel .post a .data .postcategory span {
              padding: 0 10px; }
          #sec_event #area_list .area_item .carousel .post a .data .postinfo span {
            padding: 7px 0; }
        #sec_event #area_list .area_item .slick-arrow {
          margin-top: -13px; }

  /* ---------- modelhouse ---------- */
  #sec_modelhouse {
    display: block;
    padding: 65px 0 0; }
    #sec_modelhouse .title_box .sec_title .ja {
      margin: 5px auto 0; }
      #sec_modelhouse .title_box .sec_title .ja::before, #sec_modelhouse .title_box .sec_title .ja::after {
        vertical-align: -5px;
        height: 16px;
        width: 2px; }
    #sec_modelhouse .title_box .morebtn {
      position: absolute;
      z-index: 5;
      left: 50%;
      bottom: -16px;
      -webkit-transform: translateX(-50%);
      transform: translateX(-50%); }
      #sec_modelhouse .title_box .morebtn .ja {
        margin: 0; }
        #sec_modelhouse .title_box .morebtn .ja::after {
          right: 10px; }
    #sec_modelhouse .modelhousemap {
      padding: 0;
      background-color: #F8F8F8;
      overflow: hidden; }
      #sec_modelhouse .modelhousemap::before {
        position: static;
        display: none; }
      #sec_modelhouse .modelhousemap .img {
        margin: 0 -16vw 0 4vw; }

  /* ---------- Works ---------- */
  #sec_works {
    padding: 65px 5vw 60px; }
    #sec_works .contentblock {
      position: relative; }
      #sec_works .contentblock .prevnext {
        margin: 0; }
        #sec_works .contentblock .prevnext .slick-arrow {
          position: absolute;
          top: 35%;
          background-color: #FFF; }
          #sec_works .contentblock .prevnext .slick-arrow.prev-arrow {
            left: -10px; }
          #sec_works .contentblock .prevnext .slick-arrow.next-arrow {
            right: -10px; }
      #sec_works .contentblock .workslist {
        margin: 0 -2vw; }
        #sec_works .contentblock .workslist .post {
          margin: 0 2vw; }
          #sec_works .contentblock .workslist .post a .thumb .icon {
            right: 6px;
            bottom: -15px;
            width: 30px;
            height: 30px; }
          #sec_works .contentblock .workslist .post a .text {
            margin-top: 15px; }
            #sec_works .contentblock .workslist .post a .text .cat {
              margin-top: 8px;
              gap: 7px; }
              #sec_works .contentblock .workslist .post a .text .cat span {
                padding: 1px 10px; }

  /* ---------- Topics ---------- */
  #sec_topics .wrapper {
    display: block; }
  #sec_topics .title_box {
    margin-bottom: 5px; }
    #sec_topics .title_box .morebtn {
      margin-top: 0; }
      #sec_topics .title_box .morebtn .ja {
        margin: 20px auto 30px; }
  #sec_topics .topicslist {
    margin: 0; }

  /* ---------- office ---------- */
  #sec_office {
    padding: 0 0 60px; }
    #sec_office #office_list {
      padding: 5px 0 10px; }
      #sec_office #office_list .office_item {
        padding: 30px 4vw 20px; }
        #sec_office #office_list .office_item .phbox {
          width: 50%;
          padding-bottom: 20px; }
          #sec_office #office_list .office_item .phbox .name {
            top: -10px; }
          #sec_office #office_list .office_item .phbox .slick-dots {
            margin-top: 5px; }
        #sec_office #office_list .office_item .infobox {
          width: 50%;
          padding-left: 15px; }
          #sec_office #office_list .office_item .infobox dl.buildarea dt {
            padding: 0 10px; }
          #sec_office #office_list .office_item .infobox .btn a {
            padding: 7px 25px 7px 10px; }
            #sec_office #office_list .office_item .infobox .btn a::after {
              right: 8px; }

  /* ---------- Blog ---------- */
  #sec_blog {
    padding: 35px 5vw; }
    #sec_blog .title_box {
      margin-bottom: 0; }
    #sec_blog .contentblock {
      position: relative; }
      #sec_blog .contentblock .prevnext {
        margin-right: 0; }
        #sec_blog .contentblock .prevnext .slick-arrow {
          position: absolute;
          top: 50%;
          -webkit-transform: translateY(-50%);
          transform: translateY(-50%); }
          #sec_blog .contentblock .prevnext .slick-arrow.prev-arrow {
            left: -10px; }
          #sec_blog .contentblock .prevnext .slick-arrow.next-arrow {
            right: -10px; }
      #sec_blog .contentblock .bloglist {
        margin: 0 -2vw; }
        #sec_blog .contentblock .bloglist li {
          margin: 0 2vw; }
          #sec_blog .contentblock .bloglist li a .thumb .office {
            top: -8px;
            padding: 1px 10px; }
          #sec_blog .contentblock .bloglist li a .thumb .img {
            -webkit-border-radius: 4px;
            border-radius: 4px; }
          #sec_blog .contentblock .bloglist li a .text .posttitle {
            font-size: .85em; }
          #sec_blog .contentblock .bloglist li a .text .date {
            font-size: .8em; }
    #sec_blog .morebtn .ja {
      margin: 30px auto 0; } }
