/***************************************************
	concept.css
***************************************************/
#concept .l_gNav .l_gNav_nav li:nth-child(2) {
  border-bottom-color: black; }
  @media only screen and (max-width: 767px) {
    #concept .l_gNav .l_gNav_nav li:nth-child(2) {
      border-bottom-color: #666; } }
  #concept .l_gNav .l_gNav_nav li:nth-child(2) a {
    background-color: black; }

/* #company.index
------------------------------------------------------------ */
.mainvisual {
  height: 380px;
  background: url(/img/concept/mainmainvisual_bg.jpg) 50% 50% no-repeat;
  background-size: cover; }
  @media only screen and (max-width: 767px) {
    .mainvisual {
      height: 250px;
      background: url(/img/concept/mainmainvisual_bg_sp.jpg) 50% 50% no-repeat;
      background-size: cover; } }

/* introduction */
#introduction {
  padding-top: 75px; }
  @media only screen and (max-width: 767px) {
    #introduction {
      padding-top: 35px; } }
  @media only screen and (max-width: 767px) {
    #introduction .l_container {
      padding: 0 15px; } }
  #introduction .inn {
    padding: 0 40px 120px; }
    @media only screen and (max-width: 767px) {
      #introduction .inn {
        padding: 0 5px 40px; } }
  #introduction .text01 {
    margin-bottom: 10px; }
  #introduction .growing_model {
    text-align: center; }
    #introduction .growing_model h4 {
      display: inline-block;
      margin-bottom: 20px;
      padding: 15px 50px;
      border-radius: 3px;
      background-color: #333;
      color: #fff; }
      @media only screen and (max-width: 767px) {
        #introduction .growing_model h4 {
          margin-bottom: 10px; } }
    #introduction .growing_model ol {
      margin: 0;
      text-align: left;
      list-style: none; }
      #introduction .growing_model ol li {
        float: left;
        padding-right: 40px;
        background: url(/img/concept/index/arr01_pc.png) 290px 50% no-repeat; }
        #introduction .growing_model ol li:last-child {
          margin-bottom: 0;
          padding-bottom: 0;
          padding-right: 0;
          background: none; }
        #introduction .growing_model ol li:nth-child(1) dt {
          background: url(/img/concept/index/img01.png) 50% 145px no-repeat; }
        #introduction .growing_model ol li:nth-child(2) dt {
          background: url(/img/concept/index/img02.png) 50% 45px no-repeat; }
        #introduction .growing_model ol li:nth-child(3) dt {
          background: url(/img/concept/index/img03.png) 50% 10px no-repeat; }
        @media only screen and (max-width: 767px) {
          #introduction .growing_model ol li {
            float: none;
            margin-bottom: 5px;
            padding-right: 0;
            padding-bottom: 23px;
            background: url(/img/concept/index/arr01_sp.png) 50% 100% no-repeat;
            background-size: 53px auto; }
            #introduction .growing_model ol li:nth-child(1) dl {
              background: url(/img/concept/index/img01.png) 25px 50% no-repeat, url(/img/concept/index/dot01.png) 0 0 repeat;
              background-size: 60px auto, auto; }
            #introduction .growing_model ol li:nth-child(2) dl {
              min-height: 140px;
              background: url(/img/concept/index/img02.png) 15px 50% no-repeat, url(/img/concept/index/dot01.png) 0 0 repeat;
              background-size: 80px auto, auto; }
            #introduction .growing_model ol li:nth-child(3) dl {
              min-height: 160px;
              padding-top: 20px;
              background: url(/img/concept/index/img03.png) 5px 50% no-repeat, url(/img/concept/index/dot01.png) 0 0 repeat;
              background-size: 95px auto, auto; }
            #introduction .growing_model ol li:nth-child(1) dt, #introduction .growing_model ol li:nth-child(2) dt, #introduction .growing_model ol li:nth-child(3) dt {
              background: none; } }
        #introduction .growing_model ol li dl {
          width: 280px;
          padding: 15px;
          border: 5px solid #f1f1f1;
          border-radius: 5px;
          background-image: url(/img/concept/index/dot01.png); }
          @media only screen and (max-width: 767px) {
            #introduction .growing_model ol li dl {
              width: 100%;
              padding: 10px 10px 10px 110px; } }
          #introduction .growing_model ol li dl dt {
            margin-bottom: 8px;
            padding: 300px 0 0;
            border-bottom: 1px solid #f1f1f1;
            font-weight: bold;
            text-align: center; }
            @media only screen and (max-width: 767px) {
              #introduction .growing_model ol li dl dt {
                padding: 0;
                border-bottom: none;
                font-size: 13px;
                font-size: 1.3rem;
                text-align: left; } }
          #introduction .growing_model ol li dl dd {
            font-size: 14px;
            font-size: 1.4rem; }
            @media only screen and (max-width: 767px) {
              #introduction .growing_model ol li dl dd {
                font-size: 12px;
                font-size: 1.2rem; } }

