@charset "UTF-8";
#wrapper {
  width: 100%;
  text-align: center;
  padding-top: 90px; }
  @media screen and (max-width: 768px) {
    #wrapper {
      padding-top: 60px; } }
  #wrapper h1 {
    position: relative;
    line-height: 1;
    font-size: 28px;
    font-size: 2.8rem;
    text-align: center;
    font-weight: 700; }
	#wrapper h1 span {
	display: block;
    font-size: 12px;
    font-size: 1.2rem;
    margin-top: 10px;}
    @media screen and (max-width: 768px) {
      #wrapper h1 {
        font-size: 20px;
        font-size: 2rem; } }
    #wrapper h1:after {
      content: "";
      width: 77px;
      height: 7px;
      background: #000;
      position: absolute;
      bottom: -20px;
      left: 50%;
      -moz-transform: translate(-50%, 0);
      -webkit-transform: translate(-50%, 0);
      -o-transform: translate(-50%, 0);
      -ms-transform: translate(-50%, 0);
      transform: translate(-50%, 0); }
      @media screen and (max-width: 768px) {
        #wrapper h1:after {
          width: 60px;
          height: 5px;
          bottom: -15px; } }
  #wrapper .kv_area {
    width: 100%;
    height: 600px;
    position: relative;
    overflow: hidden; }
    #wrapper .kv_area:after {
      content: "";
      width: 100%;
      height: 600px;
      min-width: 1250px;
      background: url(../img/kv.jpg) top center no-repeat;
      background-size: cover;
      position: fixed;
      top: 90px;
      left: 0;
      z-index: -1; }
    @media screen and (max-width: 768px) {
      #wrapper .kv_area {
        height: auto;
        background: none;
        padding: 0; }
        #wrapper .kv_area:after {
          display: none; } }
    #wrapper .kv_area .inner {
      max-width: 1000px;
      width: 100%;
      height: 100%;
      margin: 0 auto;
      position: relative; }
      #wrapper .kv_area .inner .logo {
        position: absolute;
        right: 0;
        bottom: 0; }
  #wrapper .main_contents {
    width: 100%;
    background: #fff;
    padding: 70px 0 110px;
    border-bottom: 1px solid  #c8c8c8; }
    @media screen and (max-width: 768px) {
      #wrapper .main_contents {
        padding: 35px 10% 50px; } }
    #wrapper .main_contents > .inner {
      width: 100%;
      max-width: 1000px;
      margin: 0 auto; }
    #wrapper .main_contents p.lead {
      font-size: 16px;
      font-size: 1.6rem;
      font-weight: bold;
      text-align: center;
      line-height: 1.7;
      margin: 50px 0 80px; }
      @media screen and (max-width: 768px) {
        #wrapper .main_contents p.lead {
          font-size: 12px;
          font-size: 1.2rem;
          margin: 35px 0 40px;
          text-align: left; } }
    #wrapper .main_contents ul {
      width: 100%;
      -js-display: flex;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: flex-start;
      justify-content: -webkit- flex-start;
      justify-content: flex-start;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap; }
      @media screen and (max-width: 768px) {
        #wrapper .main_contents ul {
          display: block; } }
      #wrapper .main_contents ul li {
        max-width: 300px;
        width: 30%; }
        @media screen and (min-width: 768px) {
          #wrapper .main_contents ul li {
            margin-right: 5%; }
            #wrapper .main_contents ul li:nth-child(3n) {
              margin-right: 0; }
            #wrapper .main_contents ul li:nth-child(3) h2 {
              letter-spacing: -3px; }
              #wrapper .main_contents ul li:nth-child(3) h2 span {
                letter-spacing: -1px; }
            #wrapper .main_contents ul li:nth-child(n+4) {
              margin-top: 80px; } }
        @media screen and (max-width: 768px) {
          #wrapper .main_contents ul li {
            max-width: 100%;
            width: 100%; }
            #wrapper .main_contents ul li:nth-child(n+2) {
              margin-top: 40px; } }
        #wrapper .main_contents ul li h2 {
          position: relative;
          line-height: 1.2;
          font-size: 23px;
          font-size: 2.3rem;
          text-align: center;
          font-weight: bold;
          margin-bottom: 25px;
          letter-spacing: -1px;
          white-space: nowrap; }
          @media screen and (max-width: 768px) {
            #wrapper .main_contents ul li h2 {
              font-size: 15px;
              font-size: 1.5rem;
              margin-bottom: 20px;
              white-space: normal; } }
          #wrapper .main_contents ul li h2 span {
            display: block;
            font-size: 12px;
            font-size: 1.2rem;
            margin-bottom: 5px; }
          #wrapper .main_contents ul li h2:after {
            content: "";
            width: 70px;
            height: 4px;
            background: #000;
            position: absolute;
            bottom: -10px;
            left: 50%;
            -moz-transform: translate(-50%, 0);
            -webkit-transform: translate(-50%, 0);
            -o-transform: translate(-50%, 0);
            -ms-transform: translate(-50%, 0);
            transform: translate(-50%, 0); }
            @media screen and (max-width: 768px) {
              #wrapper .main_contents ul li h2:after {
                width: 60px;
                height: 5px;
                bottom: -10px; } }
        #wrapper .main_contents ul li .img img {
          width: 100%; }
        #wrapper .main_contents ul li p.txt {
          margin: 20px 0;
          text-align: left;
          font-size: 14px;
          font-size: 1.4rem;
          letter-spacing: -0.5px;
          line-height: 1.8; }
          @media screen and (max-width: 768px) {
            #wrapper .main_contents ul li p.txt {
              font-size: 12px;
              font-size: 1.2rem;
              margin: 15px 0;
              height: 60px;
              overflow: hidden;
              -moz-transition: all 0.3s;
              -webkit-transition: all 0.3s;
              -o-transition: all 0.3s;
              -ms-transition: all 0.3s;
              transition: all 0.3s;
              position: relative; } }
  @media screen and (max-width: 768px) and (-ms-high-contrast: active), screen and (max-width: 768px) and (-ms-high-contrast: none) {
    #wrapper .main_contents ul li p.txt {
      height: 60px; } }
          @media screen and (max-width: 768px) {
              #wrapper .main_contents ul li p.txt:after {
                content: "…";
                background: #fff;
                display: inline-block;
                position: absolute;
                right: 0;
                bottom: 0;
                width: 1.5em; }
              #wrapper .main_contents ul li p.txt.on {
                height: 100%; }
                #wrapper .main_contents ul li p.txt.on:after {
                  display: none; } }
        #wrapper .main_contents ul li p.more {
          display: none; }
          @media screen and (max-width: 768px) {
            #wrapper .main_contents ul li p.more {
              display: block;
              text-align: left;
              margin-bottom: 10px; }
              #wrapper .main_contents ul li p.more span {
                font-size: 12px;
                font-size: 1.2rem;
                color: #000;
                line-height: 1;
                padding: 10px 15px;
                background: #ff0; } }
    @media screen and (max-width: 768px) and (-ms-high-contrast: active), screen and (max-width: 768px) and (-ms-high-contrast: none) {
      #wrapper .main_contents ul li p.more span {
        padding: 10px 15px 8px; } }

        #wrapper .main_contents ul li .arrow img {
          width: 40px; }
        #wrapper .main_contents ul li a.btn {
          width: 100%;
          display: block;
          padding: 10px 2% 10px;
          border: 5px solid  #ff0;
          text-align: center; }
          #wrapper .main_contents ul li a.btn:hover span {
            opacity: 0.5; }
          #wrapper .main_contents ul li a.btn span {
            line-height: 1.4;
            font-size: 12px;
            font-size: 1.2rem;
            -moz-transition: all 0.3s;
            -webkit-transition: all 0.3s;
            -o-transition: all 0.3s;
            -ms-transition: all 0.3s;
            transition: all 0.3s; }

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