.topPage .secTtl {
  text-align: center;
  margin-bottom: 30px; }
  @media screen and (max-width: 768px) {
    .topPage .secTtl {
      margin-bottom: 25px; } }
  .topPage .secTtl .enTx {
    font-family: 'Sorts Mill Goudy', serif;
    font-size: 5.8rem;
    color: #4ecbb9;
    display: block;
    line-height: 1; }
    @media screen and (max-width: 768px) {
      .topPage .secTtl .enTx {
        font-size: 3.8rem; } }
  .topPage .secTtl .smlTx {
    font-family: 'Noto Serif JP', serif;
    font-size: 1.2rem;
    display: block;
    line-height: 1.2; }
    @media screen and (max-width: 768px) {
      .topPage .secTtl .smlTx {
        font-size: 1.1rem; } }
  .topPage .secTtl .jpTx {
    display: inline-block;
    position: relative;
    font-size: 1.6rem;
    letter-spacing: 0.08em;
    font-family: 'Noto Serif JP', serif; }
    @media screen and (max-width: 768px) {
      .topPage .secTtl .jpTx {
        font-size: 1.4rem; } }
    .topPage .secTtl .jpTx::before, .topPage .secTtl .jpTx::after {
      content: "";
      position: absolute;
      top: 10px;
      left: -20px;
      width: 1px;
      height: 14px;
      background: #111;
      -webkit-transform: skewX(-25deg);
      -ms-transform: skewX(-25deg);
      transform: skewX(-25deg); }
      @media screen and (max-width: 768px) {
        .topPage .secTtl .jpTx::before, .topPage .secTtl .jpTx::after {
          height: 11px; } }
    .topPage .secTtl .jpTx::after {
      left: auto;
      right: -20px; }

.topPage .secReadTx {
  text-align: center;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.5rem; }
  @media screen and (max-width: 768px) {
    .topPage .secReadTx {
      font-size: 1.3rem;
      text-align: left; } }

.topPage .mv {
  margin-top: 114px; }
  @media screen and (max-width: 768px) {
    .topPage .mv {
      margin-top: 0; } }
  .topPage .mv .pointArea {
    background-color: #e6ebeb;
    padding: 10px; }
    @media screen and (max-width: 768px) {
      .topPage .mv .pointArea {
        padding: 12px 10px; } }
    .topPage .mv .pointArea .pointLis {
      text-align: center; }
      .topPage .mv .pointArea .pointLis > li {
        display: inline-block;
        vertical-align: middle;
        font-size: 1.4rem;
        line-height: 1.6;
        padding-left: 30px;
        background: url("../cmn_img/icon_check.png") no-repeat center left/20px 20px;
        margin-right: 80px; }
        @media screen and (max-width: 768px) {
          .topPage .mv .pointArea .pointLis > li {
            font-size: 1.2rem;
            font-weight: 500;
            margin: 1px 0;
            padding-left: 23px;
            background-size: 16px 16px; } }
        .topPage .mv .pointArea .pointLis > li.last {
          margin-right: 0; }
  .topPage .mv .mainArea {
    height: calc(100vh - 156px);
    width: 100%;
    background: url("../cmn_img/mv_bg.jpg") no-repeat center center/cover;
    position: relative; }
    @media screen and (max-width: 768px) {
      .topPage .mv .mainArea {
        height: auto;
        padding-top: 120%;
        background-position: center right 29%; } }
    .topPage .mv .mainArea .txWrap {
      position: absolute;
      top: 47%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      width: 90%;
      max-width: 780px;
      text-align: center; }
      @media screen and (max-width: 768px) {
        .topPage .mv .mainArea .txWrap {
          top: 50%; } }
      .topPage .mv .mainArea .txWrap .main {
        max-width: 579px;
        width: 100%;
        margin: 0 auto;
        margin-bottom: 30px; }
        @media screen and (max-width: 768px) {
          .topPage .mv .mainArea .txWrap .main {
            margin-bottom: 20px; } }