@media only screen and (max-width: 767px) {
  .scrollTb01 {
    position: relative;
    padding: 0; }
    .scrollTb01::before {
      display: block;
      content: "";
      position: absolute;
      top: 15px;
      right: 25px;
      width: 34px;
      height: 39px;
      background: url(/img/common/swipe_r.png) 50% 50% no-repeat;
      background-size: auto 39px;
      opacity: .4;
      z-index: 100; }
    .scrollTb01.middle::before {
      background-image: url(/img/common/swipe_lr.png); }
    .scrollTb01.end::before {
      background-image: url(/img/common/swipe_l.png); } }
@media only screen and (max-width: 767px) {
  .scrollTb01 .scrollTb01_inn {
    padding-bottom: 3px;
    overflow-x: scroll;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch; }
    .scrollTb01 .scrollTb01_inn::-webkit-scrollbar {
      height: 5px; }
    .scrollTb01 .scrollTb01_inn::-webkit-scrollbar-track {
      border-radius: 5px;
      background: #eee; }
    .scrollTb01 .scrollTb01_inn::-webkit-scrollbar-thumb {
      border-radius: 5px;
      background: #666; } }
.scrollTb01 table {
  width: 100%;
  border-right: 1px solid #ccc;
  border-left: 1px solid #ccc; }
  @media only screen and (max-width: 767px) {
    .scrollTb01 table {
      width: auto;
      margin-right: 50px; } }
  .scrollTb01 table thead th {
    padding: 15px 10px;
    border-right: 1px solid #ccc;
    background-color: #f1f1f1;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: normal;
    line-height: 1.3; }
    .scrollTb01 table thead th.timing {
      width: 112px; }
    .scrollTb01 table thead th.item {
      width: 112px;
      border-right: 1px solid #999; }
    .scrollTb01 table thead th.pattern1 {
      width: 230px;
      background-color: #d34629;
      color: #fff; }
    .scrollTb01 table thead th.pattern2 {
      width: 230px;
      background-color: #f8b62a; }
    .scrollTb01 table thead th.pattern3 {
      width: 230px;
      background-color: #f8b62a; }
    @media only screen and (max-width: 767px) {
      .scrollTb01 table thead th {
        font-size: 9px;
        font-size: 0.9rem; } }
  .scrollTb01 table tbody th {
    padding: 10px;
    border: 1px solid #ccc;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: normal; }
    @media only screen and (max-width: 767px) {
      .scrollTb01 table tbody th {
        font-size: 10px;
        font-size: 1rem; } }
    .scrollTb01 table tbody th.item {
      border-right: 1px solid #999; }
  .scrollTb01 table tbody td {
    padding: 10px;
    border: 1px solid #ccc;
    font-size: 14px;
    font-size: 1.4rem; }
    @media only screen and (max-width: 767px) {
      .scrollTb01 table tbody td {
        font-size: 10px;
        font-size: 1rem; } }
    .scrollTb01 table tbody td.mark {
      width: 50px;
      padding: 0;
      border-right: 1px dotted #ccc;
      font-size: 46px;
      font-size: 4.6rem;
      text-align: center; }
      @media only screen and (max-width: 767px) {
        .scrollTb01 table tbody td.mark {
          padding: 0 3px;
          font-size: 28px;
          font-size: 2.8rem; } }
      .scrollTb01 table tbody td.mark.is_red {
        color: #d34629; }
      .scrollTb01 table tbody td.mark.is_s {
        font-size: 38px;
        font-size: 3.8rem; }
        @media only screen and (max-width: 767px) {
          .scrollTb01 table tbody td.mark.is_s {
            font-size: 28px;
            font-size: 2.8rem; } }
    .scrollTb01 table tbody td.mark + td {
      width: 180px;
      border-left: 1px dotted #ccc; }
  .scrollTb01 table tbody .last td {
    border-bottom: 3px solid #ccc; }
  .scrollTb01 table tbody .remarks_text {
    padding-left: 5px;
    font-size: 12px;
    font-size: 1.2rem; }
    @media only screen and (max-width: 767px) {
      .scrollTb01 table tbody .remarks_text {
        font-size: 10px;
        font-size: 1rem; } }
  .scrollTb01 table.table02 th.items {
    width: 360px; }
  .scrollTb01 table.table02 th:first-child {
    border-right: 1px solid #ccc; }

@media only screen and (max-width: 767px) {
  #merit01 .l_container {
    padding: 0 15px; } }
#merit01 .inn {
  padding: 0 40px 75px; }
  @media only screen and (max-width: 767px) {
    #merit01 .inn {
      padding: 0 5px 40px; } }
#merit01 .text01 {
  margin-bottom: 35px; }

@media only screen and (max-width: 767px) {
  #merit02 .l_container {
    padding: 0 15px; } }
#merit02 .inn {
  padding: 0 40px 75px; }
  @media only screen and (max-width: 767px) {
    #merit02 .inn {
      padding: 0 5px 40px; } }
#merit02 .text01 {
  margin-bottom: 35px; }

/* extend
------------------------------------------------------------ */
.clearfix, .mainvisual {
  *zoom: 1; }
  .clearfix:after, .mainvisual:after {
    content: "";
    display: block;
    clear: both; }
