@charset "UTF-8";
/* placeholder */
:placeholder-shown {
  color: #b9adad; }

::-webkit-input-placeholder {
  color: #b9adad; }

::-moz-placeholder {
  color: #b9adad;
  opacity: 1; }

:-ms-input-placeholder {
  color: #b9adad; }

/*========================================
  common
========================================*/
html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%; }

html {
  font-size: 62.5%;
  /* 10px */ }

body {
  background-color: #FFF;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-feature-settings: "palt";
  font-family: "Noto Sans JP", 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.6rem;
  color: #534d4f;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased; }

/* anchor */
a {
  text-decoration: none;
  color: #000; }
  a img {
    -webkit-transition: all 0.4s ease-in-out 0s;
    transition: all 0.4s ease-in-out 0s; }
  a:hover {
    text-decoration: underline; }
    a:hover img {
      opacity: 0.7; }
  @media screen and (max-width: 768px) {
    a {
      word-break: break-all; } }

/* ul ol */
ul, ol {
  list-style: none;
  margin: 0;
  padding: 0; }

/*========================================
  table
========================================*/
/* table wrapper */
.tableWrap {
  overflow-x: auto;
  width: 100%; }
  .tableWrap table {
    table-layout: auto;
    min-width: 100%;
    width: 100%; }
  @media screen and (max-width: 768px) {
    .tableWrap table {
      width: 800px; } }

/*========================================
  list
========================================*/
/* default */
ul.default {
  margin-left: 20px;
  list-style: disc; }

ol.default {
  margin-left: 20px;
  list-style: decimal; }

/* notes */
.notes {
  margin-right: -1em;
  line-height: 1.25; }
  .notes li {
    display: inline-block;
    margin-right: 1em;
    padding-left: 1em;
    text-indent: -1em;
    font-size: 1.2rem; }

/*========================================
  image
========================================*/
img {
  display: block; }

/* fit image */
.fitImg {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto; }

/* trim */
.trim {
  position: relative;
  overflow: hidden;
  -webkit-border-radius: 8px;
  border-radius: 8px;
  background-color: #000; }
  .trim img {
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    width: 100%;
    height: auto;
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%); }

/*========================================
  text
========================================*/
/* line wrap */
.lw,
.lw span {
  display: inline-block; }

/* br */
.pc {
  display: block; }

.sp {
  display: none; }

@media screen and (max-width: 768px) {
  .pc {
    display: none; }

  .sp {
    display: block; } }
/*========================================
  block
========================================*/
/* contents block */
.contBlock {
  min-width: 1320px; }
  .contBlock .inr {
    width: 1000px;
    margin: 0 auto;
    padding: 120px 0; }
  .contBlock .contHead h2 {
    display: inline-block;
    padding-bottom: 10px;
    border-bottom: 2px solid #8DC21F;
    font-size: 1.6rem; }
  .contBlock .contHead .leadText p {
    font-size: 4.4rem; }
  .contBlock .contHead .leadText small {
    letter-spacing: 0.1em;
    font-size: 1.4rem; }
  @media screen and (max-width: 768px) {
    .contBlock {
      min-width: 100%; }
      .contBlock .inr {
        width: 100%;
        margin: 0 auto;
        padding: 60px 15px; } }

/*========================================
  global header
========================================*/
.gHead {
  background-color: #FFF; }
  .gHead .inr {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    width: 1320px;
    margin: 0 auto;
    padding: 16px 0; }
  @media screen and (max-width: 600px) {
    .gHead {
      position: fixed;
      left: 0;
      top: 0;
      z-index: 999;
      width: 100%; }
      .gHead .inr {
        width: 100%;
        padding: 16px 10px; } }

.gNavi .menuBtn {
  display: none; }
.gNavi ul {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center; }
  .gNavi ul li:not(:first-child) {
    margin-left: 40px; }
  .gNavi ul li a {
    display: block;
    padding: 4px 0;
    border-bottom: 2px solid #FFF;
    line-height: 1;
    font-family: "Roboto", sans-serif;
    font-size: 1.2rem; }
    .gNavi ul li a:hover {
      border-bottom: 2px solid #8DC21F;
      text-decoration: none; }
@media screen and (max-width: 600px) {
  .gNavi .menuBtn {
    overflow: hidden;
    display: block;
    width: 32px;
    height: 0;
    padding-top: 32px;
    background: url("../img/icon_menu.svg#bk") no-repeat center center;
    background-size: 32px 32px; }
  .gNavi ul {
    display: none;
    position: fixed;
    left: 0;
    top: 64px;
    z-index: 1000;
    width: 100%;
    height: calc(100% - 64px);
    padding: 10px 15px;
    background-color: rgba(255, 255, 255, 0.85); }
    .gNavi ul li:not(:first-child) {
      margin-left: 0; }
    .gNavi ul li a {
      display: block;
      padding: 10px 0;
      border-bottom: none;
      line-height: 1;
      text-align: center;
      font-family: "Roboto", sans-serif;
      font-size: 1.6rem;
      -webkit-border-radius: 8px;
      border-radius: 8px; }
      .gNavi ul li a:hover {
        border-bottom: none;
        background-color: #8DC21F; } }

/*========================================
  global footer
========================================*/
.gFoot {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  min-width: 1320px;
  height: 64px;
  margin: 0 auto;
  text-align: center;
  font-size: 1.2rem; }
  @media screen and (max-width: 600px) {
    .gFoot {
      min-width: 100%; } }

/*========================================
  main
========================================*/
@media screen and (max-width: 600px) {
  main {
    margin-top: 64px; } }

/*========================================
  top
========================================*/
/* splash */
.splash {
  overflow: hidden;
  min-width: 1320px;
  height: 0;
  padding-top: 704px;
  background: url("../img/splash.jpg") no-repeat center center;
  background-size: cover; }
  @media screen and (max-width: 600px) {
    .splash {
      min-width: 100%;
      height: auto;
      padding-top: 0; }
      .splash::before {
        content: "";
        display: block;
        width: 100%;
        height: 0;
        padding-top: 53%; }
      .splash p {
        display: none; } }

/* top : mission */
.top-mission {
  position: relative; }
  .top-mission::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    z-index: 0;
    display: block;
    width: 50%;
    height: 100%;
    background-color: #8DC21F; }
  .top-mission .inr {
    position: relative;
    z-index: 10;
    width: 1000px;
    margin: 0 auto;
    padding-left: 170px;
    background-color: #FFF;
    border-left: 200px solid #8DC21F; }
  .top-mission .contHead .leadText {
    margin-top: 10px; }
  .top-mission .contBody {
    margin-top: 60px; }
    .top-mission .contBody p {
      line-height: 2.4; }
      .top-mission .contBody p + p {
        margin-top: 2em; }
  @media screen and (max-width: 600px) {
    .top-mission .inr {
      width: 85%;
      margin: 0 0 0 15%;
      padding: 60px 20px;
      border-left: none; }
    .top-mission .contHead .leadText p {
      font-size: 2.4rem; }
    .top-mission .contBody {
      margin-top: 40px; }
      .top-mission .contBody p {
        line-height: 2; }
        .top-mission .contBody p + p {
          margin-top: 2em; } }

/* top : service */
.top-service .contHead {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start; }
  .top-service .contHead .leadText p {
    font-weight: bold;
    letter-spacing: 0.05em;
    font-size: 2.8rem; }
  .top-service .contHead .leadText small {
    font-size: 1.6rem; }
.top-service .contBody {
  margin-top: 120px; }
  .top-service .contBody .serviceItems {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: stretch; }
    .top-service .contBody .serviceItems li {
      position: relative;
      padding-top: 200px;
      width: 270px; }
      .top-service .contBody .serviceItems li:nth-child(1) {
        background: url("../img/service_point01.png") no-repeat center top; }
      .top-service .contBody .serviceItems li:nth-child(2) {
        background: url("../img/service_point02.png") no-repeat center top; }
      .top-service .contBody .serviceItems li:nth-child(3) {
        background: url("../img/service_point03.png") no-repeat center top; }
      .top-service .contBody .serviceItems li:not(:first-child)::before {
        content: "";
        display: block;
        position: absolute;
        left: -47px;
        top: 0;
        z-index: 0;
        width: 2px;
        height: 100%;
        background-color: #F5F5F5; }
      .top-service .contBody .serviceItems li h3 {
        text-align: center;
        font-weight: normal;
        font-size: 2rem; }
      .top-service .contBody .serviceItems li p {
        margin-top: 5px;
        letter-spacing: 0.15em;
        line-height: 1.75;
        font-size: 1.4rem; }
@media screen and (max-width: 600px) {
  .top-service .contHead {
    display: block; }
    .top-service .contHead .leadText {
      margin-top: 30px; }
      .top-service .contHead .leadText p {
        margin-bottom: 10px;
        line-height: 1.5;
        letter-spacing: 0;
        font-size: 2.4rem; }
      .top-service .contHead .leadText small {
        line-height: 1.5;
        font-size: 1.6rem; }
  .top-service .contBody {
    margin-top: 60px; }
    .top-service .contBody .serviceItems {
      display: block; }
      .top-service .contBody .serviceItems li {
        position: relative;
        padding-top: 200px;
        width: 100%; }
        .top-service .contBody .serviceItems li:not(:first-child) {
          margin-top: 62px; }
          .top-service .contBody .serviceItems li:not(:first-child)::before {
            content: "";
            display: block;
            position: absolute;
            left: 0;
            top: -30px;
            z-index: 0;
            width: 100%;
            height: 2px; }
        .top-service .contBody .serviceItems li h3 {
          text-align: center;
          font-weight: normal;
          font-size: 2rem; }
        .top-service .contBody .serviceItems li p {
          margin-top: 5px;
          letter-spacing: 0.15em;
          line-height: 1.75;
          font-size: 1.4rem; } }

/* top : feature */
.top-feature {
  position: relative;
  background-image: url("../img/background.png"); }
  .top-feature .inr {
    position: relative;
    z-index: 10; }
  .top-feature .contHead {
	  color: #fff;
  }
  .top-feature .contBody {
    margin-top: 60px; }
    .top-feature .contBody .featureItems li {
      display: flex;
      flex-direction: column;
      flex-wrap: nowrap;
      justify-content: center;
      align-items: center;
      position: relative;
      width: 800px;
      min-height: 200px;
      background-color: rgba(255,255,255,0.8);
      
      padding: 0 0 0 200px; }
      .top-feature .contBody .featureItems li::before {
        content: "";
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        z-index: 0;
        width: 200px;
        height: 100%; }
      .top-feature .contBody .featureItems li:nth-child(1)::before {
        background: url("../img/feature_img01.png") no-repeat center center; }
      .top-feature .contBody .featureItems li:nth-child(2)::before {
        background: url("../img/feature_img02.png") no-repeat center center; }
      .top-feature .contBody .featureItems li:nth-child(3)::before {
        background: url("../img/feature_img03.png") no-repeat center center; }
      .top-feature .contBody .featureItems li:nth-child(even) {
        margin-left: 200px;
        padding: 0 200px 0 0; }
        .top-feature .contBody .featureItems li:nth-child(even)::before {
          left: auto;
          right: 0; }
      .top-feature .contBody .featureItems li:not(:first-child) {
        margin-top: 20px; }
      .top-feature .contBody .featureItems li h3 {
        text-align: center;
        font-weight: normal;
        font-size: 2.4rem; }
      .top-feature .contBody .featureItems li p {
        margin-top: 10px;
        line-height: 1.5;
        font-size: 1.6rem; }
  @media screen and (max-width: 600px) {
    .top-feature::before {
      width: 50%; }
    .top-feature .contBody {
      margin-top: 60px; }
      .top-feature .contBody .featureItems li {
        display: block;
        width: 100%;
        min-height: auto;
        padding: 180px 10px 20px; }
        .top-feature .contBody .featureItems li::before {
          content: "";
          display: block;
          position: absolute;
          left: 50%;
          top: 0;
          z-index: 0;
          width: 180px;
          height: 180px;
          -webkit-transform: translateX(-50%) translateY(0);
          transform: translateX(-50%) translateY(0); }
        .top-feature .contBody .featureItems li:nth-child(even) {
          margin-left: 0;
          padding: 180px 10px 20px; }
          .top-feature .contBody .featureItems li:nth-child(even)::before {
            left: 50%;
            right: auto; }
        .top-feature .contBody .featureItems li:not(:first-child) {
          margin-top: 20px; }
        .top-feature .contBody .featureItems li h3 {
          font-size: 2rem; }
        .top-feature .contBody .featureItems li p {
          text-align: center;
          font-size: 1.4rem; } }

/* top : company */
.top-company {
  position: relative;
  overflow: hidden;
  background-color: #8DC21F; }
  .top-company::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    z-index: 0;
    display: block;
    width: 431px;
    height: 590px;
    background: url("../img/company_bg.png") no-repeat center bottom;
    -webkit-transform: translateX(230px) translateY(0);
    transform: translateX(230px) translateY(0); }
  .top-company .inr {
    position: relative;
    z-index: 10;
    padding: 90px 0 80px; }
  .top-company .contHead h2 {
    border-color: #FFF; }
  .top-company .contBody {
    margin-top: 60px; }
    .top-company .contBody .companyNaming h3 {
      margin-bottom: 10px;
      font-size: 2.8rem; }
    .top-company .contBody .companyNaming p {
      line-height: 2.8;
      font-size: 1.6rem; }
    .top-company .contBody .companyData {
      margin-top: 80px; }
      .top-company .contBody .companyData h3 {
        font-size: 1.6rem; }
      .top-company .contBody .companyData p {
        font-size: 1.4rem; }
      .top-company .contBody .companyData table {
        margin-top: 1em;
        line-height: 1.25;
        font-size: 1.4rem; }
        .top-company .contBody .companyData table th {
          padding: 2px 0;
          vertical-align: top;
          text-align: left;
          font-weight: normal;
          white-space: nowrap; }
        .top-company .contBody .companyData table td {
          position: relative;
          padding: 2px 0 2px 1em;
          vertical-align: top; }
          .top-company .contBody .companyData table td::before {
            content: "：";
            display: block;
            position: absolute;
            left: 0;
            top: 2px; }
  @media screen and (max-width: 600px) {
    .top-company::before {
      content: "";
      position: absolute;
      left: 50%;
      bottom: 0;
      z-index: 0;
      display: block;
      width: 100%;
      height: 100%;
      background: url("../img/company_bg.png") no-repeat center bottom;
      background-size: cover;
      -webkit-transform: translateX(-50%) translateY(0);
      transform: translateX(-50%) translateY(0);
      opacity: 0.25; }
    .top-company .inr {
      padding: 50px 15px 40px; }
    .top-company .contBody {
      margin-top: 30px; }
      .top-company .contBody .companyNaming h3 {
        font-size: 2.4rem; }
      .top-company .contBody .companyNaming p {
        line-height: 2; }
        .top-company .contBody .companyNaming p br {
          display: none; }
      .top-company .contBody .companyData {
        margin-top: 40px; } }
