@charset "UTF-8";
/* reset css */
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, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit;
  /*	outline: 0;*/ }

html {
  font-size: 100%;
  -webkit-text-size-adjust: none; }

img {
  vertical-align: text-bottom;
  -ms-interpolation-mode: bicubic; }

a {
  -webkit-tap-highlight-color: transparent; }

strong {
  font-weight: bold; }

ol, ul {
  list-style: none; }

table {
  border-collapse: collapse;
  /*	border-collapse: separate;*/
  border-spacing: 0; }

caption, th, td {
  font-weight: normal;
  text-align: left;
  vertical-align: top; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: ""; }

blockquote, q {
  quotes: "" ""; }

a:focus {
  /*\*/
  overflow: hidden;
  /**/ }

option {
  padding-right: 10px; }

/* HTML5 ELEMENTS */
header, article, aside, section, footer,
nav, menu, details, hgroup, summary {
  display: block; }

/*************** common 共通クラス ***************/
@media (max-width: 1023px) {
  .pc_visibility {
    display: none;
    visibility: hidden; } }
@media (min-width: 1024px) {
  .tb_visibility {
    display: none;
    visibility: hidden; } }
@media (max-width: 767px) {
  .tb_visibility {
    display: none;
    visibility: hidden; } }
@media (max-width: 767px) {
  .pc_tb_visibility {
    display: none;
    visibility: hidden; } }
@media (min-width: 1024px) {
  .tb_sp_visibility {
    display: none;
    visibility: hidden; } }
@media (min-width: 768px) {
  .sp_visibility {
    display: none;
    visibility: hidden; } }
.clearfix:after {
  content: "";
  clear: both;
  display: block; }

body {
  color: #111111;
  font-size: 14px;
  font-family: YuGothic, '游ゴシック', sans-serif;
  line-height: 21px;
  letter-spacing: 0.12em; }

a {
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
  color: #2893DC;
  text-decoration: none; }
  a:hover {
    opacity: 0.8; }

img {
  width: 100%; }

@media (max-width: 1023px) {
  .pc-visibility {
    display: none !important;
    visibility: hidden; } }
@media (min-width: 1024px) {
  .tb-visibility {
    display: none !important;
    visibility: hidden; } }
@media (max-width: 767px) {
  .tb-visibility {
    display: none !important;
    visibility: hidden; } }
@media (max-width: 767px) {
  .pc-tb-visibility {
    display: none !important;
    visibility: hidden; } }
@media (min-width: 1024px) {
  .tb-sp-visibility {
    display: none !important;
    visibility: hidden; } }
@media (min-width: 768px) {
  .sp-visibility {
    display: none !important;
    visibility: hidden; } }
.clearfix:after {
  content: "";
  clear: both;
  display: block; }

.transition {
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s; }

/***** 共通パーツ *****/
/*************** header ***************/
header#g-header {
  background: rgba(255, 255, 255, 0.9);
  transition: all 0.3s;
  z-index: 10;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 60px; }
  @media (max-width: 767px) {
    header#g-header {
      height: 60px; } }
  header#g-header .header-wrapper {
    margin: 0 auto;
    max-width: 1280px;
    width: 94%; }
    @media (max-width: 1023px) {
      header#g-header .header-wrapper {
        width: 92%; } }
    @media (max-width: 767px) {
      header#g-header .header-wrapper {
        width: 90%; } }
    header#g-header .header-wrapper::after {
      clear: both;
      content: "";
      display: block; }
    header#g-header .header-wrapper .header-img {
      float: left;
      width: 186px;
      padding-top: 18px; }
      @media (max-width: 767px) {
        header#g-header .header-wrapper .header-img {
          padding-top: 19px; } }
      header#g-header .header-wrapper .header-img a {
        color: inherit;
        font-size: 21px;
        line-height: 21px;
        letter-spacing: 0.2em;
        font-weight: bold;
        color: #44C905; }
    header#g-header .header-wrapper .header-nav {
      float: right;
      padding-top: 20px; }
      @media (max-width: 767px) {
        header#g-header .header-wrapper .header-nav {
          display: none; } }
      header#g-header .header-wrapper .header-nav li {
        display: inline-block;
        margin-left: 30px; }
      header#g-header .header-wrapper .header-nav a {
        color: inherit;
        font-size: 14px;
        line-height: 14px; }
    header#g-header .header-wrapper .header-nav-sp {
      display: none; }
      @media (max-width: 767px) {
        header#g-header .header-wrapper .header-nav-sp {
          display: block;
          float: right;
          padding-top: 20px; } }
      header#g-header .header-wrapper .header-nav-sp li {
        display: inline-block; }
      header#g-header .header-wrapper .header-nav-sp a {
        color: inherit;
        font-size: 14px;
        line-height: 14px;
        letter-spacing: 0.1em; }

