@import url("https://use.typekit.net/tof1wje.css");
.fontSuper {
  font-family: superclarendon, serif;
  font-weight: 700;
  font-style: italic; }

@font-face {
  font-family: 'HuiFont';
  src: url(HuiFontP29.ttf); }
.fontHui {
  font-family: 'HuiFont'; }

@media screen and (max-width: 768px) {
  .pc {
    display: none !important; } }

@media screen and (min-width: 769px) {
  .sp {
    display: none !important; } }

.ov {
  transition: opacity 0.3s; }
  .ov:hover {
    opacity: .8; }

body {
  min-width: 1600px; }
  @media screen and (max-width: 768px) {
    body {
      min-width: 0; }
      body #wrapper {
        overflow-x: hidden; } }
  body:not(.home) {
    padding-top: 50px;
    background-color: #8fcbd1; }
    @media screen and (max-width: 768px) {
      body:not(.home) {
        padding-top: 0; } }
    body:not(.home) header .headerCnt {
      top: 0; }
    body:not(.home) section.top .inner {
      padding-top: 140px; }
      @media screen and (max-width: 768px) {
        body:not(.home) section.top .inner {
          padding-top: 100px; }
          body:not(.home) section.top .inner::before {
            content: none; } }
    body:not(.home) section .inner {
      background-color: #fff; }
      body:not(.home) section .inner .cntWrap {
        max-width: 1000px;
        width: 100%;
        margin: 0 auto; }
  body:not(.home) h1, body.home h2 {
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    padding-left: 50px; }
    @media screen and (max-width: 768px) {
      body:not(.home) h1, body.home h2 {
        padding-left: 0; } }
    body:not(.home) h1 img, body.home h2 img {
      margin-right: 20px; }
      @media screen and (max-width: 768px) {
        body:not(.home) h1 img, body.home h2 img {
          margin-right: 14px;
          height: 24px; } }
  body section.top .inner {
    position: relative; }
    body section.top .inner::before {
      content: '';
      display: block;
      border-top: 100px solid #8fcbd1;
      border-left: 1200px solid transparent;
      position: absolute;
      top: 0;
      right: 0;
      z-index: 2; }
      @media screen and (max-width: 768px) {
        body section.top .inner::before {
          border-top-width: 10vw;
          border-left-width: 90vw;
          right: 3.5%; } }
  body section .inner {
    max-width: 1200px;
    width: calc(100% - 400px);
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      body section .inner {
        width: 100%;
        padding: 0 5%; } }

header {
  max-width: 1600px;
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 99; }
  header .headerCnt {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 200px;
    background-color: #8fcbd1;
    position: absolute;
    top: 50px;
    left: 0; }
    @media screen and (max-width: 768px) {
      header .headerCnt {
        flex-direction: row;
        justify-content: space-between;
        width: 100%;
        height: 80px;
        position: fixed;
        padding: 0 5%;
        top: 0; } }
    header .headerCnt .logo {
      margin-bottom: 24px; }
      @media screen and (max-width: 768px) {
        header .headerCnt .logo {
          width: 70px;
          margin: 0;
          text-align: center; } }
    header .headerCnt .spNavTgl {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 40px;
      height: 33px;
      position: relative;
      z-index: 9; }
      header .headerCnt .spNavTgl i, header .headerCnt .spNavTgl::before, header .headerCnt .spNavTgl::after {
        width: 100%;
        height: 3px;
        background-color: #000;
        position: absolute; }
      header .headerCnt .spNavTgl::before, header .headerCnt .spNavTgl::after {
        content: '';
        left: 0; }
      header .headerCnt .spNavTgl::before {
        top: 0; }
      header .headerCnt .spNavTgl::after {
        bottom: 0; }
    header .headerCnt nav {
      display: flex;
      flex-direction: column;
      align-items: flex-start; }
      @media screen and (max-width: 768px) {
        header .headerCnt nav {
          align-items: center;
          max-width: calc(90% - 80px);
          width: 100%;
          height: 100vh;
          padding-top: 20px;
          background-color: #fff;
          position: absolute;
          top: 0;
          right: 0;
          transform: translateX(100%);
          transition: all 0.3s; }
          header .headerCnt nav.ex {
            transform: translateX(0); } }
      header .headerCnt nav > a {
        padding-bottom: 8px;
        line-height: 1.4;
        font-size: 13px;
        font-style: italic; }
        @media screen and (max-width: 768px) {
          header .headerCnt nav > a {
            width: 130px; } }
        header .headerCnt nav > a:not(:nth-last-of-type(1)) {
          margin-bottom: 10px; }
        header .headerCnt nav > a.act {
          color: #4c4a47;
          background: url(/common/img/nav_line.png) repeat-x bottom left; }
        header .headerCnt nav > a span.fontSuper {
          display: block;
          font-size: 20px; }
      header .headerCnt nav .sns {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding-top: 38px; }
        @media screen and (max-width: 768px) {
          header .headerCnt nav .sns {
            flex-direction: row;
            justify-content: center;
            width: 100%;
            padding-top: 20px; } }
        header .headerCnt nav .sns > img {
          margin: 0 20px 10px 0; }
        header .headerCnt nav .sns a {
          margin-left: 10px; }
          @media screen and (max-width: 768px) {
            header .headerCnt nav .sns a {
              margin: 0 15px; } }
          header .headerCnt nav .sns a:nth-of-type(1) {
            margin-bottom: 30px; }
            @media screen and (max-width: 768px) {
              header .headerCnt nav .sns a:nth-of-type(1) {
                margin-bottom: 0; } }

footer {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 50px;
  background-color: #8fcbd1; }
  footer small {
    font-size: 14px;
    color: #fff; }

/*# sourceMappingURL=common_style.css.map */