.topPage .sec01 {
  padding: 80px 0;
  font-size: 0;
  position: relative; }
  @media screen and (max-width: 768px) {
    .topPage .sec01 {
      padding: 65px 0; } }
  .topPage .sec01::before {
    content: "CONCEPT";
    position: absolute;
    color: #f0f6f5;
    font-size: 12.0rem;
    font-family: 'Sorts Mill Goudy', serif;
    line-height: 1;
    top: 130px;
    left: -10px;
    width: 100%; }
    @media screen and (max-width: 768px) {
      .topPage .sec01::before {
        font-size: 6.2rem;
        top: 50px;
        text-align: center; } }
  .topPage .sec01 .boxL {
    width: 55%;
    display: inline-block;
    vertical-align: middle; }
    @media screen and (max-width: 768px) {
      .topPage .sec01 .boxL {
        width: 100%;
        text-align: center; } }
    .topPage .sec01 .boxL .subCopy {
      font-family: 'Noto Serif JP', serif;
      letter-spacing: 0.08em;
      display: inline-block;
      position: relative;
      font-weight: 500;
      font-size: 1.8rem; }
      @media screen and (max-width: 768px) {
        .topPage .sec01 .boxL .subCopy {
          font-size: 1.4rem; } }
      .topPage .sec01 .boxL .subCopy::before {
        content: "";
        position: absolute;
        bottom: 12px;
        right: -85px;
        width: 60px;
        height: 1px;
        background: #111; }
        @media screen and (max-width: 768px) {
          .topPage .sec01 .boxL .subCopy::before {
            content: none; } }
    .topPage .sec01 .boxL .copy {
      font-size: 3.4rem;
      letter-spacing: 0.08em;
      font-weight: 500;
      line-height: 1.7;
      margin-top: 8px; }
      @media screen and (max-width: 1199px) {
        .topPage .sec01 .boxL .copy {
          font-size: 3.0rem;
          margin-top: 3px; } }
      @media screen and (max-width: 768px) {
        .topPage .sec01 .boxL .copy {
          font-size: 2.4rem; } }
      .topPage .sec01 .boxL .copy span {
        display: block;
        color: #4ecbb9;
        font-family: 'Sorts Mill Goudy', serif;
        font-size: 1.5rem;
        letter-spacing: 0;
        margin-top: 10px; }
        @media screen and (max-width: 768px) {
          .topPage .sec01 .boxL .copy span {
            font-size: 1.3rem; } }
    .topPage .sec01 .boxL .tx {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 1.6rem;
      letter-spacing: 0.06em;
      margin-top: 20px;
      line-height: 2.5; }
      @media screen and (max-width: 768px) {
        .topPage .sec01 .boxL .tx {
          font-size: 1.4rem;
          text-align: left;
          line-height: 2.2;
          margin-top: 15px; } }
  .topPage .sec01 .boxR {
    width: 45%;
    display: inline-block;
    vertical-align: middle; }
    @media screen and (max-width: 768px) {
      .topPage .sec01 .boxR {
        width: 100%;
        text-align: center;
        margin-top: 25px; } }

.topPage .sec02 {
  position: relative; }
  .topPage .sec02::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 53%;
    background: url("../cmn_img/sec02_bg.jpg") no-repeat center center/cover;
    z-index: -1; }
    @media screen and (max-width: 768px) {
      .topPage .sec02::before {
        height: 50%; } }
  .topPage .sec02 .recoList {
    text-align: center;
    margin-top: 30px; }
    .topPage .sec02 .recoList > li:nth-child(2n) {
      margin-top: 45px; }
      @media screen and (max-width: 768px) {
        .topPage .sec02 .recoList > li:nth-child(2n) {
          margin-top: 0; } }
    .topPage .sec02 .recoList > li .ttl {
      margin-top: 20px;
      font-family: 'Noto Serif JP', serif;
      font-size: 1.6rem;
      letter-spacing: 0.05em;
      line-height: 1.8;
      font-weight: 500; }
      @media screen and (max-width: 768px) {
        .topPage .sec02 .recoList > li .ttl {
          font-size: 1.3rem;
          margin-top: 10px; } }