footer#footer {
  background-color: #F2F2F2; }
  footer#footer .footer-wrap {
    box-sizing: border-box;
    margin: 0 auto;
    max-width: 1280px;
    width: 94%;
    height: 40px;
    padding-top: 14px;
    color: #555555;
    font-size: 12px;
    line-height: 12px; }
    @media (max-width: 1023px) {
      footer#footer .footer-wrap {
        width: 92%; } }
    @media (max-width: 767px) {
      footer#footer .footer-wrap {
        width: 90%; } }
    @media (max-width: 767px) {
      footer#footer .footer-wrap {
        padding-top: 17px;
        font-size: 8px;
        line-height: 8px; } }

/*************** Top ***************/
article#top section.top-main .top-main-bg {
  background-image: url("/assets/images/top/main-bg.jpg");
  background-size: cover;
  background-position: center;
  width: 100%;
  height: 720px;
  position: relative; }
  @media (max-width: 767px) {
    article#top section.top-main .top-main-bg {
      height: 520px; } }
  article#top section.top-main .top-main-bg .message {
    position: absolute;
    text-align: center;
    top: 320px;
    left: 0;
    right: 0;
    color: #FFFFFF;
    font-size: 48px;
    line-height: 60px;
    font-weight: bold; }
    @media (max-width: 767px) {
      article#top section.top-main .top-main-bg .message {
        top: 220px;
        font-size: 30px;
        line-height: 42px; } }
article#top section#vision {
  width: 94%;
  max-width: 640px;
  margin: 160px auto; }
  @media (max-width: 767px) {
    article#top section#vision {
      margin: 80px auto; } }
  article#top section#vision .head-message {
    font-size: 24px;
    line-height: 24px;
    color: #44C905;
    font-weight: bold;
    text-align: center; }
    @media (max-width: 767px) {
      article#top section#vision .head-message {
        font-size: 24px;
        line-height: 36px; } }
article#top section#business .business-top-bg {
  background-image: url("/assets/images/top/business-bg.jpg");
  background-size: cover;
  background-position: center;
  width: 100%;
  height: 200px; }
  @media (max-width: 767px) {
    article#top section#business .business-top-bg {
      height: 150px; } }
  article#top section#business .business-top-bg .title {
    padding-top: 80px;
    font-size: 30px;
    line-height: 30px;
    text-align: center;
    font-weight: bold;
    color: #FFFFFF;
    letter-spacing: 0.2em; }
    @media (max-width: 767px) {
      article#top section#business .business-top-bg .title {
        padding-top: 60px;
        font-size: 22px;
        line-height: 22px; } }
article#top section#business .business-bg {
  background-color: #F9F9F9; }
  article#top section#business .business-bg .business-list {
    padding-bottom: 40px; }
    @media (max-width: 767px) {
      article#top section#business .business-bg .business-list {
        padding-bottom: 20px; } }
    article#top section#business .business-bg .business-list li {
      padding-top: 80px;
      padding-bottom: 80px; }
      @media (max-width: 767px) {
        article#top section#business .business-bg .business-list li {
          padding-top: 60px;
          padding-bottom: 60px; } }
      article#top section#business .business-bg .business-list li:first-child {
        border-bottom: solid 1px #999999; }
      article#top section#business .business-bg .business-list li .list-box {
        max-width: 720px;
        width: 94%;
        margin: 0 auto;
        font-weight: bold; }
      article#top section#business .business-bg .business-list li .business-title {
        font-size: 24px;
        line-height: 36px;
        position: relative; }
        @media (max-width: 767px) {
          article#top section#business .business-bg .business-list li .business-title {
            font-size: 18px;
            line-height: 29px;
            position: relative;
            padding-left: 45px; } }
      article#top section#business .business-bg .business-list li .desc {
        margin-top: 40px;
        font-size: 16px;
        line-height: 32px; }
        @media (max-width: 767px) {
          article#top section#business .business-bg .business-list li .desc {
            margin-top: 30px;
            font-size: 12px;
            line-height: 24px; } }
