@charset "UTF-8";
/* ========================================================================

	top
  
======================================================================== */
h2 {
  margin-bottom: 50px;
  line-height: 2.2;
  text-align: center;
  font-family: kozuka-mincho-pro, serif;
  font-size: 34px;
  font-weight: 700;
  background: #c1c1c1; }
  @media screen and (max-width: 1470px) {
    h2 {
      font-size: 2.5rem; } }
  @media screen and (max-width: 480px) {
    h2 {
      margin-bottom: 35px;
      line-height: 2;
      font-size: 2.2rem; } }

/* section
   ========================================================================== */
section {
  padding-bottom: 100px; }
  @media screen and (max-width: 480px) {
    section {
      padding-bottom: 80px; } }
  section .visual {
    opacity: 0;
    transition: all .2s ease; }
    section .visual .slick-dots {
      bottom: 10px; }
    section .visual.slick-dotted.slick-slider {
      margin-bottom: 0; }
    section .visual .slick-dots li button::before {
      color: #fff; }
  section .slick-initialized {
    opacity: 1; }
  section .slick-slide img {
    width: 100%; }
  section .listBtn a,
  section .contactBtn a {
    position: relative;
    display: inline-block;
    text-align: center;
    letter-spacing: 2px;
    font-family: kozuka-mincho-pro, serif;
    font-size: 18px;
    font-weight: bold;
    width: 25%; }
    @media screen and (max-width: 1470px) {
      section .listBtn a,
      section .contactBtn a {
        width: 28%; } }
    @media screen and (max-width: 1100px) {
      section .listBtn a,
      section .contactBtn a {
        width: 35%; } }
    @media screen and (max-width: 736px) {
      section .listBtn a,
      section .contactBtn a {
        width: 50%; } }
    @media screen and (max-width: 480px) {
      section .listBtn a,
      section .contactBtn a {
        font-size: 1.6rem;
        width: 64%; } }
    @media screen and (max-width: 320px) {
      section .listBtn a,
      section .contactBtn a {
        width: 80%; } }
    section .listBtn a::after, section .listBtn a::before,
    section .contactBtn a::after,
    section .contactBtn a::before {
      position: absolute;
      margin: auto;
      content: ""; }
    section .listBtn a::after,
    section .contactBtn a::after {
      top: 0;
      right: 20px;
      bottom: 0;
      width: 40px;
      height: 6px;
      border-bottom: 1px solid #000; }
      @media screen and (max-width: 736px) {
        section .listBtn a::after,
        section .contactBtn a::after {
          width: 30px; } }
    section .listBtn a::before,
    section .contactBtn a::before {
      top: 0;
      right: 20px;
      bottom: 0;
      height: 5px;
      border-right: solid 6px transparent;
      border-bottom: solid 6px #000; }
  section .contactBtn {
    margin: 0 auto;
    width: 30%; }
    @media screen and (max-width: 736px) {
      section .contactBtn {
        width: 80%; } }
    section .contactBtn a {
      padding: 10px 5px;
      line-height: 1.5;
      width: 100%;
      border: 1px solid #000; }
      section .contactBtn a::after, section .contactBtn a::before {
        right: 10px; }
      section .contactBtn a:hover {
        color: #fff;
        background: #0066ff;
        border-color: #0066ff; }
        section .contactBtn a:hover::after, section .contactBtn a:hover::before {
          border-bottom-color: #fff; }
  section .slick-dotted.slick-slider {
    margin-bottom: 70px; }
  section .topics {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    section .topics li {
      margin: 0 20px;
      height: 100%;
      border: 1px solid #8c8c8c; }
      section .topics li a {
        display: block;
        padding-bottom: 20px;
        height: 100%; }
        section .topics li a:hover {
          background: #edd9ce; }
      section .topics li.info a:hover {
        background: #fff9e9; }
      section .topics li.info dl dd span {
        background: #e6b422; }
      section .topics li.blog a:hover {
        background: #efdfd8; }
      section .topics li.blog dl dd span {
        background: #8d6449; }
      section .topics li dl {
        max-width: 300px; }
        section .topics li dl dt {
          margin-bottom: 10px; }
        section .topics li dl dd {
          margin-bottom: 5px;
          padding: 0 10px 0;
          line-height: 1.8; }
          section .topics li dl dd span {
            display: inline-block;
            padding: 0 20px;
            line-height: 2;
            color: #fff;
            font-size: 14px;
            font-weight: bold; }
            section .topics li dl dd span.info {
              background: #e6b422; }
            section .topics li dl dd span.blog {
              background: #8d6449; }
          section .topics li dl dd.category {
            padding: 0; }
          section .topics li dl dd.date {
            color: #7f7f7f; }
    section .topics .slick-track {
      display: flex; }
    section .topics .slick-slide {
      height: auto !important; }
    section .topics .slick-dots {
      bottom: -40px; }
      section .topics .slick-dots li {
        margin: 0 5px;
        border: none; }
        section .topics .slick-dots li button {
          width: 30px;
          height: 30px; }
          @media screen and (max-width: 480px) {
            section .topics .slick-dots li button {
              width: 20px;
              height: 20px; } }
          section .topics .slick-dots li button::before {
            font-size: 15px; }
    section .topics .slick-next::before {
      content: "〉"; }
    section .topics .slick-prev:before {
      content: "〈"; }
    section .topics .slick-prev:before, section .topics .slick-next:before {
      color: #707070;
      font-size: 30px;
      font-weight: bold; }
      @media screen and (max-width: 480px) {
        section .topics .slick-prev:before, section .topics .slick-next:before {
          font-size: 20px; } }
    section .topics .slick-next {
      right: -35px; }
    section .topics .slick-prev {
      left: -45px; }
  section#works ul.works {
    margin-bottom: 70px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    section#works ul.works li {
      margin: 0 20px;
      width: 300px;
      border: 1px solid #8c8c8c; }
      section#works ul.works li a {
        display: block;
        height: 100%; }
        section#works ul.works li a:hover {
          background: #efdfd8; }
      section#works ul.works li dl dt {
        overflow: hidden;
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        height: 199px; }
        section#works ul.works li dl dt span {
          position: absolute;
          display: inline-block;
          margin: auto;
          padding: 5px 15px;
          line-height: 1.5;
          color: #fff;
          font-size: 14px;
          font-weight: bold;
          top: 0;
          right: 0;
          background: #8d6449; }
      section#works ul.works li dl dd {
        position: relative;
        padding: 0 10px 0;
        line-height: 1.8; }
        section#works ul.works li dl dd.title {
          line-height: 2.2; }
    section#works ul.works .slick-track {
      display: flex; }
    section#works ul.works .slick-slide {
      height: auto !important; }
    section#works ul.works .slick-dots {
      bottom: -30px; }
      section#works ul.works .slick-dots li {
        margin: 0 5px;
        width: auto;
        border: none; }
        section#works ul.works .slick-dots li button {
          width: 30px;
          height: 30px; }
          @media screen and (max-width: 480px) {
            section#works ul.works .slick-dots li button {
              width: 20px;
              height: 20px; } }
          section#works ul.works .slick-dots li button::before {
            font-size: 15px; }
    section#works ul.works .slick-next::before {
      content: "〉"; }
    section#works ul.works .slick-prev:before {
      content: "〈"; }
    section#works ul.works .slick-prev:before, section#works ul.works .slick-next:before {
      color: #707070;
      font-size: 30px;
      font-weight: bold; }
      @media screen and (max-width: 480px) {
        section#works ul.works .slick-prev:before, section#works ul.works .slick-next:before {
          font-size: 20px; } }
    section#works ul.works .slick-next {
      right: -35px; }
    section#works ul.works .slick-prev {
      left: -45px; }
  section#works .sns {
    margin: 110px auto 80px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media screen and (max-width: 1470px) {
      section#works .sns {
        width: 1000px; } }
    @media screen and (max-width: 1024px) {
      section#works .sns {
        width: auto; } }
    @media screen and (max-width: 736px) {
      section#works .sns {
        margin-top: 80px;
        margin-bottom: 40px; } }
    section#works .sns h3 {
      margin-bottom: 45px; }
      @media screen and (max-width: 736px) {
        section#works .sns h3 {
          margin-bottom: 30px; } }
      section#works .sns h3 a:hover {
        opacity: .6; }
    section#works .sns .insta,
    section#works .sns .fb {
      text-align: center;
      width: 450px; }
      @media screen and (max-width: 1100px) {
        section#works .sns .insta,
        section#works .sns .fb {
          width: 48%; } }
      @media screen and (max-width: 736px) {
        section#works .sns .insta,
        section#works .sns .fb {
          width: 100%; } }
    @media screen and (max-width: 736px) {
      section#works .sns .insta {
        margin-bottom: 50px; } }
    section#works .sns .insta ul {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      section#works .sns .insta ul li {
        margin-bottom: 10px;
        width: 220px;
        border: 1px solid #000; }
        @media screen and (max-width: 1100px) {
          section#works .sns .insta ul li {
            margin-bottom: 8px;
            width: 49%; } }
        section#works .sns .insta ul li a:hover {
          opacity: .6; }
  section#access .map {
    margin-bottom: 60px;
    height: 400px; }
    section#access .map iframe {
      width: 100%;
      height: 100%; }
