@charset "UTF-8";
body {
  color: #585656; }

header {
  position: absolute;
  top: 0;
  z-index: 20;
  background-color: transparent; }
  header #Logo > span a {
    color: #fff; }
  header .navBlock #MenuBtn span {
    background-color: #fff; }
  header .navBlock #MenuBtn::before, header .navBlock #MenuBtn::after {
    background-color: #fff; }
  header .navBlock nav dl {
    color: #fff; }
    header .navBlock nav dl dd {
      color: #fff; }
  header .navBlock nav > ul > li > a {
    color: #fff; }

article {
  background-color: #e9e9e9; }
  article #MainVisual {
    background: url(../images/img-main.jpg) no-repeat center center;
    background-size: cover;
    height: 610px; }
    article #MainVisual .inner {
      padding-top: 190px;
      text-align: right;
      position: relative; }
      article #MainVisual .inner h1 {
        width: 29em;
        text-align: left;
        color: #fff;
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        font-size: 19px;
        margin-right: 140px;
        margin-left: auto;
        line-height: 30px; }
        article #MainVisual .inner h1 span {
          font-family: 'Noto Serif JP';
          font-weight: 400;
          font-size: 36px;
          line-height: 45px;
          margin-bottom: 21px; }
      article #MainVisual .inner::before {
        content: "";
        display: block;
        width: 548px;
        height: 548px;
        background: url(../images/img-main-circle.png);
        position: absolute;
        top: 172px;
        left: -60px;
        z-index: 10; }
    @media screen and (max-width: 479px) {
      article #MainVisual {
        background: url(../images/img-main.jpg) no-repeat center center;
        background-size: cover;
        height: 106.66667vw; }
        article #MainVisual .inner {
          padding-top: 26.66667vw;
          text-align: left;
          position: relative; }
          article #MainVisual .inner h1 {
            width: 100%;
            font-size: 3.46667vw;
            margin-right: 0;
            margin-left: 0;
            line-height: 5.33333vw;
            padding: 0 4vw; }
            article #MainVisual .inner h1 span {
              font-size: 6.13333vw;
              line-height: 8.4vw;
              text-align: center;
              margin-bottom: 5.6vw; }
          article #MainVisual .inner::before {
            width: 60.66667vw;
            height: 60.66667vw;
            top: 65.33333vw;
            left: 21.33333vw;
            background-size: cover; } }
  article #LeadBlock {
    width: 100%;
    height: 296px;
    margin-top: -125px;
    position: relative;
    background-color: #ff7800;
    -webkit-transform: skewY(-3.5deg);
    -ms-transform: skewY(-3.5deg);
    transform: skewY(-3.5deg);
    padding-top: 30px;
    -webkit-transform-origin: left top;
    -ms-transform-origin: left top;
    transform-origin: left top;
    z-index: 5; }
    article #LeadBlock .inner {
      -webkit-transform: skewY(3.5deg);
      -ms-transform: skewY(3.5deg);
      transform: skewY(3.5deg);
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-box-align: end;
      -ms-flex-align: end;
      align-items: flex-end; }
      article #LeadBlock .inner p {
        color: #fff;
        width: 693px;
        font-size: 16px;
        line-height: 26px;
        font-weight: 300;
        margin-bottom: 1.5em; }
    @media screen and (max-width: 479px) {
      article #LeadBlock {
        height: 101.33333vw;
        margin-top: 0;
        padding-top: 29.33333vw; }
        article #LeadBlock .inner {
          -webkit-box-align: center;
          -ms-flex-align: center;
          align-items: center; }
          article #LeadBlock .inner p {
            width: 100%;
            font-size: 3.46667vw;
            line-height: 5.33333vw; } }
  article #Business {
    width: 100%;
    height: 495px;
    background-color: #fff;
    -webkit-transform-origin: center top;
    -ms-transform-origin: center top;
    transform-origin: center top;
    -webkit-transform: skewY(3.5deg);
    -ms-transform: skewY(3.5deg);
    transform: skewY(3.5deg);
    margin-top: 36px;
    position: relative;
    z-index: 1; }
    article #Business .inner {
      -webkit-transform: skewY(-3.5deg);
      -ms-transform: skewY(-3.5deg);
      transform: skewY(-3.5deg);
      position: relative;
      top: -30px; }
      article #Business .inner h2 {
        font-size: 32px;
        color: #333;
        text-align: center;
        margin-bottom: 28px; }
      article #Business .inner .businessBlock {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between; }
        article #Business .inner .businessBlock dl {
          width: calc(374 / 1200 * 100%);
          padding-top: calc(234 / 1200 * 100%);
          background-position: center top;
          background-repeat: no-repeat;
          background-size: 100%; }
          article #Business .inner .businessBlock dl dt {
            font-size: 18px;
            color: #333;
            height: 45px;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center;
            -webkit-box-pack: center;
            -ms-flex-pack: center;
            justify-content: center; }
          article #Business .inner .businessBlock dl dd {
            font-size: 14px;
            color: #4c4c4c;
            line-height: 1.5; }
          article #Business .inner .businessBlock dl:first-child {
            background-image: url(../images/img-business01.jpg); }
          article #Business .inner .businessBlock dl:nth-child(2) {
            background-image: url(../images/img-business02.jpg); }
          article #Business .inner .businessBlock dl:nth-child(3) {
            background-image: url(../images/img-business03.jpg); }
    @media screen and (max-width: 479px) {
      article #Business {
        width: 100%;
        height: auto;
        margin-top: 9.33333vw; }
        article #Business .inner {
          top: -6vw; }
          article #Business .inner h2 {
            font-size: 6.4vw;
            margin-bottom: 4vw; }
          article #Business .inner .businessBlock {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
            -ms-flex-direction: column;
            flex-direction: column;
            -webkit-box-pack: start;
            -ms-flex-pack: start;
            justify-content: flex-start; }
            article #Business .inner .businessBlock dl {
              width: 100%;
              padding-top: 56vw;
              margin-bottom: 6vw; }
              article #Business .inner .businessBlock dl dt {
                font-size: 4.26667vw;
                height: 10.66667vw; }
              article #Business .inner .businessBlock dl dd {
                font-size: 3.46667vw; } }
  article #Case {
    margin-top: -45px;
    position: relative;
    height: 610px;
    background: url(../images/bg-case.jpg) no-repeat center top;
    background-size: cover; }
    article #Case h2 {
      height: 82px;
      font-size: 30px;
      color: #fff;
      background-color: #9c9c9c;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-transform: skewY(-3.5deg);
      -ms-transform: skewY(-3.5deg);
      transform: skewY(-3.5deg);
      -webkit-transform-origin: center center;
      -ms-transform-origin: center center;
      transform-origin: center center;
      position: absolute;
      z-index: 10;
      top: 5px;
      width: 100%; }
      article #Case h2 span {
        -webkit-transform: skewY(3.5deg);
        -ms-transform: skewY(3.5deg);
        transform: skewY(3.5deg); }
    article #Case .inner {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      padding-top: 105px; }
      article #Case .inner dl {
        width: 50%;
        padding: 0 0 0 243px;
        background-repeat: no-repeat;
        background-position: 0 0;
        margin-top: 40px;
        min-height: 130px; }
        article #Case .inner dl:first-child {
          background-image: url(../images/img-case01.jpg); }
        article #Case .inner dl:nth-child(2) {
          background-image: url(../images/img-case02.jpg); }
        article #Case .inner dl:nth-child(3) {
          background-image: url(../images/img-case03.jpg); }
        article #Case .inner dl:nth-child(4) {
          background-image: url(../images/img-case04.jpg); }
        article #Case .inner dl dt {
          display: inline-block;
          color: #fff;
          background-color: #ff7800;
          font-size: 15px;
          line-height: 1.23;
          padding: 6px 18px;
          font-weight: 300;
          margin-bottom: 14px; }
          article #Case .inner dl dt span {
            display: inline-block; }
        article #Case .inner dl dd {
          font-size: 16px;
          color: #333;
          line-height: 1.5; }
    article #Case p {
      width: 100%;
      text-align: center;
      margin: 30px 0 0; }
      article #Case p a {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        width: 161px;
        height: 43px;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        font-size: 18px;
        color: #fff;
        background-color: #ff7800; }
    @media screen and (max-width: 479px) {
      article #Case {
        margin-top: -11.2vw;
        height: auto;
        background-size: cover;
        padding-bottom: 11.2vw; }
        article #Case h2 {
          height: 13.33333vw;
          font-size: 6.4vw;
          top: 10.66667vw; }
        article #Case .inner {
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
          -ms-flex-direction: column;
          flex-direction: column;
          padding-top: 28vw; }
          article #Case .inner dl {
            width: 100%;
            padding: 0 0 0 38.13333vw;
            margin-top: 5.33333vw;
            min-height: auto;
            background-size: 32vw 32vw; }
            article #Case .inner dl:first-child {
              background-image: url(../images/img-case01-sp.jpg); }
            article #Case .inner dl:nth-child(2) {
              background-image: url(../images/img-case02-sp.jpg); }
            article #Case .inner dl:nth-child(3) {
              background-image: url(../images/img-case03-sp.jpg); }
            article #Case .inner dl:nth-child(4) {
              background-image: url(../images/img-case04-sp.jpg); }
            article #Case .inner dl dt {
              font-size: 3.46667vw;
              padding: 1.33333vw 2.4vw;
              line-height: 1.23;
              font-weight: 300;
              display: -ms-inline-grid;
              display: inline-grid;
              margin-bottom: 2.4vw; }
            article #Case .inner dl dd {
              font-size: 3.46667vw; }
        article #Case p {
          margin: 6.66667vw 0 0; }
          article #Case p a {
            width: 34.66667vw;
            height: 9.33333vw;
            font-size: 3.46667vw; } }
  article #News {
    background-color: #fff;
    -webkit-transform: skewY(3.5deg);
    -ms-transform: skewY(3.5deg);
    transform: skewY(3.5deg);
    margin-top: -50px;
    padding-bottom: 140px; }
    article #News .inner {
      padding: 0 50px;
      -webkit-transform: skewY(-3.5deg);
      -ms-transform: skewY(-3.5deg);
      transform: skewY(-3.5deg); }
      article #News .inner h2 {
        font-size: 70px;
        color: #ff7c30;
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        line-height: 1.1; }
        article #News .inner h2 span {
          font-size: 15px;
          color: #727272;
          font-weight: 400; }
      article #News .inner dl {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        height: 50px;
        border-bottom: 1px solid #d8d8d8; }
        article #News .inner dl:first-of-type {
          border-top: 1px solid #d8d8d8; }
        article #News .inner dl dt {
          width: 200px;
          font-size: 16px;
          -ms-flex-negative: 0;
          flex-shrink: 0;
          font-weight: 400;
          margin-right: 14px;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
          -ms-flex-align: center;
          align-items: center;
          -webkit-box-pack: justify;
          -ms-flex-pack: justify;
          justify-content: space-between; }
          article #News .inner dl dt::after {
            display: inline-block;
            width: 103px;
            line-height: 24px;
            text-align: center;
            color: #fff;
            font-size: 14px;
            white-space: nowrap; }
        article #News .inner dl dd {
          width: calc(100% - 214px); }
          article #News .inner dl dd a {
            font-size: 16px;
            color: #333; }
        article #News .inner dl.news dt::after {
          content: "ニュース";
          background-color: #48b2d4; }
        article #News .inner dl.press dt::after {
          content: "プレスリリース";
          background-color: #ff7800; }
        article #News .inner dl.oshirase dt::after {
          content: "お知らせ";
          background-color: #097d0d; }
        article #News .inner dl.event dt::after {
          content: "イベント";
          background-color: #fbe634; }
      article #News .inner p {
        width: 100%;
        text-align: center;
        margin: 40px 0 0; }
        article #News .inner p a {
          display: -webkit-inline-box;
          display: -ms-inline-flexbox;
          display: inline-flex;
          width: 161px;
          height: 43px;
          -webkit-box-align: center;
          -ms-flex-align: center;
          align-items: center;
          -webkit-box-pack: center;
          -ms-flex-pack: center;
          justify-content: center;
          font-size: 18px;
          color: #fff;
          background-color: #ff7800; }
    @media screen and (max-width: 479px) {
      article #News {
        margin-top: -3.2vw;
        padding: 2.4vw 0 10.66667vw; }
        article #News .inner {
          padding: 0 5.33333vw; }
          article #News .inner h2 {
            font-size: 16vw;
            margin-bottom: 6vw; }
            article #News .inner h2 span {
              font-size: 3.46667vw; }
          article #News .inner dl {
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
            -ms-flex-direction: column;
            flex-direction: column;
            height: auto;
            padding: 3.2vw 0; }
            article #News .inner dl dt {
              width: 100%;
              font-size: 3.2vw;
              margin-right: 0;
              -webkit-box-pack: start;
              -ms-flex-pack: start;
              justify-content: flex-start; }
              article #News .inner dl dt::after {
                width: 24.66667vw;
                line-height: 4.26667vw;
                font-size: 2.93333vw;
                margin-left: 2.26667vw; }
            article #News .inner dl dd {
              width: 100%; }
              article #News .inner dl dd a {
                font-size: 3.46667vw; }
          article #News .inner p {
            margin: 5.33333vw 0 0; }
            article #News .inner p a {
              width: 34.66667vw;
              height: 9.33333vw;
              font-size: 3.46667vw; } }

footer {
  margin-top: -60px; }
article #Business a,
article #Case a {
	color: #4c4c4c;
}
@media screen and (max-width: 479px) {
	footer {
  		margin-top: 20px;
  	}
}