article#top section#company {
  padding-bottom: 80px; }
  @media (max-width: 767px) {
    article#top section#company {
      padding-bottom: 60px; } }
  article#top section#company .company-top-bg {
    background-image: url("/assets/images/top/company-bg.jpg");
    background-size: cover;
    background-position: center;
    width: 100%;
    height: 200px; }
    @media (max-width: 767px) {
      article#top section#company .company-top-bg {
        height: 150px; } }
    article#top section#company .company-top-bg .title {
      padding-top: 80px;
      font-size: 30px;
      line-height: 30px;
      text-align: center;
      font-weight: bold;
      color: #FFFFFF;
      letter-spacing: 0.2em; }
      @media (max-width: 767px) {
        article#top section#company .company-top-bg .title {
          padding-top: 60px;
          font-size: 22px;
          line-height: 22px; } }
  article#top section#company .company-info {
    padding-top: 80px;
    padding-bottom: 80px;
    max-width: 720px;
    width: 94%;
    margin: 0 auto;
    font-weight: bold; }
    article#top section#company .company-info::after {
      clear: both;
      content: "";
      display: block; }
    @media (max-width: 767px) {
      article#top section#company .company-info {
        padding-top: 40px;
        padding-bottom: 40px; } }
    article#top section#company .company-info dt, article#top section#company .company-info dd {
      display: inline-block;
      float: left;
      font-size: 16px;
      padding-bottom: 30px; }
      @media (max-width: 767px) {
        article#top section#company .company-info dt, article#top section#company .company-info dd {
          font-size: 12px;
          padding-bottom: 20px; } }
    article#top section#company .company-info dt {
      width: 22.2%;
      margin-right: 16.6%;
      text-align: right; }
      @media (max-width: 767px) {
        article#top section#company .company-info dt {
          margin-right: 8.6%; } }
    article#top section#company .company-info dd {
      width: 61.2%; }
      @media (max-width: 767px) {
        article#top section#company .company-info dd {
          width: 69.2%; } }
      article#top section#company .company-info dd .name {
        width: 70px; }
        @media (max-width: 767px) {
          article#top section#company .company-info dd .name {
            width: 54px; } }
article#top .contact-btn {
  display: block;
  box-sizing: border-box;
  width: 320px;
  height: 42px;
  margin: 0 auto;
  padding-top: 14px;
  background-color: #44C905;
  border-radius: 4px;
  color: #FFFFFF;
  text-align: center;
  font-size: 14px;
  line-height: 14px; }
  @media (max-width: 767px) {
    article#top .contact-btn {
      width: 270px;
      height: 40px;
      margin: 0 auto;
      padding-top: 13px;
      font-size: 14px;
      line-height: 14px; } }

