@charset "UTF-8";
@import url("https://fonts.googleapis.com/earlyaccess/notosansjapanese.css");
/*　=========reset=========　*/
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

html {
  visibility: hidden; }

html.wf-active, html.loading-delay {
  visibility: visible; }

@media screen and (min-width: 768px) {
  .pc {
    display: block !important; }

  .sp {
    display: none !important; } }
@media screen and (max-width: 767px) {
  .pc {
    display: none !important; }

  .sp {
    display: block !important; } }
.en {
  font-family: 'Open Sans', sans-serif; }

/*　=========start=========　*/
.wrapper {
  max-width: 1400px;
  margin: auto;
  font-family: heisei-kaku-gothic-std, sans-serif,'Noto Sans',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Osaka, Helvetica, Arial, sans-serif;
  font-weight: 300;
  font-style: normal; }
  @media screen and (max-width: 767px) {
    .wrapper {
      max-width: 767px; } }

.header {
  width: 90%;
  margin: 0 auto 26px;
  padding-top: 32px;
  overflow: hidden; }
  @media screen and (max-width: 767px) {
    .header {
      width: 93%;
      margin: 2vh auto 1vh;
      padding: 0; } }

.gnav_logo {
  height: 30px;
  width: auto;
  float: left;
  margin-left: 75px;
  display: block; }
  @media screen and (max-width: 767px) {
    .gnav_logo {
      margin-left: 0; } }
  .gnav_logo a {
    height: 30px; }
  .gnav_logo a img {
    height: 100%; }

.gnav_link {
  float: right;
  margin-right: 75px; }
  @media screen and (max-width: 767px) {
    .gnav_link {
      margin-right: 0; } }
  .gnav_link .gnav_sns {
    float: left;
    margin-right: 32px; }
    .gnav_link .gnav_sns li {
      float: left;
      width: 30px;
      margin-right: 9px; }
      .gnav_link .gnav_sns li a img {
        width: 100%; }
    .gnav_link .gnav_sns li:last-child {
      margin-right: 0; }
  .gnav_link .gnav_menu {
    float: right;
    width: 40px; }
    @media screen and (max-width: 767px) {
      .gnav_link .gnav_menu {
        width: 30px; } }
    .gnav_link .gnav_menu img {
      width: 100%; }
    .gnav_link .gnav_menu input {
      display: none; }
    .gnav_link .gnav_menu input:checked ~ .header_menu {
      display: block; }

.gnav_sns li,
.contents_sns li,
.footer_sns li {
  display: inline-block;
  width: 30px;
  margin-right: 9px; }
  .gnav_sns li a img,
  .contents_sns li a img,
  .footer_sns li a img {
    width: 100%; }

.gnav_sns li:last-child,
.footer_sns li:last-child {
  margin-right: 0; }

.contents_sns {
  width: 84px;
  margin: 0 auto 66px; }
  @media screen and (max-width: 767px) {
    .contents_sns {
      margin-bottom: 40px; } }