.topPage .secCv {
  background: url("../cmn_img/cv_bg.jpg") no-repeat center center/cover;
  padding: 60px 0 80px;
  text-align: center; }
  @media screen and (max-width: 768px) {
    .topPage .secCv {
      padding: 45px 0 50px; } }
  .topPage .secCv .mainTtl {
    width: 234px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      .topPage .secCv .mainTtl {
        width: 180px; } }
  .topPage .secCv .readTx {
    color: #fff;
    font-family: 'Noto Serif JP', serif;
    font-size: 1.6rem; }
    @media screen and (max-width: 768px) {
      .topPage .secCv .readTx {
        font-size: 1.4rem; } }
  .topPage .secCv .cvList {
    margin-top: 30px; }
    @media screen and (max-width: 768px) {
      .topPage .secCv .cvList {
        margin-top: 20px; } }
    .topPage .secCv .cvList .sub {
      font-family: 'Noto Sans JP', sans-serif;
      line-height: 1.7;
      color: #fff;
      margin-top: 15px;
      font-size: 1.3rem; }
      @media screen and (max-width: 768px) {
        .topPage .secCv .cvList .sub {
          font-size: 1.1rem; } }
    .topPage .secCv .cvList > li.online a {
      background-color: #384342; }
    @media screen and (max-width: 768px) {
      .topPage .secCv .cvList > li.resson {
        width: 100%; } }
    @media screen and (max-width: 768px) {
      .topPage .secCv .cvList > li.resson .wrap .tx {
        font-size: 1.3rem; } }

.topPage .sec03 .featureList {
  margin-top: 80px; }
  @media screen and (max-width: 768px) {
    .topPage .sec03 .featureList {
      margin-top: 70px; } }
  .topPage .sec03 .featureList > li {
    position: relative;
    margin-bottom: 130px; }
    @media screen and (max-width: 768px) {
      .topPage .sec03 .featureList > li {
        margin-bottom: 80px; } }
    .topPage .sec03 .featureList > li::before {
      content: "";
      position: absolute;
      left: 0;
      top: -15%;
      width: 0;
      opacity: 0.5;
      height: 130%;
      background: #e6ebeb;
      -webkit-transition: all .8s ease-in-out;
      -o-transition: all .8s ease-in-out;
      transition: all .8s ease-in-out; }
      @media screen and (max-width: 768px) {
        .topPage .sec03 .featureList > li::before {
          height: auto;
          padding-top: 45%;
          top: -35px; } }
    .topPage .sec03 .featureList > li .inr {
      overflow: hidden;
      zoom: 1;
      position: relative;
      z-index: 1; }
      .topPage .sec03 .featureList > li .inr .flL {
        float: left; }
        @media screen and (max-width: 768px) {
          .topPage .sec03 .featureList > li .inr .flL {
            float: none; } }
      .topPage .sec03 .featureList > li .inr .flR {
        float: right; }
        @media screen and (max-width: 768px) {
          .topPage .sec03 .featureList > li .inr .flR {
            float: none; } }
      .topPage .sec03 .featureList > li .inr .imgBox {
        width: 47%;
        position: relative; }
        @media screen and (max-width: 768px) {
          .topPage .sec03 .featureList > li .inr .imgBox {
            width: 100%; } }
        .topPage .sec03 .featureList > li .inr .imgBox::before {
          content: "";
          position: absolute;
          top: 50%;
          right: -6%;
          width: 15%;
          height: 2px;
          background: #4ecbb9;
          z-index: 9; }
          @media screen and (max-width: 768px) {
            .topPage .sec03 .featureList > li .inr .imgBox::before {
              top: auto;
              bottom: -20px;
              left: 50%;
              width: 2px;
              height: 45px; } }
      .topPage .sec03 .featureList > li .inr .txBox {
        width: 47%;
        display: table; }
        @media screen and (max-width: 768px) {
          .topPage .sec03 .featureList > li .inr .txBox {
            width: 100%;
            margin-top: 25px; } }
        .topPage .sec03 .featureList > li .inr .txBox .wrap {
          display: table-cell;
          vertical-align: middle; }
          @media screen and (max-width: 768px) {
            .topPage .sec03 .featureList > li .inr .txBox .wrap {
              text-align: center; } }
          @media screen and (max-width: 768px) {
            .topPage .sec03 .featureList > li .inr .txBox .wrap .enTx {
              -webkit-transform: scale(0.9);
              -ms-transform: scale(0.9);
              transform: scale(0.9); } }
          .topPage .sec03 .featureList > li .inr .txBox .wrap .copy {
            margin-top: 10px; }
            @media screen and (max-width: 768px) {
              .topPage .sec03 .featureList > li .inr .txBox .wrap .copy {
                margin-top: 5px; } }
            .topPage .sec03 .featureList > li .inr .txBox .wrap .copy span {
              background: -webkit-gradient(linear, left top, left bottom, color-stop(75%, transparent), color-stop(60%, #e6f3f3));
              background: -webkit-linear-gradient(transparent 75%, #e6f3f3 60%);
              background: -o-linear-gradient(transparent 75%, #e6f3f3 60%);
              background: linear-gradient(transparent 75%, #e6f3f3 60%);
              font-size: 2.2rem;
              line-height: 1.8;
              font-weight: 500; }
              @media screen and (max-width: 768px) {
                .topPage .sec03 .featureList > li .inr .txBox .wrap .copy span {
                  font-size: 1.6rem; } }
          .topPage .sec03 .featureList > li .inr .txBox .wrap .star {
            width: 146px;
            margin-top: 5px; }
            @media screen and (max-width: 768px) {
              .topPage .sec03 .featureList > li .inr .txBox .wrap .star {
                width: 120px;
                margin: 0 auto; } }
          .topPage .sec03 .featureList > li .inr .txBox .wrap .txWrap {
            background: url("../cmn_img/sec03_ptn.png") repeat;
            margin-top: 30px; }
            @media screen and (max-width: 768px) {
              .topPage .sec03 .featureList > li .inr .txBox .wrap .txWrap {
                background-image: url("../cmn_img/sec03_ptn_sp.png");
                margin-top: 17px; } }
            .topPage .sec03 .featureList > li .inr .txBox .wrap .txWrap .tx {
              font-size: 1.4rem;
              line-height: 2.8;
              padding-bottom: 5px;
              font-family: 'Noto Sans JP', sans-serif; }
              @media screen and (max-width: 768px) {
                .topPage .sec03 .featureList > li .inr .txBox .wrap .txWrap .tx {
                  font-size: 1.3rem;
                  text-align: left;
                  line-height: 2.45; } }
    .topPage .sec03 .featureList > li:nth-child(2n)::before {
      left: auto;
      right: 0; }
    .topPage .sec03 .featureList > li:nth-child(2n) .imgBox::before {
      right: auto;
      left: -6%; }
      @media screen and (max-width: 768px) {
        .topPage .sec03 .featureList > li:nth-child(2n) .imgBox::before {
          left: 50%; } }
    .topPage .sec03 .featureList > li.last {
      margin-bottom: 0; }
    .topPage .sec03 .featureList > li.active::before {
      width: 30%;
      opacity: 1; }
      @media screen and (max-width: 768px) {
        .topPage .sec03 .featureList > li.active::before {
          width: 75%; } }

.topPage .sec04 {
  background: #e6ebeb; }
  .topPage .sec04 .nyukaiTx {
    font-size: 2.4rem; }
    .topPage .sec04 .nyukaiTx .ttl {
      font-family: 'Noto Sans JP', sans-serif;
      line-height: 1.5;
      display: inline-block;
      vertical-align: middle;
      margin-right: 15px;
      color: #4ecbb9;
      border: 1px solid #4ecbb9;
      font-size: 1.4rem;
      background: #fff;
      padding: 0 8px;
      margin-bottom: 8px; }
  @media screen and (max-width: 768px) {
    .topPage .sec04 .tbl tr th, .topPage .sec04 .tbl tr td {
      display: table-cell;
      font-size: 1.2rem; } }
  .topPage .sec04 .bnr {
    max-width: 500px;
    width: 100%;
    margin: 30px auto 0; }
    .topPage .sec04 .bnr a {
      display: block; }
      .topPage .sec04 .bnr a:hover {
        opacity: 0.8; }
  .topPage .sec04 .cvList {
    margin-top: 50px; }
    @media screen and (max-width: 768px) {
      .topPage .sec04 .cvList > li.resson {
        width: 100%; } }
    .topPage .sec04 .cvList > li.resson a {
      background: #d8e2e2;
      border: none; }
      .topPage .sec04 .cvList > li.resson a .wrap {
        background-image: url("/lib/cmn_img/arw.png"); }
        .topPage .sec04 .cvList > li.resson a .wrap .tx {
          color: #111; }
          @media screen and (max-width: 768px) {
            .topPage .sec04 .cvList > li.resson a .wrap .tx {
              font-size: 1.3rem; } }
    @media screen and (max-width: 768px) {
      .topPage .sec04 .cvList > li.reserve {
        margin-right: 2%; } }
    .topPage .sec04 .cvList > li.reserve a {
      border: 1px solid #fff; }
  .topPage .sec04 .machineList {
    margin-top: 50px;
    text-align: center; }
    .topPage .sec04 .machineList > li {
      padding: 30px 15px;
      background: #fff;
      position: relative; }
      @media screen and (max-width: 768px) {
        .topPage .sec04 .machineList > li {
          width: 100%;
          margin: 0 0 20px;
          padding: 25px 10px; } }
      .topPage .sec04 .machineList > li::before {
        content: "";
        position: absolute;
        top: 0;
        left: 50%;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%);
        width: 20%;
        height: 5px;
        background: #4ecbb9; }
      .topPage .sec04 .machineList > li .ttl {
        font-size: 2.4rem;
        line-height: 1.5; }
        @media screen and (max-width: 768px) {
          .topPage .sec04 .machineList > li .ttl {
            font-size: 1.8rem; } }
      .topPage .sec04 .machineList > li .img {
        margin: 20px 0; }
        @media screen and (max-width: 768px) {
          .topPage .sec04 .machineList > li .img {
            margin: 15px 0; } }
      .topPage .sec04 .machineList > li .txWrap {
        width: 90%;
        margin: 0 auto;
        text-align: left; }
        @media screen and (max-width: 768px) {
          .topPage .sec04 .machineList > li .txWrap {
            width: 95%; } }
        .topPage .sec04 .machineList > li .txWrap .tx {
          font-size: 1.4rem;
          font-family: 'Noto Sans JP', sans-serif;
          line-height: 1.8; }
          @media screen and (max-width: 768px) {
            .topPage .sec04 .machineList > li .txWrap .tx {
              font-size: 1.2rem; } }

.topPage .sec05 {
  font-size: 0; }
  .topPage .sec05 .boxL {
    width: 37%;
    margin-right: 3%;
    display: inline-block;
    vertical-align: middle; }
    @media screen and (max-width: 768px) {
      .topPage .sec05 .boxL {
        width: 100%;
        margin-right: 0;
        text-align: center; } }
    .topPage .sec05 .boxL .tx01 {
      font-weight: 500;
      font-size: 2.4rem; }
      @media screen and (max-width: 768px) {
        .topPage .sec05 .boxL .tx01 {
          font-size: 1.7rem; } }
    .topPage .sec05 .boxL .tx02 {
      font-size: 1.5rem;
      margin-top: 5px;
      font-family: 'Noto Sans JP', sans-serif; }
      @media screen and (max-width: 768px) {
        .topPage .sec05 .boxL .tx02 {
          font-size: 1.3rem;
          line-height: 1.7; } }
    .topPage .sec05 .boxL .tbl {
      font-size: 1.5rem;
      margin-top: 10px; }
      @media screen and (max-width: 768px) {
        .topPage .sec05 .boxL .tbl {
          font-size: 1.3rem;
          text-align: left; } }
      .topPage .sec05 .boxL .tbl tr th, .topPage .sec05 .boxL .tbl tr td {
        font-family: 'Noto Sans JP', sans-serif;
        padding: 3px 0; }
      .topPage .sec05 .boxL .tbl tr th span {
        line-height: 1.8;
        display: block;
        border: 1px solid #4ecbb9;
        color: #4ecbb9;
        text-align: center; }
      .topPage .sec05 .boxL .tbl tr td {
        padding-left: 10px; }
    .topPage .sec05 .boxL .tx03 {
      font-size: 1.2rem;
      color: #999999;
      margin-top: 10px;
      font-family: 'Noto Sans JP', sans-serif; }
      @media screen and (max-width: 768px) {
        .topPage .sec05 .boxL .tx03 {
          font-size: 1.1rem;
          text-align: left;
          margin-top: 0; } }
  .topPage .sec05 .boxR {
    width: 60%;
    display: inline-block;
    vertical-align: middle; }
    @media screen and (max-width: 768px) {
      .topPage .sec05 .boxR {
        width: 100%;
        margin-top: 25px; } }
  .topPage .sec05 .btn a {
    margin: 25px auto 0 0; }
    @media screen and (max-width: 768px) {
      .topPage .sec05 .btn a {
        margin: 30px auto 0 auto; } }

.topPage .sec06 {
  background: url("../cmn_img/sec06_bg.jpg") no-repeat center center/cover; }
  @media screen and (max-width: 768px) {
    .topPage .sec06 {
      background-image: url("../cmn_img/sec06_bg_sp.jpg"); } }
  @media screen and (max-width: 768px) {
    .topPage .sec06 .secReadTx {
      text-align: center; } }
  .topPage .sec06 .checkList {
    margin-top: 10px;
    text-align: center;
    margin-bottom: 30px; }
    .topPage .sec06 .checkList > li {
      display: inline-block;
      vertical-align: middle;
      margin-right: 30px;
      font-size: 1.6rem;
      font-family: 'Noto Sans JP', sans-serif;
      padding-left: 38px;
      background: url("../cmn_img/sec06_icon01.png") no-repeat center left/28px 28px; }
      @media screen and (max-width: 768px) {
        .topPage .sec06 .checkList > li {
          margin: 0 15px;
          font-size: 1.4rem;
          padding-left: 28px;
          background-size: 22px 22px; } }
      .topPage .sec06 .checkList > li.last {
        margin-right: 0; }