/*************** Contact Thanks ***************/
#contact {
  padding-top: 60px; }
  @media (max-width: 767px) {
    #contact {
      padding-top: 60px; } }
  #contact section.contact-area {
    border-top: solid 1px #707070;
    padding-top: 60px;
    padding-bottom: 80px; }
    @media (max-width: 767px) {
      #contact section.contact-area {
        padding-top: 45px;
        padding-bottom: 60px; } }
    #contact section.contact-area .title {
      font-size: 24px;
      line-height: 24px;
      text-align: center;
      font-weight: bold; }
      @media (max-width: 767px) {
        #contact section.contact-area .title {
          font-size: 18px;
          line-height: 18px; } }
    #contact section.contact-area .head-message {
      margin-top: 50px;
      font-size: 14px;
      line-height: 28px;
      text-align: center; }
      @media (max-width: 767px) {
        #contact section.contact-area .head-message {
          margin-top: 36px;
          font-size: 11px;
          line-height: 18px; } }
    #contact section.contact-area .contact-form {
      padding-top: 40px;
      padding-bottom: 80px; }
      @media (max-width: 767px) {
        #contact section.contact-area .contact-form {
          padding-top: 30px;
          padding-bottom: 60px; } }
      #contact section.contact-area .contact-form .warning-message-wrap {
        margin-bottom: 40px; }
        @media (max-width: 767px) {
          #contact section.contact-area .contact-form .warning-message-wrap {
            margin-bottom: 30px; } }
        #contact section.contact-area .contact-form .warning-message-wrap .warning-message {
          font-size: 14px;
          text-align: center;
          color: red; }
          @media (max-width: 767px) {
            #contact section.contact-area .contact-form .warning-message-wrap .warning-message {
              font-size: 12px; } }
      #contact section.contact-area .contact-form .input-box {
        font-size: 0;
        line-height: 0;
        max-width: 720px;
        width: 94%;
        box-sizing: border-box;
        margin: 0 auto 20px; }
      #contact section.contact-area .contact-form label {
        display: inline-block;
        vertical-align: top;
        padding-top: 12px;
        width: 33.3%;
        padding-right: 11.1%;
        text-align: right;
        font-size: 14px;
        line-height: 14px;
        letter-spacing: 0; }
        @media (max-width: 767px) {
          #contact section.contact-area .contact-form label {
            width: 40.3%;
            padding-right: 4.1%;
            font-size: 12px;
            line-height: 12px; } }
        #contact section.contact-area .contact-form label .label-warning {
          display: inline-block;
          margin-right: 10px;
          font-size: 12px;
          line-height: 12px;
          font-weight: bold;
          letter-spacing: 0;
          color: red; }
      #contact section.contact-area .contact-form input, #contact section.contact-area .contact-form textarea {
        -webkit-appearance: none;
        vertical-align: top;
        display: inline-block;
        box-sizing: border-box;
        padding: 4px 8px;
        width: 50%;
        height: 40px;
        margin-right: 5%;
        border: solid 1px #C7C7C7;
        border-radius: 0;
        font-size: 14px;
        line-height: 20px;
        letter-spacing: 0; }
        #contact section.contact-area .contact-form input::placeholder, #contact section.contact-area .contact-form textarea::placeholder {
          color: #ccc; }
        @media (max-width: 767px) {
          #contact section.contact-area .contact-form input, #contact section.contact-area .contact-form textarea {
            width: 55%;
            margin-right: 0;
            font-size: 12px;
            line-height: 18px; } }
      #contact section.contact-area .contact-form textarea {
        height: 240px;
        resize: none; }
        @media (max-width: 767px) {
          #contact section.contact-area .contact-form textarea {
            height: 200px; } }
      #contact section.contact-area .contact-form .btn-submit {
        display: block;
        background-color: #44C905;
        border: none;
        width: 280px;
        height: 40px;
        font-size: 16px;
        color: #FFFFFF;
        margin: 40px auto 0; }
        @media (max-width: 767px) {
          #contact section.contact-area .contact-form .btn-submit {
            width: 200px;
            height: 40px;
            font-size: 14px;
            margin: 30px auto 0; } }
  #contact section.thanks-area {
    border-top: solid 1px #707070;
    padding-top: 120px;
    padding-bottom: 160px;
    text-align: center; }
    @media (max-width: 767px) {
      #contact section.thanks-area {
        padding-top: 90px;
        padding-bottom: 120px; } }
    #contact section.thanks-area .title {
      font-size: 24px;
      font-weight: bold;
      line-height: 48px; }
      @media (max-width: 767px) {
        #contact section.thanks-area .title {
          font-size: 16px;
          line-height: 32px; } }
    #contact section.thanks-area .message {
      margin-top: 100px;
      margin-bottom: 60px;
      font-size: 14px;
      line-height: 28px; }
      @media (max-width: 767px) {
        #contact section.thanks-area .message {
          margin-top: 75px;
          margin-bottom: 45px;
          font-size: 12px;
          line-height: 24px; } }
    #contact section.thanks-area .link {
      text-align: center; }
      @media (max-width: 767px) {
        #contact section.thanks-area .link {
          font-size: 12px;
          line-height: 24px; } }