.header_menu {
  display: none; }
  .header_menu .header_menu_inner {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    width: 100%;
    height: 100%;
    margin: auto;
    box-sizing: border-box;
    background: #808080;
    opacity: 0.95;
    overflow-y: auto;
    overflow-x: hidden;
    transition: all 0.2s 0s ease; }
    .header_menu .header_menu_inner .header_menu_wrap {
      width: 45%;
      height: 100%;
      margin: auto; }
      @media screen and (max-width: 767px) {
        .header_menu .header_menu_inner .header_menu_wrap {
          width: 90%; } }
      .header_menu .header_menu_inner .header_menu_wrap .menu_close {
        position: relative;
        top: 60px;
        text-align: right; }
        .header_menu .header_menu_inner .header_menu_wrap .menu_close label img {
          width: 7%; }
          @media screen and (max-width: 767px) {
            .header_menu .header_menu_inner .header_menu_wrap .menu_close label img {
              width: 10%; } }
      .header_menu .header_menu_inner .header_menu_wrap ul {
        margin-top: 100px; }
        .header_menu .header_menu_inner .header_menu_wrap ul li {
          text-align: center;
          line-height: 70px;
          border-bottom: 1px solid #000; }
          .header_menu .header_menu_inner .header_menu_wrap ul li:first-child {
            border-top: 1px solid #000; }
          .header_menu .header_menu_inner .header_menu_wrap ul li a {
            color: #fff;
            text-decoration: none;
            font-size: 24px; }
          .header_menu .header_menu_inner .header_menu_wrap ul li a:visit {
            color: #fff; }

.main_visual_area {
  max-height: 650px;
  height: 650px;
  overflow: hidden;
  margin-bottom: 44px; }
  @media screen and (max-width: 767px) {
    .main_visual_area {
      height: 360px; } }
  .main_visual_area .main_visual {
    text-align: center;
    /*height: calc(100% - 72px - 62px - 26px - 42px);*/
    margin-bottom: 42px; }
    @media screen and (max-width: 767px) {
      .main_visual_area .main_visual {
        height: 360px;
        margin-bottom: 2vh; } }
    .main_visual_area .main_visual img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
      @media screen and (max-width: 767px) {
        .main_visual_area .main_visual img {
          height: 100%;
          object-fit: cover; } }

.scrolldown {
  width: 66px;
  margin: 0 auto 112px; }
  @media screen and (max-width: 767px) {
    .scrolldown {
      width: 10%;
      margin: 0 auto 4vh; } }
  .scrolldown a img {
    width: 100%; }

section {
  margin-bottom: 124px; }
  @media screen and (max-width: 767px) {
    section {
      margin-bottom: 80px; } }
  section .section_title {
    text-align: center;
    margin-bottom: 56px; }
    @media screen and (max-width: 767px) {
      section .section_title {
        margin-bottom: 20px; } }
    section .section_title h2 {
      margin-bottom: 12px;
      font-size: 28px;
      font-family: europa, sans-serif !important;
      font-weight: 700;
      font-style: normal; }
      @media screen and (max-width: 767px) {
        section .section_title h2 {
          margin-bottom: 8px;
          font-size: 24px; } }
    section .section_title p {
      font-size: 12px;
      letter-spacing: 0.2em;
      font-weight: bold; }
      @media screen and (max-width: 767px) {
        section .section_title p {
          font-size: 12px; } }

.basic_concept .concept_list {
  width: 984px;
  margin: 0 auto 124px;
  overflow: hidden; }
  @media screen and (max-width: 767px) {
    .basic_concept .concept_list {
      width: auto;
      margin: 0 12px 40px; } }
  .basic_concept .concept_list li {
    float: left;
    margin: 0 18px 36px 0; }
    @media screen and (max-width: 767px) {
      .basic_concept .concept_list li {
        width: 48%;
        margin: 0 0 8px 0; }
        .basic_concept .concept_list li img {
          width: 100%; } }
    .basic_concept .concept_list li p {
      text-align: center;
      font-size: 13px;
      letter-spacing: 0.2em;
      line-height: 1.6em; }
      @media screen and (max-width: 767px) {
        .basic_concept .concept_list li p {
          padding: 0 6px;
          font-size: 10px;
          letter-spacing: 0.1em; } }
  @media screen and (min-width: 768px) {
    .basic_concept .concept_list li:nth-child(3n) {
      margin-right: 0; } }
  @media screen and (max-width: 767px) {
    .basic_concept .concept_list li:nth-child(even) {
      float: right; } }
.basic_concept .concept_mes .concept_mes_wrap {
  overflow: hidden;
  margin-bottom: 100px;
  position: relative; }
  @media screen and (max-width: 767px) {
    .basic_concept .concept_mes .concept_mes_wrap {
      margin-bottom: 28px; } }
  .basic_concept .concept_mes .concept_mes_wrap .concept_mes_img {
    width: 50%;
    float: right;
    position: relative;
    top: 28px;
    overflow: hidden; }
    .basic_concept .concept_mes .concept_mes_wrap .concept_mes_img img {
      width: 100%;
      -moz-transition: -moz-transform 0.5s linear;
      -webkit-transition: -webkit-transform 0.5s linear;
      -o-transition: -o-transform 0.5s linear;
      -ms-transition: -ms-transform 0.5s linear;
      transition: transform 0.5s linear;
      overflow: visible; }
      .basic_concept .concept_mes .concept_mes_wrap .concept_mes_img img:hover {
        -webkit-transform: scale(1.05);
        -moz-transform: scale(1.05);
        -o-transform: scale(1.05);
        -ms-transform: scale(1.05);
        transform: scale(1.05); }
  .basic_concept .concept_mes .concept_mes_wrap .concept_mes_text {
    width: 50%;
    float: left; }
    @media screen and (max-width: 767px) {
      .basic_concept .concept_mes .concept_mes_wrap .concept_mes_text {
        width: 100%;
        float: none; } }
    .basic_concept .concept_mes .concept_mes_wrap .concept_mes_text .concept_mes_text_wrap {
      width: 408px;
      padding-right: 84px;
      float: right; }
      @media screen and (max-width: 767px) {
        .basic_concept .concept_mes .concept_mes_wrap .concept_mes_text .concept_mes_text_wrap {
          width: auto;
          margin: auto 12px;
          padding-right: 0;
          float: none; } }
      .basic_concept .concept_mes .concept_mes_wrap .concept_mes_text .concept_mes_text_wrap h3 {
        margin-bottom: 10px;
        font-size: 28px;
        font-family: europa, sans-serif;
        font-weight: 700;
        font-style: normal;
        line-height: 1.2em; }
        @media screen and (max-width: 767px) {
          .basic_concept .concept_mes .concept_mes_wrap .concept_mes_text .concept_mes_text_wrap h3 {
            margin-bottom: 8px;
            font-size: 20px; } }
      .basic_concept .concept_mes .concept_mes_wrap .concept_mes_text .concept_mes_text_wrap h4 {
        font-size: 16px;
        letter-spacing: 0.25em;
        line-height: 1.4em;
        margin-bottom: 32px;
        font-weight: bolder; }
        @media screen and (max-width: 767px) {
          .basic_concept .concept_mes .concept_mes_wrap .concept_mes_text .concept_mes_text_wrap h4 {
            font-size: 10px;
            margin-bottom: 8px; } }
      .basic_concept .concept_mes .concept_mes_wrap .concept_mes_text .concept_mes_text_wrap p {
        font-size: 11px;
        word-break: break-all;
        line-height: 1.8em; }
      .basic_concept .concept_mes .concept_mes_wrap .concept_mes_text .concept_mes_text_wrap .concept_mes_ja {
        letter-spacing: 0.2em;
        margin-bottom: 56px; }
        @media screen and (max-width: 767px) {
          .basic_concept .concept_mes .concept_mes_wrap .concept_mes_text .concept_mes_text_wrap .concept_mes_ja {
            letter-spacing: 0.1em;
            margin-bottom: 8px; } }
      .basic_concept .concept_mes .concept_mes_wrap .concept_mes_text .concept_mes_text_wrap .concept_mes_en {
        letter-spacing: 0.05em; }
      .basic_concept .concept_mes .concept_mes_wrap .concept_mes_text .concept_mes_text_wrap img {
        width: 100%;
        margin-bottom: 8px; }
.basic_concept .concept_mes .concept_mes_wrap:nth-child(2n) .concept_mes_text {
  float: right; }
  @media screen and (max-width: 767px) {
    .basic_concept .concept_mes .concept_mes_wrap:nth-child(2n) .concept_mes_text {
      float: none; } }
  .basic_concept .concept_mes .concept_mes_wrap:nth-child(2n) .concept_mes_text .concept_mes_text_wrap {
    padding-left: 84px;
    padding-right: 0;
    padding-left: 84px;
    float: left; }
    @media screen and (max-width: 767px) {
      .basic_concept .concept_mes .concept_mes_wrap:nth-child(2n) .concept_mes_text .concept_mes_text_wrap {
        float: none;
        padding-left: 0; } }
.basic_concept .concept_mes .concept_mes_wrap:nth-child(2n) .concept_mes_img {
  float: left; }
  @media screen and (max-width: 767px) {
    .basic_concept .concept_mes .concept_mes_wrap:nth-child(2n) .concept_mes_img {
      float: none; } }

.works .works_list_wrap {
  margin-bottom: 112px;
  position: relative;
  width: 984px;
  margin: 0 auto;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .works .works_list_wrap {
      width: 100%;
      margin-bottom: 40px; } }
  .works .works_list_wrap .works_list {
    width: 984px;
    margin: auto;
    overflow: hidden; }
    @media screen and (max-width: 767px) {
      .works .works_list_wrap .works_list {
        width: 85%;
        box-sizing: border-box; } }
    .works .works_list_wrap .works_list li {
      float: left;
      margin: 0 27px;
      height: auto; }
      .works .works_list_wrap .works_list li img {
        margin-bottom: 12px;
        width: 100%; }
      .works .works_list_wrap .works_list li p {
        font-style: normal;
        letter-spacing: 0.2em;
        line-height: 1.6em; }
      .works .works_list_wrap .works_list li .works_place {
        font-size: 14px;
        margin-bottom: 13px; }
        @media screen and (max-width: 767px) {
          .works .works_list_wrap .works_list li .works_place {
            font-size: 12px;
            text-align: center;
            margin-bottom: 4px; } }
      .works .works_list_wrap .works_list li .works_type {
        font-size: 13px; }
        @media screen and (max-width: 767px) {
          .works .works_list_wrap .works_list li .works_type {
            font-size: 10px;
            text-align: center; } }
.works .works_poli {
  width: 984px;
  margin: 80px auto 0; }
  @media screen and (max-width: 767px) {
    .works .works_poli {
      width: 100%;
      margin: 0 auto; } }
  .works .works_poli .works_poli_wrap_tit {
    text-align: right; }
    @media screen and (max-width: 767px) {
      .works .works_poli .works_poli_wrap_tit {
        text-align: left;
        margin-left: 12px; } }
    .works .works_poli .works_poli_wrap_tit .works_poli_wrap_tit_inner {
      display: inline-block;
      position: relative;
      top: 42px; }
      @media screen and (max-width: 767px) {
        .works .works_poli .works_poli_wrap_tit .works_poli_wrap_tit_inner {
          position: static; } }
      .works .works_poli .works_poli_wrap_tit .works_poli_wrap_tit_inner:before {
        content: "";
        width: 263px;
        height: 1px;
        background: #000;
        position: absolute;
        left: -279px;
        top: 15px; }
      @media screen and (max-width: 767px) {
        .works .works_poli .works_poli_wrap_tit .works_poli_wrap_tit_inner:before {
          display: none; } }
      .works .works_poli .works_poli_wrap_tit .works_poli_wrap_tit_inner h3 {
        font-size: 35px;
        font-family: europa, sans-serif;
        font-weight: 700;
        font-style: normal;
        margin-bottom: 8px; }
        @media screen and (max-width: 767px) {
          .works .works_poli .works_poli_wrap_tit .works_poli_wrap_tit_inner h3 {
            font-size: 20px; } }
      .works .works_poli .works_poli_wrap_tit .works_poli_wrap_tit_inner p {
        font-size: 14px; }
        @media screen and (max-width: 767px) {
          .works .works_poli .works_poli_wrap_tit .works_poli_wrap_tit_inner p {
            font-size: 10px; } }
  .works .works_poli .works_poli_wrap {
    position: relative;
    z-index: 2; }
    .works .works_poli .works_poli_wrap:before {
      content: "";
      width: 1px;
      height: 100%;
      background: #000;
      position: absolute;
      left: 50%;
      z-index: -1; }
    @media screen and (max-width: 767px) {
      .works .works_poli .works_poli_wrap {
        position: static; }
        .works .works_poli .works_poli_wrap:before {
          display: none; } }
    .works .works_poli .works_poli_wrap .works_poli_list {
      padding: 100px 0 108px; }
      @media screen and (max-width: 767px) {
        .works .works_poli .works_poli_wrap .works_poli_list {
          padding: 0 0 32px; } }
      .works .works_poli .works_poli_wrap .works_poli_list li {
        margin-bottom: 108px;
        overflow: hidden; }
        .works .works_poli .works_poli_wrap .works_poli_list li:last-child {
          margin-bottom: 0; }
        @media screen and (max-width: 767px) {
          .works .works_poli .works_poli_wrap .works_poli_list li {
            margin-bottom: 32px; }
            .works .works_poli .works_poli_wrap .works_poli_list li:last-child {
              margin-bottom: 0; } }
      .works .works_poli .works_poli_wrap .works_poli_list .works_poli_img {
        width: 567px;
        float: left;
        overflow: hidden; }
        .works .works_poli .works_poli_wrap .works_poli_list .works_poli_img img {
          width: 100%;
          -moz-transition: -moz-transform 0.5s linear;
          -webkit-transition: -webkit-transform 0.5s linear;
          -o-transition: -o-transform 0.5s linear;
          -ms-transition: -ms-transform 0.5s linear;
          transition: transform 0.5s linear;
          overflow: visible; }
          .works .works_poli .works_poli_wrap .works_poli_list .works_poli_img img:hover {
            -webkit-transform: scale(1.05);
            -moz-transform: scale(1.05);
            -o-transform: scale(1.05);
            -ms-transform: scale(1.05);
            transform: scale(1.05); }
      .works .works_poli .works_poli_wrap .works_poli_list .works_poli_text {
        width: 350px;
        float: right; }
        @media screen and (max-width: 767px) {
          .works .works_poli .works_poli_wrap .works_poli_list .works_poli_text {
            width: 100%;
            float: note; } }
        .works .works_poli .works_poli_wrap .works_poli_list .works_poli_text .works_poli_text_num {
          font-size: 70px;
          text-align: right;
          font-family: urw-din, sans-serif;
          font-weight: 700;
          font-style: normal;
          margin-bottom: 24px; }
          .works .works_poli .works_poli_wrap .works_poli_list .works_poli_text .works_poli_text_num img {
            width: auto;
            height: 70px; }
            @media screen and (max-width: 767px) {
              .works .works_poli .works_poli_wrap .works_poli_list .works_poli_text .works_poli_text_num img {
                height: 32px; } }
          @media screen and (max-width: 767px) {
            .works .works_poli .works_poli_wrap .works_poli_list .works_poli_text .works_poli_text_num {
              font-size: 32px;
              margin: 0 12px 8px 0; } }
        .works .works_poli .works_poli_wrap .works_poli_list .works_poli_text h4 {
          text-align: right;
          font-size: 20px;
          margin-bottom: 28px;
          font-weight: bolder; }
          @media screen and (max-width: 767px) {
            .works .works_poli .works_poli_wrap .works_poli_list .works_poli_text h4 {
              font-size: 16px;
              margin: 0 12px 8px 0; } }
        .works .works_poli .works_poli_wrap .works_poli_list .works_poli_text h5 {
          font-size: 14px;
          margin-bottom: 24px; }
          @media screen and (max-width: 767px) {
            .works .works_poli .works_poli_wrap .works_poli_list .works_poli_text h5 {
              text-align: right;
              font-size: 14px;
              margin: 0 12px 8px 0; } }
        .works .works_poli .works_poli_wrap .works_poli_list .works_poli_text .works_poli_text_mes {
          font-size: 12px;
          letter-spacing: 0.2em;
          line-height: 1.8em; }
          @media screen and (max-width: 767px) {
            .works .works_poli .works_poli_wrap .works_poli_list .works_poli_text .works_poli_text_mes {
              font-size: 11px;
              letter-spacing: 0.1em;
              margin: auto 12px; } }
        .works .works_poli .works_poli_wrap .works_poli_list .works_poli_text .works_poli_text_img {
          margin: 0 0 8px 12px; }
          @media screen and (max-width: 767px) {
            .works .works_poli .works_poli_wrap .works_poli_list .works_poli_text .works_poli_text_img img {
              width: 100%; } }
    .works .works_poli .works_poli_wrap .works_poli_list li:nth-child(even) .works_poli_img {
      float: right; }
    .works .works_poli .works_poli_wrap .works_poli_list li:nth-child(even) .works_poli_text {
      float: left; }
      @media screen and (max-width: 767px) {
        .works .works_poli .works_poli_wrap .works_poli_list li:nth-child(even) .works_poli_text {
          float: none; } }
      .works .works_poli .works_poli_wrap .works_poli_list li:nth-child(even) .works_poli_text .works_poli_text_num {
        margin: 0 0 24px 12px;
        text-align: left; }
        @media screen and (max-width: 767px) {
          .works .works_poli .works_poli_wrap .works_poli_list li:nth-child(even) .works_poli_text .works_poli_text_num {
            margin: 0 0 8px 12px; } }
        .works .works_poli .works_poli_wrap .works_poli_list li:nth-child(even) .works_poli_text .works_poli_text_num img {
          width: auto;
          height: 70px; }
          @media screen and (max-width: 767px) {
            .works .works_poli .works_poli_wrap .works_poli_list li:nth-child(even) .works_poli_text .works_poli_text_num img {
              height: 32px; } }
      .works .works_poli .works_poli_wrap .works_poli_list li:nth-child(even) .works_poli_text h4 {
        text-align: left;
        margin: 0 0 28px 0; }
        @media screen and (max-width: 767px) {
          .works .works_poli .works_poli_wrap .works_poli_list li:nth-child(even) .works_poli_text h4 {
            margin: 0 0 8px 12px; } }
      @media screen and (max-width: 767px) {
        .works .works_poli .works_poli_wrap .works_poli_list li:nth-child(even) .works_poli_text h5 {
          text-align: left;
          margin: 0 0 8px 12px; } }
      @media screen and (max-width: 767px) {
        .works .works_poli .works_poli_wrap .works_poli_list li:nth-child(even) .works_poli_text .works_poli_text_img {
          margin: 0 12px 8px 0; } }
.works .works_contact {
  display: block;
  margin: auto;
  width: 530px;
  height: 94px;
  font-size: 15px;
  letter-spacing: 0.2em;
  background-color: #221815;
  color: #fff;
  text-align: center;
  line-height: 94px;
  text-decoration: none;
  color: #fff; }
  @media screen and (max-width: 767px) {
    .works .works_contact {
      width: 80%;
      height: 52px;
      font-size: 15px;
      line-height: 52px; } }

.topics .topics_list_wrap .topics_list {
  overflow: hidden; }
  .topics .topics_list_wrap .topics_list li {
    width: 1068px;
    margin: 0 auto 56px;
    display: -webkit-box;
    /*Android4.3*/
    display: -moz-box;
    /*Firefox21*/
    display: -ms-flexbox;
    /*IE10*/
    display: -webkit-flex;
    /*PC-Safari,iOS8.4*/
    display: flex; }
    .topics .topics_list_wrap .topics_list li:last-child {
      margin-bottom: 0; }
    @media screen and (max-width: 767px) {
      .topics .topics_list_wrap .topics_list li {
        width: auto;
        margin: 0 12px 16px;
        padding: 16px 0;
        background-color: #f7f8f8;
        display: block; }
        .topics .topics_list_wrap .topics_list li:last-child {
          margin-bottom: 0; } }
    .topics .topics_list_wrap .topics_list li .topics_list_img {
      width: 534px;
      float: left; }
      @media screen and (max-width: 767px) {
        .topics .topics_list_wrap .topics_list li .topics_list_img {
          width: 90%;
          float: none;
          margin: 0px auto 8px; } }
      .topics .topics_list_wrap .topics_list li .topics_list_img img {
        width: 100%;
        height: 100%; }
      .topics .topics_list_wrap .topics_list li .topics_list_img .topics_data {
        font-size: 12px;
        margin-bottom: 4px; }
    .topics .topics_list_wrap .topics_list li .topics_list_text {
      width: 426px;
      padding: 78px 54px 0;
      float: right;
      text-align: center;
      letter-spacing: 0.2em;
      background-color: #f7f8f8; }
      @media screen and (max-width: 767px) {
        .topics .topics_list_wrap .topics_list li .topics_list_text {
          float: none;
          width: 85%;
          margin: auto;
          padding: 0;
          text-align: left; } }
      .topics .topics_list_wrap .topics_list li .topics_list_text .topics_title {
        font-size: 22px;
        margin-bottom: 10px; }
        @media screen and (max-width: 767px) {
          .topics .topics_list_wrap .topics_list li .topics_list_text .topics_title {
            font-size: 16px;
            margin-bottom: 4px; } }
      .topics .topics_list_wrap .topics_list li .topics_list_text .topics_data {
        font-size: 22px;
        margin-bottom: 54px; }
      .topics .topics_list_wrap .topics_list li .topics_list_text .topics_contents {
        margin-bottom: 24px;
        font-size: 11px;
        line-height: 1.8em;
        text-align: left; }
        @media screen and (max-width: 767px) {
          .topics .topics_list_wrap .topics_list li .topics_list_text .topics_contents {
            margin-bottom: 0; } }

.footer {
  width: 100%;
  font-family: heisei-kaku-gothic-std, sans-serif;
  font-weight: 300;
  font-style: normal;
  background-color: #f7f8f8; }
  .footer .footer_wrap {
    width: 1068px;
    margin: 0 auto;
    padding: 58px 0;
    overflow: hidden;
    font-size: 12px; }
    @media screen and (max-width: 767px) {
      .footer .footer_wrap {
        width: auto;
        margin: 0 12px 0;
        padding: 24px 0; } }
    .footer .footer_wrap .footer_info {
      width: 328px;
      float: left; }
      @media screen and (max-width: 767px) {
        .footer .footer_wrap .footer_info {
          width: auto;
          float: none;
          text-align: center; } }
      .footer .footer_wrap .footer_info .footer_logo {
        width: 150px;
        margin-bottom: 32px; }
        @media screen and (max-width: 767px) {
          .footer .footer_wrap .footer_info .footer_logo {
            width: 110px;
            margin-bottom: 12px; } }
        .footer .footer_wrap .footer_info .footer_logo img {
          width: 100%; }
      .footer .footer_wrap .footer_info .footer_info_wrap {
        margin-bottom: 32px;
        letter-spacing: 0.2em;
        line-height: 16px; }
        @media screen and (max-width: 767px) {
          .footer .footer_wrap .footer_info .footer_info_wrap {
            margin-bottom: 16px; } }
        .footer .footer_wrap .footer_info .footer_info_wrap p {
          font-size: 10px; }
        .footer .footer_wrap .footer_info .footer_info_wrap .info_bus {
          margin-bottom: 1em; }
          .footer .footer_wrap .footer_info .footer_info_wrap .info_bus span {
            display: inline !important; }
        .footer .footer_wrap .footer_info .footer_info_wrap p span {
          display: inline-block;
          width: 7em; }
      .footer .footer_wrap .footer_info .footer_contact {
        display: block;
        margin-bottom: 32px;
        width: 206px;
        background-color: #221815;
        text-align: center;
        text-decoration: none;
        font-size: 15px;
        color: #fff;
        text-align: center;
        line-height: 48px;
        letter-spacing: 0.2em; }
        @media screen and (max-width: 767px) {
          .footer .footer_wrap .footer_info .footer_contact {
            margin: auto; } }
    .footer .footer_wrap .map {
      float: right; }
      @media screen and (max-width: 767px) {
        .footer .footer_wrap .map {
          float: none;
          margin-top: 28px; } }
      .footer .footer_wrap .map div {
        float: left;
        width: 328px;
        margin-right: 24px; }
        @media screen and (max-width: 767px) {
          .footer .footer_wrap .map div {
            float: none;
            width: 85%;
            margin: 0 auto 12px; } }
        .footer .footer_wrap .map div img {
          width: 100%;
          margin-bottom: 10px; }
          @media screen and (max-width: 767px) {
            .footer .footer_wrap .map div img {
              margin-bottom: 4px; } }
        @media screen and (max-width: 767px) {
          .footer .footer_wrap .map div P {
            font-size: 10px; } }
      @media screen and (min-width: 768px) {
        .footer .footer_wrap .map div:last-child {
          margin-right: 0; } }

.slideBtn {
  position: absolute;
  display: block;
  top: 37%;
  transform: translateY(-50%);
  z-index: 30;
  cursor: pointer;
  width: 50px;
  height: 50px; }
  @media screen and (max-width: 767px) {
    .slideBtn {
      top: 42%; } }
  @media screen and (max-width: 767px) {
    .slideBtn {
      width: 28px;
      height: 28px; } }
  .slideBtn img {
    width: 100%; }

.prevBtn {
  left: -100px; }
  @media screen and (max-width: 767px) {
    .prevBtn {
      left: 12px; } }

.nextBtn {
  right: -100px; }
  @media screen and (max-width: 767px) {
    .nextBtn {
      right: 12px; } }

.main_visual img {
  transform-origin: center top;
  transform: scale(1.1);
  transition: 5s ease-out; }

.main_visual .main_visual_img {
  animation-duration: 5s;
  animation-name: zoom; }

.main_visual .slick-active img {
  transform: scale(1); }

@keyframes zoom {
  0% {
    transform: scale(1.1); }
  100% {
    transform: scale(1); } }
@media screen and (max-width: 767px) {
  .main_visual .slick-track {
    height: 360px !important; } }
/*　=========配下ページ=========　*/
.sub_wrapper {
  margin-top: 120px; }
  @media screen and (max-width: 767px) {
    .sub_wrapper {
      margin-top: 24px; } }
  .sub_wrapper .section_title {
    text-align: center;
    margin: 0 auto 56px; }
    @media screen and (max-width: 767px) {
      .sub_wrapper .section_title {
        margin: 0 auto 20px; } }
    .sub_wrapper .section_title h2 {
      margin-bottom: 62px;
      font-size: 28px; }
      @media screen and (max-width: 767px) {
        .sub_wrapper .section_title h2 {
          margin-bottom: 14px;
          font-size: 24px; } }
    .sub_wrapper .section_title p {
      font-size: 12px;
      letter-spacing: 0.2em;
      line-height: 1.8em;
      font-weight: normal; }
      @media screen and (max-width: 767px) {
        .sub_wrapper .section_title p {
          width: 85%;
          margin: auto;
          font-size: 12px; } }

/*　=========contact=========　*/
.form_wrap {
  width: 1000px;
  box-sizing: border-box;
  margin: auto;
  padding: 70px 74px 74px 80px;
  background: #e4e4e4;
  overflow: hidden; }
  @media screen and (max-width: 767px) {
    .form_wrap {
      width: 100%;
      padding: 24px 20px 32px; } }
  .form_wrap form div {
    display: flex;
    margin-bottom: 35px;
    line-height: 1.4em;
    letter-spacing: 0.1em; }
    @media screen and (max-width: 767px) {
      .form_wrap form div {
        margin-bottom: 16px;
        display: block; } }
    .form_wrap form div label {
      width: 265px;
      font-size: 14px; }
      @media screen and (max-width: 767px) {
        .form_wrap form div label {
          width: auto;
          display: block;
          font-weight: bold; } }
      .form_wrap form div label span {
        font-size: 12px;
        font-weight: normal; }
        @media screen and (max-width: 767px) {
          .form_wrap form div label span:before {
            content: "　"; } }
    .form_wrap form div input {
      width: 580px;
      height: 48px; }
      @media screen and (max-width: 767px) {
        .form_wrap form div input {
          width: 100%;
          height: 40px;
          display: block;
          -moz-box-sizing: border-box;
          -webkit-box-sizing: border-box;
          box-sizing: border-box; } }
    .form_wrap form div .min {
      width: 290px; }
      @media screen and (max-width: 767px) {
        .form_wrap form div .min {
          width: 70%; } }
    .form_wrap form div textarea {
      display: block;
      width: 580px;
      height: 330px; }
      @media screen and (max-width: 767px) {
        .form_wrap form div textarea {
          width: 100%;
          height: 96px; } }
    .form_wrap form div + .button {
      float: right;
      margin-bottom: 0; }
      @media screen and (max-width: 767px) {
        .form_wrap form div + .button {
          width: 60%;
          margin: 28px auto 0;
          float: none;
          display: block; } }
    .form_wrap form div button {
      width: 310px;
      height: 54px;
      background: #000;
      color: #fff;
      line-height: 54px;
      letter-spacing: 0.2em;
      font-size: 20px; }
      @media screen and (max-width: 767px) {
        .form_wrap form div button {
          width: 100%;
          font-size: 18px; } }

/*　=========work=========　*/
.works_wrap {
  width: 1000px;
  box-sizing: border-box;
  margin: auto;
  overflow: hidden; }
  @media screen and (max-width: 767px) {
    .works_wrap {
      width: 100%;
      margin-top: 40px; } }
  @media screen and (max-width: 767px) {
    .works_wrap .works_inner {
      margin: 0 12px 0; } }
  .works_wrap .works_inner .works_title {
    width: 100%;
    height: 124px;
    margin-bottom: 66px;
    letter-spacing: 0.15em; }
    @media screen and (max-width: 767px) {
      .works_wrap .works_inner .works_title {
        width: 100%;
        height: auto;
        margin-bottom: 24px; } }
    .works_wrap .works_inner .works_title .work_name {
      box-sizing: border-box;
      width: 36%;
      height: 100%;
      float: left;
      padding-right: 50px;
      border-right: 2px solid #000; }
      @media screen and (max-width: 767px) {
        .works_wrap .works_inner .works_title .work_name {
          width: auto;
          float: none;
          padding-right: 0px;
          margin-bottom: 18px;
          border: none; } }
      .works_wrap .works_inner .works_title .work_name .works_num {
        font-size: 17px;
        margin-bottom: 36px;
        font-family: urw-din, sans-serif;
        font-weight: 300;
        font-style: normal; }
        .works_wrap .works_inner .works_title .work_name .works_num span {
          letter-spacing: 0; }
        @media screen and (max-width: 767px) {
          .works_wrap .works_inner .works_title .work_name .works_num {
            font-weight: bold;
            margin-bottom: 18px; } }
      .works_wrap .works_inner .works_title .work_name .works_place {
        font-size: 18px;
        margin-bottom: 12px; }
        @media screen and (max-width: 767px) {
          .works_wrap .works_inner .works_title .work_name .works_place {
            margin-bottom: 8px; } }
      .works_wrap .works_inner .works_title .work_name .works_type {
        font-size: 14px; }
    .works_wrap .works_inner .works_title .work_text {
      box-sizing: border-box;
      width: 64%;
      padding-left: 50px;
      float: right;
      font-size: 12px;
      line-height: 1.6em; }
      @media screen and (max-width: 767px) {
        .works_wrap .works_inner .works_title .work_text {
          width: auto;
          float: none;
          padding-left: 0;
          font-size: 11px;
          letter-spacing: 0.1em;
          line-height: 1.6em; } }
  @media screen and (max-width: 767px) {
    .works_wrap .works_inner .work_mainarea {
      width: 100%; } }
  .works_wrap .works_inner .work_mainarea .works_img {
    margin-bottom: 50px; }
    .works_wrap .works_inner .work_mainarea .works_img li {
      margin-bottom: 26px; }
      .works_wrap .works_inner .work_mainarea .works_img li:last-child {
        margin-bottom: 0; }
    .works_wrap .works_inner .work_mainarea .works_img img {
      width: 100%; }
  .works_wrap .works_inner .work_mainarea .works_contact {
    display: block;
    margin: auto;
    width: 310px;
    height: 52px;
    font-size: 15px;
    letter-spacing: 0.2em;
    background-color: #221815;
    color: #fff;
    text-align: center;
    line-height: 52px;
    text-decoration: none;
    color: #fff; }
    @media screen and (max-width: 767px) {
      .works_wrap .works_inner .work_mainarea .works_contact {
        width: 60%; } }

@media screen and (max-width: 320px) {
  .slideBtn {
    top: 35%; }

  .basic_concept .concept_list li p {
    font-size: 12px; } }

/*# sourceMappingURL=style.css.map */
