@charset "UTF-8";
/*----------------------------------------------------
☆topPage
----------------------------------------------------*/
.topPage p, .topPage ul li, .topPage h1, .topPage h2 {
  color: #fff; }

.topPage .invoiceSec {
  background: -webkit-gradient(linear, left top, right top, from(#111), to(#000));
  background: -webkit-linear-gradient(left, #111, #000);
  background: -o-linear-gradient(left, #111, #000);
  background: linear-gradient(to right, #111, #000);
  border-bottom: 1px solid #333;
 } 
  .topPage .invoiceSec .btnStyle_03 a {
     border: 1px solid #fff; } 

.topPage .mv {
  position: relative;
  width: 100%;
  height: 100vh; }
  @media screen and (max-width: 768px) {
    .topPage .mv {
      height: auto;
      width: calc(100% - 40px);
      margin: 0 auto; } }
  .topPage .mv .movieWrap {
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 55%;
    height: auto; }
    @media screen and (max-width: 768px) {
      .topPage .mv .movieWrap {
        position: static;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
        width: 100%;
        margin: 40px auto 0 auto; } }
    .topPage .mv .movieWrap .video {
      width: 100%; }
  .topPage .mv .mainCopy {
    position: absolute;
    top: 35%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    max-width: 1200px;
    width: calc(100% - 80px);
    z-index: 9; }
    @media screen and (max-width: 768px) {
      .topPage .mv .mainCopy {
        position: static;
        -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
        transform: translate(0, 0);
        text-align: center;
        margin-top: 30px;
        width: 100%; } }
    .topPage .mv .mainCopy .jaTx {
      font-size: 6.0rem;
      display: inline-block;
      line-height: 1;
      position: relative; }
 @media screen and (max-width: 1200px) {
        .topPage .mv .mainCopy .jaTx {
          font-size: 4rem; } }
      @media screen and (max-width: 768px) {
        .topPage .mv .mainCopy .jaTx {
          text-align: center;
          font-size: 2.6rem; } }
      .topPage .mv .mainCopy .jaTx::before {
        content: "";
        position: absolute;
        bottom: -15px;
        height: 5px;
        background: #fff;
        width: 100%; }
    .topPage .mv .mainCopy .enTx {
      display: block;
      font-size: 1.6rem;
      margin-top: 30px;
      letter-spacing: 0.05em; }
  .topPage .mv .subCopy {
    position: absolute;
    bottom: 10%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    max-width: 1200px;
    width: calc(100% - 80px);
    z-index: 9;
    font-size: 13.0rem;
    line-height: 1;
    letter-spacing: 0.15em; }
    @media screen and (max-width: 1200px) {
      .topPage .mv .subCopy {
        font-size: 11.0rem; } }
@media screen and (max-width: 1200px) {
      .topPage .mv .subCopy {
        font-size: 9rem; } }
    @media screen and (max-width: 768px) {
      .topPage .mv .subCopy {
        text-align: center;
        position: static;
        -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
        transform: translateX(0);
        font-size: 4.4rem;
        margin-top: 15px;
        letter-spacing: 0.1em;
        line-height: 1.15;
        width: 100%; } }

.topPage .sec01 {
  margin-top: 100px; }
  @media screen and (max-width: 768px) {
    .topPage .sec01 {
      margin-top: 70px; } }
  .topPage .sec01 .boxList {
    font-size: 0; }
    .topPage .sec01 .boxList > li {
      width: 47%;
      display: inline-block;
      vertical-align: top;
      position: relative; }
      @media screen and (max-width: 768px) {
        .topPage .sec01 .boxList > li {
          width: 100%; } }
      .topPage .sec01 .boxList > li:nth-child(1) {
        margin-right: 6%; }
        @media screen and (max-width: 768px) {
          .topPage .sec01 .boxList > li:nth-child(1) {
            margin-right: 0; } }
        .topPage .sec01 .boxList > li:nth-child(1) .imgBox span::after {
          background-image: url("../cmn_img/top/sec01_img01.jpg"); }
      .topPage .sec01 .boxList > li:nth-child(2) {
        margin-top: 120px; }
        @media screen and (max-width: 768px) {
          .topPage .sec01 .boxList > li:nth-child(2) {
            margin-top: 50px; } }
        .topPage .sec01 .boxList > li:nth-child(2) .imgBox span::after {
          background-image: url("../cmn_img/top/sec01_img02.jpg"); }
      .topPage .sec01 .boxList > li .imgBox {
        width: calc(100% - 120px);
        margin: 0 0 0 auto; }
        @media screen and (max-width: 768px) {
          .topPage .sec01 .boxList > li .imgBox {
            width: calc(100% - 70px); } }
        .topPage .sec01 .boxList > li .imgBox span {
          padding-top: 100%; }
      .topPage .sec01 .boxList > li .txBox {
        position: absolute;
        bottom: 10%;
        left: 50%;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%);
        width: 100%; }
        @media screen and (max-width: 768px) {
          .topPage .sec01 .boxList > li .txBox {
            bottom: -20px;
            -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
            transform: translateX(-50%); } }
        .topPage .sec01 .boxList > li .txBox .pageTtl .enTx {
          font-size: 7.4rem;
          color: #fff;
          position: relative;
          display: inline-block;
          line-height: 1; }
          @media screen and (max-width: 1200px) {
            .topPage .sec01 .boxList > li .txBox .pageTtl .enTx {
              font-size: 5.0rem; } }
          @media screen and (max-width: 768px) {
            .topPage .sec01 .boxList > li .txBox .pageTtl .enTx {
              font-size: 3.6rem; } }
          .topPage .sec01 .boxList > li .txBox .pageTtl .enTx::before {
            content: "";
            position: absolute;
            bottom: -1px;
            left: 0;
            width: 100%;
            height: 4px;
            background: #fff; }
            @media screen and (max-width: 768px) {
              .topPage .sec01 .boxList > li .txBox .pageTtl .enTx::before {
                bottom: -4px; } }
        .topPage .sec01 .boxList > li .txBox .pageTtl .jaTx {
          display: block;
          font-size: 1.6rem;
          margin-top: 15px; }
          @media screen and (max-width: 768px) {
            .topPage .sec01 .boxList > li .txBox .pageTtl .jaTx {
              font-size: 1.4rem;
              margin-top: 10px; } }
        .topPage .sec01 .boxList > li .txBox .copy {
          font-size: 2.6rem;
          margin-top: 20px;
          line-height: 1.6; }
          @media screen and (max-width: 1200px) {
            .topPage .sec01 .boxList > li .txBox .copy {
              font-size: 2.0rem; } }
          @media screen and (max-width: 768px) {
            .topPage .sec01 .boxList > li .txBox .copy {
              font-size: 1.6rem;
              margin-top: 15px; } }
        .topPage .sec01 .boxList > li .txBox .btn {
          margin-top: 30px; }
          @media screen and (max-width: 768px) {
            .topPage .sec01 .boxList > li .txBox .btn {
              margin-top: 20px; } }

.topPage .sec02 {
  margin-top: 120px;
  position: relative; }
  @media screen and (max-width: 768px) {
    .topPage .sec02 {
      margin-top: 100px; } }
  .topPage .sec02 .imgBox {
    width: 100%;
    padding-top: 80px; }
    @media screen and (max-width: 768px) {
      .topPage .sec02 .imgBox {
        padding-top: 0; } }
    .topPage .sec02 .imgBox span {
      width: 55%;
      background: url("../cmn_img/top/sec02_img01.jpg") no-repeat center center/cover;
      display: block;
      height: calc(100% + 120px);
      margin: 0 0 0 auto; }
      @media screen and (max-width: 768px) {
        .topPage .sec02 .imgBox span {
          width: calc(100% - 80px);
          height: 200px;
          margin: 0 auto 0 20px; } }
  .topPage .sec02 .txBox {
    max-width: 1200px;
    width: calc(100% - 60px);
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 99; }
    @media screen and (max-width: 768px) {
      .topPage .sec02 .txBox {
        position: static;
        -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
        transform: translateX(0);
        margin: -40px 20px 0 auto;
        width: calc(100% - 80px); } }
    .topPage .sec02 .txBox .wrap {
      width: 50%;
      border: 4px solid #fff;
      padding: 50px 40px; }
     @media screen and (max-width: 1200px) {
        .topPage .sec02 .txBox .wrap {
         padding: 20px 20px; } }
      @media screen and (max-width: 768px) {
        .topPage .sec02 .txBox .wrap {
          width: 100%;
          padding: 25px 20px; } }
      .topPage .sec02 .txBox .wrap .secTtl {
        display: inline-block;
        font-size: 7.4rem;
        position: relative;
        line-height: 1; }
        @media screen and (max-width: 1200px) {
          .topPage .sec02 .txBox .wrap .secTtl {
            font-size: 5rem; } }
        @media screen and (max-width: 768px) {
          .topPage .sec02 .txBox .wrap .secTtl {
            font-size: 3.6rem; } }
        .topPage .sec02 .txBox .wrap .secTtl::before {
          content: "";
          position: absolute;
          bottom: -5px;
          left: 0;
          width: 100%;
          height: 3px;
          background: #fff; }
      .topPage .sec02 .txBox .wrap .copy {
        font-size: 4.8rem;
        line-height: 1.3;
        margin-top: 30px;
        padding-top: 25px;
        background: url("../cmn_img/top/sec02_item01.png") no-repeat left top/21px 17px;
        color: #fff; }
        @media screen and (max-width: 1200px) {
          .topPage .sec02 .txBox .wrap .copy {
            font-size: 3.0rem; } }
        @media screen and (max-width: 768px) {
          .topPage .sec02 .txBox .wrap .copy {
            font-size: 2.4rem;
            background-size: 16px 13px;
            padding-top: 18px;
            margin-top: 18px; } }
      .topPage .sec02 .txBox .wrap .btn {
        margin-top: 30px; }
        @media screen and (max-width: 768px) {
          .topPage .sec02 .txBox .wrap .btn {
            margin-top: 10px; } }
      .topPage .sec02 .txBox .wrap .jaTx {
        display: block;
        font-size: 1.6rem;
        margin-top: 15px;
        color: #fff;
          }
        @media screen and (max-width: 768px) {
          .topPage .sec02 .txBox .wrap .jaTx {
            font-size: 1.4rem;
            margin-top: 10px; } }
              
.topPage .sec03 {
  margin-top: 260px; }
  @media screen and (max-width: 768px) {
    .topPage .sec03 {
      margin-top: 100px; } }
  .topPage .sec03 .wrap {
    position: relative;
    margin-bottom: 60px; }
    @media screen and (max-width: 768px) {
      .topPage .sec03 .wrap {
        margin-bottom: 40px; } }
    .topPage .sec03 .wrap .secTtl {
      font-size: 5.0rem;
      position: relative;
      display: inline-block;
      line-height: 1; }
      @media screen and (max-width: 768px) {
        .topPage .sec03 .wrap .secTtl {
          font-size: 2.8rem; } }
      .topPage .sec03 .wrap .secTtl::before {
        content: "";
        position: absolute;
        bottom: 5px;
        right: -100px;
        width: 80px;
        height: 2px;
        background: #fff; }
        @media screen and (max-width: 768px) {
          .topPage .sec03 .wrap .secTtl::before {
            width: 40px;
            right: -51px; } }
    .topPage .sec03 .wrap #slickArw .slick-prev, .topPage .sec03 .wrap #slickArw .slick-next {
      background: no-repeat center center / cover;
      top: 25px;
      width: 25px;
      height: 10px;
      position: absolute;
      padding: 5px 0; }
      @media screen and (max-width: 768px) {
        .topPage .sec03 .wrap #slickArw .slick-prev, .topPage .sec03 .wrap #slickArw .slick-next {
          top: 14px; } }
      .topPage .sec03 .wrap #slickArw .slick-prev:hover, .topPage .sec03 .wrap #slickArw .slick-next:hover {
        opacity: 0.8; }
    .topPage .sec03 .wrap #slickArw .slick-prev {
      background-image: url("../cmn_img/arw-l.png");
      right: 135px;
      left: auto; }
      @media screen and (max-width: 768px) {
        .topPage .sec03 .wrap #slickArw .slick-prev {
          right: 45px; } }
    .topPage .sec03 .wrap #slickArw .slick-next {
      background-image: url("../cmn_img/arw-r.png");
      right: 90px; }
      @media screen and (max-width: 768px) {
        .topPage .sec03 .wrap #slickArw .slick-next {
          right: 0; } }
    .topPage .sec03 .wrap .allBtn {
      position: absolute;
      right: 0;
      top: -3px;
      width: 60px;
      height: 60px; }
      .topPage .sec03 .wrap .allBtn a {
        display: block;
        width: 100%;
        height: 100%;
        background: #fff url("../cmn_img/icon_all.png") no-repeat center center/15px 3px;
        border-radius: 90px; }
        .topPage .sec03 .wrap .allBtn a:hover {
          background-color: #000;
          background-image: url("../cmn_img/icon_all_wh.png"); }
  .topPage .sec03 .cmn_columnList {
    margin-left: 7.5vw; }
    @media screen and (max-width: 1200px) {
      .topPage .sec03 .cmn_columnList {
        margin-left: 20px; } }
    .topPage .sec03 .cmn_columnList .slide {
      width: 460px !important;
      margin-right: 40px;
      text-align: left;
      -webkit-transition: all .3s ease-in-out;
      -o-transition: all .3s ease-in-out;
      transition: all .3s ease-in-out; }
      @media screen and (max-width: 768px) {
        .topPage .sec03 .cmn_columnList .slide {
          width: 200px !important;
          margin-right: 20px; } }
      .topPage .sec03 .cmn_columnList .slide .day {
        color: #fff; }

.topPage .sec04 {
  margin-top: 120px; }
  @media screen and (max-width: 768px) {
    .topPage .sec04 {
      margin-top: 70px; } }
  .topPage .sec04 .linkList {
    font-size: 0;
    padding-bottom: 30px;
    background: -webkit-gradient(linear, left top, right top, from(#111), to(#000));
    background: -webkit-linear-gradient(left, #111, #000);
    background: -o-linear-gradient(left, #111, #000);
    background: linear-gradient(to right, #111, #000); }
    .topPage .sec04 .linkList > li {
      width: 50%;
      display: inline-block;
      vertical-align: top;
      position: relative; }
      .topPage .sec04 .linkList > li:hover .imgBox::before {
        opacity: 0.3; }
      .topPage .sec04 .linkList > li:nth-child(1) .imgBox::after {
        background-image: url("../cmn_img/top/sec04_img01.jpg"); }
      .topPage .sec04 .linkList > li:nth-child(2) .imgBox::after {
        background-image: url("../cmn_img/top/sec04_img02.jpg"); }
      .topPage .sec04 .linkList > li .imgBox {
        height: 260px; }
        @media screen and (max-width: 768px) {
          .topPage .sec04 .linkList > li .imgBox {
            height: auto;
            padding-top: 100%; } }
        .topPage .sec04 .linkList > li .imgBox::before {
          content: "";
          position: absolute;
          left: 0;
          top: 0;
          width: 100%;
          height: 100%;
          background: #000;
          opacity: 0;
          z-index: 1;
          -webkit-transition: all .3s ease-in-out;
          -o-transition: all .3s ease-in-out;
          transition: all .3s ease-in-out; }
      .topPage .sec04 .linkList > li .pageTtl {
        position: absolute;
        top: 50%;
        left: 50px;
        width: calc(100% - 100px);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        z-index: 9; }
        @media screen and (max-width: 768px) {
          .topPage .sec04 .linkList > li .pageTtl {
            top: 40%;
            left: 20px;
            width: calc(100% - 40px); } }
        .topPage .sec04 .linkList > li .pageTtl .enTx {
          font-size: 4.0rem;
          color: #fff;
          position: relative;
          display: inline-block;
          line-height: 1; }
          @media screen and (max-width: 768px) {
            .topPage .sec04 .linkList > li .pageTtl .enTx {
              font-size: 2.2rem; } }
          .topPage .sec04 .linkList > li .pageTtl .enTx::before {
            content: "";
            position: absolute;
            bottom: -4px;
            width: 100%;
            height: 3px;
            background: #fff; }
        .topPage .sec04 .linkList > li .pageTtl .jaTx {
          font-size: 1.8rem;
          display: block;
          margin-top: 7px; }
          @media screen and (max-width: 768px) {
            .topPage .sec04 .linkList > li .pageTtl .jaTx {
              font-size: 1.3rem; } }
      .topPage .sec04 .linkList > li .btn {
        position: absolute;
        right: 50px;
        bottom: -30px;
        z-index: 9; }
        @media screen and (max-width: 768px) {
          .topPage .sec04 .linkList > li .btn {
            bottom: 25%;
            right: auto;
            left: 20px; } }
        @media screen and (max-width: 768px) {
          .topPage .sec04 .linkList > li .btn a .box {
            width: 35px;
            height: 35px; } }

/*----------------------------------------------------
☆visionPage
----------------------------------------------------*/
.visionPage .sec01 .boxWrap {
  overflow: hidden;
  zoom: 1;
  position: relative; }
  @media screen and (max-width: 768px) {
    .visionPage .sec01 .boxWrap {
      margin-bottom: 60px; } }
  .visionPage .sec01 .boxWrap .txBox {
    width: 45%;
    position: relative;
    z-index: 9; }
    @media screen and (max-width: 768px) {
      .visionPage .sec01 .boxWrap .txBox {
        width: 100%; } }
    .visionPage .sec01 .boxWrap .txBox .copy {
      font-size: 5.0rem;
      color: #fff;
      padding-top: 25px;
      background: url("../cmn_img/vision/sec01_item01.png") no-repeat left top/21px 17px;
      line-height: 1.4; }
      @media screen and (max-width: 768px) {
        .visionPage .sec01 .boxWrap .txBox .copy {
          font-size: 2.6rem; } }
    .visionPage .sec01 .boxWrap .txBox .tx {
      font-size: 2.0rem;
      margin-top: 30px;
      color: #fff;
      line-height: 2.2; }

   @media screen and (max-width: 1240px) {
        .visionPage .sec01 .boxWrap .txBox .copy {
          font-size: 2.5rem; } }
    .visionPage .sec01 .boxWrap .txBox .tx {
      font-size: 1.5rem;
      margin-top: 10px;
      color: #fff;
      line-height: 2.2; }


      @media screen and (max-width: 768px) {
        .visionPage .sec01 .boxWrap .txBox .tx {
          font-size: 1.5rem;
          margin-top: 20px; } }
  .visionPage .sec01 .boxWrap .imgBox {
    width: 60%; }
    @media screen and (max-width: 768px) {
      .visionPage .sec01 .boxWrap .imgBox {
        width: 100%;
        margin-top: 30px !important; } }
  .visionPage .sec01 .boxWrap.box_01 .txBox {
    float: left;
    width: 50%; }
    @media screen and (max-width: 768px) {
      .visionPage .sec01 .boxWrap.box_01 .txBox {
        float: none;
        width: 100%; } }
  .visionPage .sec01 .boxWrap.box_01 .imgBox {
    float: right;
    margin-top: -120px; }
    @media screen and (max-width: 768px) {
      .visionPage .sec01 .boxWrap.box_01 .imgBox {
        float: none;
        margin-top: auto; } }
  .visionPage .sec01 .boxWrap.box_02 {
    margin-top: 120px;
    padding-bottom: 50px; }
    @media screen and (max-width: 768px) {
      .visionPage .sec01 .boxWrap.box_02 {
        margin-top: auto;
        padding-bottom: 0; } }

    @media screen and (max-width: 1240px) {
      .visionPage .sec01 .boxWrap.box_02 {
     
        padding-bottom: 140px; } }

    .visionPage .sec01 .boxWrap.box_02 .txBox {
      position: absolute;
      right: 0;
      top: 180px; }
      @media screen and (max-width: 768px) {
        .visionPage .sec01 .boxWrap.box_02 .txBox {
          position: static; } }
  .visionPage .sec01 .boxWrap.box_03 {
    margin-top: 120px;
    padding-bottom: 130px; }
    @media screen and (max-width: 768px) {
      .visionPage .sec01 .boxWrap.box_03 {
        margin-top: auto;
        padding-bottom: 0; } }
   @media screen and (max-width: 1240px) {
      .visionPage .sec01 .boxWrap.box_03 {
      padding-bottom: 180px; } }

    .visionPage .sec01 .boxWrap.box_03 .txBox {
      position: absolute;
      left: 0;
      top: 220px;
      width: 60%; }
      @media screen and (max-width: 768px) {
        .visionPage .sec01 .boxWrap.box_03 .txBox {
          position: static;
          width: 100%; } }

    .visionPage .sec01 .boxWrap.box_03 .imgBox {
      float: right; }
      @media screen and (max-width: 768px) {
        .visionPage .sec01 .boxWrap.box_03 .imgBox {
          float: none; } }
  .visionPage .sec01 .boxWrap.box_04 {
    margin-top: 40px; }
    @media screen and (max-width: 768px) {
      .visionPage .sec01 .boxWrap.box_04 {
        margin-top: auto; } }
    .visionPage .sec01 .boxWrap.box_04 .txBox {
      position: absolute;
      top: 0;
      right: 0; }
      @media screen and (max-width: 768px) {
        .visionPage .sec01 .boxWrap.box_04 .txBox {
          position: static; } }
    .visionPage .sec01 .boxWrap.box_04 .imgBox {
      margin-top: 180px; }
      @media screen and (max-width: 768px) {
        .visionPage .sec01 .boxWrap.box_04 .imgBox {
          margin-top: auto; } }

   @media screen and (max-width: 1240px) {
  .visionPage .sec01 .boxWrap.box_04 .txBox {
      position: absolute;
      top: 70px;
      right: 0; }}

.visionPage .sec02 {
  margin-top: 140px; }
  @media screen and (max-width: 768px) {
    .visionPage .sec02 {
      margin-top: 80px; } }
  .visionPage .sec02 .copy {
    font-size: 5.0rem;
    text-align: center;
    color: #fff;
    line-height: 1.5;
    margin-bottom: 60px; }
    @media screen and (max-width: 768px) {
      .visionPage .sec02 .copy {
        font-size: 2.4rem;
        margin-bottom: 35px; } }
  .visionPage .sec02 .img {
    text-align: center; }
  .visionPage .sec02 .btnList {
    font-size: 0;
    max-width: 500px;
    margin: 30px auto 0; }
    .visionPage .sec02 .btnList > li {
      width: 48.5%;
      display: inline-block;
      vertical-align: top;
      margin-right: 3%; }
      .visionPage .sec02 .btnList > li:nth-child(2) {
        margin-right: 0; }

/*----------------------------------------------------
☆contactPage
----------------------------------------------------*/
.contactPage .sec01 .formTbl tr th, .contactPage .sec01 .formTbl tr td {
  font-size: 1.5rem; }
  @media screen and (max-width: 768px) {
    .contactPage .sec01 .formTbl tr th, .contactPage .sec01 .formTbl tr td {
      font-size: 1.4rem; } }

.contactPage.thanks .sec01 {
  padding-top: 180px; }
  @media screen and (max-width: 768px) {
    .contactPage.thanks .sec01 {
      padding-top: 30px; } }
  .contactPage.thanks .sec01 .ttl {
    font-size: 2.8rem;
    text-align: center;
    line-height: 1.7;
    position: relative;
    margin-bottom: 50px; }
    @media screen and (max-width: 768px) {
      .contactPage.thanks .sec01 .ttl {
        font-size: 2.2rem; } }
    .contactPage.thanks .sec01 .ttl::before {
      content: "";
      position: absolute;
      bottom: -25px;
      left: 50%;
      margin-left: -25px;
      width: 50px;
      height: 3px;
      background: #452dbf; }
  .contactPage.thanks .sec01 .tx {
    font-size: 1.5rem;
    text-align: center;
    font-weight: 300; }
    @media screen and (max-width: 768px) {
      .contactPage.thanks .sec01 .tx {
        font-size: 1.4rem;
        text-align: left; } }
  .contactPage.thanks .sec01 .btn {
    margin-top: 40px; }

/*----------------------------------------------------
☆aboutPage
----------------------------------------------------*/
.aboutPage .sec00 .ancList {
  font-size: 0; }
  @media screen and (max-width: 768px) {
    .aboutPage .sec00 .ancList {
      text-align: center; } }
  .aboutPage .sec00 .ancList > li {
    width: 15%;
    display: inline-block;
    vertical-align: top;
    margin-right: 2%; }
    @media screen and (max-width: 768px) {
      .aboutPage .sec00 .ancList > li {
        width: 48%;
        margin-right: 4%;
        margin-bottom: 4%; } }
    @media screen and (max-width: 768px) {
      .aboutPage .sec00 .ancList > li:nth-child(2n) {
        margin-right: 0; } }
    .aboutPage .sec00 .ancList > li.last {
      margin-right: 0; }

.aboutPage .sec01 .wrap {
  font-size: 0;
  overflow: hidden;
  zoom: 1; }
  .aboutPage .sec01 .wrap .copy {
    font-size: 4.2rem;
    text-align: center;
    margin-bottom: 50px; }
    @media screen and (max-width: 768px) {
      .aboutPage .sec01 .wrap .copy {
        font-size: 2.6rem;
        line-height: 1.6;
        margin-bottom: 25px; } }
  .aboutPage .sec01 .wrap .txBox {
    width: 55%;
    margin-right: 5%;
    display: inline-block;
    vertical-align: top; }
    @media screen and (max-width: 768px) {
      .aboutPage .sec01 .wrap .txBox {
        width: 100%;
        margin: 0; } }
    .aboutPage .sec01 .wrap .txBox .tx {
      font-size: 1.4rem;
      line-height: 2.2;
      font-weight: 300; }
      @media screen and (max-width: 768px) {
        .aboutPage .sec01 .wrap .txBox .tx {
          font-size: 1.3rem; } }
  .aboutPage .sec01 .wrap .imgBox {
    width: 40%;
    display: inline-block;
    vertical-align: top; }
    @media screen and (max-width: 768px) {
      .aboutPage .sec01 .wrap .imgBox {
        width: 100%;
        margin-top: 30px; } }
  .aboutPage .sec01 .wrap .box_02 {
    margin-top: 60px; }
    @media screen and (max-width: 768px) {
      .aboutPage .sec01 .wrap .box_02 {
        margin-top: 40px; } }
    .aboutPage .sec01 .wrap .box_02 .txBox {
      float: right;
      margin-right: auto; }
      @media screen and (max-width: 768px) {
        .aboutPage .sec01 .wrap .box_02 .txBox {
          float: none; } }
    .aboutPage .sec01 .wrap .box_02 .imgBox {
      float: left; }
      @media screen and (max-width: 768px) {
        .aboutPage .sec01 .wrap .box_02 .imgBox {
          float: none; } }

.aboutPage .sec02 .wrap {
  background: url("../cmn_img/about/sec02_img01.jpg") no-repeat center center/cover;
  padding: 70px 20px;
  text-align: center; }
  @media screen and (max-width: 768px) {
    .aboutPage .sec02 .wrap {
      padding: 40px 20px; } }
  .aboutPage .sec02 .wrap .copy {
    font-size: 3.6rem;
    display: inline-block;
    position: relative;
    line-height: 1;
    text-align: center;
    margin-bottom: 35px; }
    @media screen and (max-width: 768px) {
      .aboutPage .sec02 .wrap .copy {
        font-size: 2.2rem;
        margin-bottom: 25px; } }
    .aboutPage .sec02 .wrap .copy::before {
      content: "";
      position: absolute;
      bottom: -9px;
      width: 100%;
      height: 4px;
      background: #000; }
  .aboutPage .sec02 .wrap .tx {
    font-size: 1.7rem;
    line-height: 2.3;
    font-weight: 300; }
    @media screen and (max-width: 768px) {
      .aboutPage .sec02 .wrap .tx {
        font-size: 1.4rem;
        text-align: left; } }

@media screen and (max-width: 768px) {
  .aboutPage .sec03 .tblStyle_03 tr th {
    padding: 15px 10px 0 10px !important;
    font-size: 1.3rem; } }

.aboutPage .sec03 .tblStyle_03 tr td {
  font-weight: 300; }
  @media screen and (max-width: 768px) {
    .aboutPage .sec03 .tblStyle_03 tr td {
      padding: 3px 10px 15px 10px !important;
      font-size: 1.3rem; } }

.aboutPage .sec04 .box {
  background: #fff;
  border: 3px solid #eee;
  padding: 40px 20px; }
  @media screen and (max-width: 768px) {
    .aboutPage .sec04 .box {
      padding: 20px 15px; } }
  .aboutPage .sec04 .box .tx {
    text-align: center;
    font-size: 1.5rem;
    font-weight: 300; }
    @media screen and (max-width: 768px) {
      .aboutPage .sec04 .box .tx {
        font-size: 1.3rem;
        text-align: left; } }
  .aboutPage .sec04 .box .img {
    max-width: 417px;
    width: 100%;
    margin: 25px auto 0 auto;
    display: block; }

.aboutPage .sec05 tr th, .aboutPage .sec05 tr td {
  font-weight: 300; }
  @media screen and (max-width: 768px) {
    .aboutPage .sec05 tr th, .aboutPage .sec05 tr td {
      font-size: 1.3rem; } }

.aboutPage .sec06 .bdBox {
  border: 3px solid #eee;
  background: #fff;
  padding: 40px 50px 50px;
  margin-top: 50px; }
  @media screen and (max-width: 768px) {
    .aboutPage .sec06 .bdBox {
      padding: 25px 20px 30px; } }

.aboutPage .sec06 .ttlStyle {
  font-size: 2.8rem;
  /*color: $c_blue;*/ }
  @media screen and (max-width: 768px) {
    .aboutPage .sec06 .ttlStyle {
      font-size: 2.2rem;
      text-align: center; } }

.aboutPage .sec06 .txStyle {
  font-size: 1.4rem;
  line-height: 2.1;
  font-weight: 300; }

.aboutPage .sec06 .intrArea {
  font-size: 0; }
  .aboutPage .sec06 .intrArea .txBox {
    width: 56%;
    margin-right: 4%;
    display: inline-block;
    vertical-align: top; }
    @media screen and (max-width: 768px) {
      .aboutPage .sec06 .intrArea .txBox {
        width: 100%;
        margin: 0 0 20px; } }
  .aboutPage .sec06 .intrArea .imgBox {
    width: 40%;
    display: inline-block;
    vertical-align: top; }
    @media screen and (max-width: 768px) {
      .aboutPage .sec06 .intrArea .imgBox {
        width: 100%; } }

.aboutPage .sec06 .torikumiArea {
  text-align: center; }
  .aboutPage .sec06 .torikumiArea .readTx01 {
    font-size: 1.8rem; }
    @media screen and (max-width: 768px) {
      .aboutPage .sec06 .torikumiArea .readTx01 {
        font-size: 1.5rem; } }
  .aboutPage .sec06 .torikumiArea .wrap {
    font-size: 0;
    margin-top: 10px;
    text-align: left; }
    .aboutPage .sec06 .torikumiArea .wrap .txBox {
      width: 60%;
      margin-right: 4%;
      display: inline-block;
      vertical-align: top; }
      @media screen and (max-width: 768px) {
        .aboutPage .sec06 .torikumiArea .wrap .txBox {
          width: 100%;
          margin: 0  0 25px; } }
      .aboutPage .sec06 .torikumiArea .wrap .txBox .readTx02 {
        font-size: 1.8rem; }
        @media screen and (max-width: 768px) {
          .aboutPage .sec06 .torikumiArea .wrap .txBox .readTx02 {
            font-size: 1.5rem; } }
      .aboutPage .sec06 .torikumiArea .wrap .txBox li {
        font-weight: 300; }
      .aboutPage .sec06 .torikumiArea .wrap .txBox .iconWrap {
        margin-top: 15px;
        font-size: 0; }
        .aboutPage .sec06 .torikumiArea .wrap .txBox .iconWrap .icon {
          width: 80px;
          margin-right: 25px;
          display: inline-block;
          vertical-align: middle; }
          @media screen and (max-width: 768px) {
            .aboutPage .sec06 .torikumiArea .wrap .txBox .iconWrap .icon {
              width: 80px;
              margin-right: 15px; } }
        .aboutPage .sec06 .torikumiArea .wrap .txBox .iconWrap .tx {
          width: calc(100% - 105px);
          display: inline-block;
          vertical-align: middle;
          font-size: 1.4rem;
          font-weight: 300; }
          @media screen and (max-width: 768px) {
            .aboutPage .sec06 .torikumiArea .wrap .txBox .iconWrap .tx {
              font-size: 1.3rem;
              line-height: 1.8;
              width: calc(100% - 95px); } }
      @media screen and (max-width: 768px) {
        .aboutPage .sec06 .torikumiArea .wrap .txBox .indList li {
          font-size: 1.3rem; } }
      .aboutPage .sec06 .torikumiArea .wrap .txBox table th, .aboutPage .sec06 .torikumiArea .wrap .txBox table td, .aboutPage .sec06 .torikumiArea .wrap .txBox table li {
        font-size: 1.4rem;
        font-weight: 300; }
        @media screen and (max-width: 768px) {
          .aboutPage .sec06 .torikumiArea .wrap .txBox table th, .aboutPage .sec06 .torikumiArea .wrap .txBox table td, .aboutPage .sec06 .torikumiArea .wrap .txBox table li {
            font-size: 1.3rem; } }
    .aboutPage .sec06 .torikumiArea .wrap .imgBox, .aboutPage .sec06 .torikumiArea .wrap .zihanImg {
      width: 36%;
      display: inline-block;
      vertical-align: top;
      text-align: center; }
      @media screen and (max-width: 768px) {
        .aboutPage .sec06 .torikumiArea .wrap .imgBox, .aboutPage .sec06 .torikumiArea .wrap .zihanImg {
          max-width: 200px;
          width: 100%;
          display: block;
          margin: 0 auto; } }

.aboutPage .sec06 .ciesfArea .ttlStyle {
  text-align: center; }

.aboutPage .sec06 .ciesfArea .readTx01 {
  font-size: 1.8rem;
  text-align: center; }
  @media screen and (max-width: 768px) {
    .aboutPage .sec06 .ciesfArea .readTx01 {
      font-size: 1.6rem; } }

.aboutPage .sec06 .ciesfArea .bnrBox {
  display: block;
  width: 440px;
  margin: 20px auto 0; }
  @media screen and (max-width: 768px) {
    .aboutPage .sec06 .ciesfArea .bnrBox {
      width: 100%; } }
  .aboutPage .sec06 .ciesfArea .bnrBox a {
    display: block;
    background: #f3f3f3;
    padding: 15px;
    font-size: 0;
    text-align: center; }
    .aboutPage .sec06 .ciesfArea .bnrBox a .img {
      display: inline-block;
      vertical-align: top;
      margin-right: 15px; }
      @media screen and (max-width: 768px) {
        .aboutPage .sec06 .ciesfArea .bnrBox a .img {
          display: block;
          margin: 0; } }
    .aboutPage .sec06 .ciesfArea .bnrBox a .url {
      font-size: 1.4rem;
      display: inline-block;
      vertical-align: top;
      color: #452dbf;
      margin-top: 4px; }
    .aboutPage .sec06 .ciesfArea .bnrBox a:hover {
      opacity: 0.8; }

.aboutPage .sec06 .messageArea .img {
  padding: 10px;
  width: 380px;
  margin: 0 auto;
  border: 1px solid #ddd; }
  @media screen and (max-width: 768px) {
    .aboutPage .sec06 .messageArea .img {
      width: 100%;
      padding: 0;
      border: 0; } }

.aboutPage .sec06 .messageArea .ttlStyle {
  text-align: center; }

/*----------------------------------------------------
☆newsPage
----------------------------------------------------*/
.newsPage.detail .sec01 {
  padding-top: 180px; }
  @media screen and (max-width: 768px) {
    .newsPage.detail .sec01 {
      padding-top: 40px; } }

/*----------------------------------------------------
☆columnPage
----------------------------------------------------*/
.columnPage.index .cmn_columnList > li {
  margin-bottom: 60px; }
  @media screen and (max-width: 768px) {
    .columnPage.index .cmn_columnList > li {
      margin-bottom: 40px; } }
  @media screen and (max-width: 768px) {
    .columnPage.index .cmn_columnList > li .ttl {
      font-size: 1.3rem; } }

.columnPage.detail .sec01 {
  padding-top: 150px; }
  @media screen and (max-width: 768px) {
    .columnPage.detail .sec01 {
      padding-top: 0; } }
  .columnPage.detail .sec01 .ttlAreaWrap {
    position: relative;
    padding-bottom: 80px;
    margin-bottom: 80px; }
    @media screen and (max-width: 768px) {
      .columnPage.detail .sec01 .ttlAreaWrap {
        padding-bottom: 50px;
        margin-bottom: 50px; } }
    .columnPage.detail .sec01 .ttlAreaWrap::before {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 260px;
      background: #eee;
      z-index: -1; }
      @media screen and (max-width: 768px) {
        .columnPage.detail .sec01 .ttlAreaWrap::before {
          height: 300px; } }
  .columnPage.detail .sec01 .ttlArea {
    position: relative; }
    .columnPage.detail .sec01 .ttlArea .imgBox {
      width: 55%; }
      @media screen and (max-width: 768px) {
        .columnPage.detail .sec01 .ttlArea .imgBox {
          width: 100%; } }
      .columnPage.detail .sec01 .ttlArea .imgBox span {
        width: 100%;
        padding-top: 66%;
        display: block;
        background: no-repeat center center / cover; }
    .columnPage.detail .sec01 .ttlArea .txBox {
      position: absolute;
      top: 50%;
      right: 0%;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
      width: 50%;
      padding: 50px;
      background: #fff;
      min-height: 70%;
      display: table;
      border: 1px solid #ddd; }
      @media screen and (max-width: 768px) {
        .columnPage.detail .sec01 .ttlArea .txBox {
          position: relative;
          -webkit-transform: translateY(0);
          -ms-transform: translateY(0);
          transform: translateY(0);
          min-height: auto;
          padding: 25px 20px;
          z-index: 9;
          width: calc(100% - 40px);
          margin: -25px auto 0; } }
      .columnPage.detail .sec01 .ttlArea .txBox .wrap {
        display: table-cell;
        vertical-align: middle;
        width: 100%; }
      .columnPage.detail .sec01 .ttlArea .txBox .day {
        font-size: 1.4rem;
        color: #999; }
      .columnPage.detail .sec01 .ttlArea .txBox .ttl {
        font-size: 2.4rem;
        line-height: 1.7;
        margin-top: 10px;
        margin-bottom: 15px; }
        @media screen and (max-width: 768px) {
          .columnPage.detail .sec01 .ttlArea .txBox .ttl {
            font-size: 1.8rem;
            margin: 5px 0; } }
  
      .columnPage.detail .sec01 .ttlArea .txBox .tag {
        float: right; width: 30%; text-align: center; 
        text-decoration: none; 
        background: rgb(228, 228, 228); 
        line-height: 1.5; padding: 0.5em; 
        list-style-type: none !important; 
        margin: 0px 0px 0px 1%; border-radius: 0.8em; }
        @media screen and (max-width: 768px) {
          .columnPage.detail .sec01 .ttlArea .txBox .tag {
             width: 25%;} }


.columnPage.detail .sec01 .linkBtnWrap {
    position: relative;
    width: 100%; }
    @media screen and (max-width: 768px) {
      .columnPage.detail .sec01 .linkBtnWrap .btnStyle_03 a {
        max-width: 150px; } }
    .columnPage.detail .sec01 .linkBtnWrap .prev {
      left: 0; }
      .columnPage.detail .sec01 .linkBtnWrap .prev a {
        padding-left: 25px !important; }
        .columnPage.detail .sec01 .linkBtnWrap .prev a::before {
          left: 10px;
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 3.5px 5px 3.5px 0;
          border-color: transparent #000000 transparent transparent; }
    .columnPage.detail .sec01 .linkBtnWrap .next {
      right: 0; }
      .columnPage.detail .sec01 .linkBtnWrap .next a {
        padding-right: 25px !important; }
        .columnPage.detail .sec01 .linkBtnWrap .next a::before {
          right: 10px;
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 3.5px 0 3.5px 5px;
          border-color: transparent transparent transparent #000000; }
    .columnPage.detail .sec01 .linkBtnWrap .btn {
      position: absolute;
      top: 18px; }
      @media screen and (max-width: 768px) {
        .columnPage.detail .sec01 .linkBtnWrap .btn {
          top: 10px; } }
      .columnPage.detail .sec01 .linkBtnWrap .btn a {
        display: block;
        padding: 8px 15px;
        background: #eee;
        font-size: 1.4rem;
        position: relative;
        border: 2px solid #eee; }
        @media screen and (max-width: 768px) {
          .columnPage.detail .sec01 .linkBtnWrap .btn a {
            padding: 5px 15px;
            font-size: 1.3rem; } }
        .columnPage.detail .sec01 .linkBtnWrap .btn a::before {
          content: "";
          position: absolute;
          width: 5px;
          height: 7px;
          top: 19px; }
          @media screen and (max-width: 768px) {
            .columnPage.detail .sec01 .linkBtnWrap .btn a::before {
              top: 15px; } }
        .columnPage.detail .sec01 .linkBtnWrap .btn a:hover {
          background: #fff;
          border-collapse: #000; }

/*----------------------------------------------------
☆privacyPage
----------------------------------------------------*/
.privacyPage .pageTtl .enTx {
  font-size: 6.0rem; }
  @media screen and (max-width: 768px) {
    .privacyPage .pageTtl .enTx {
      font-size: 3.6rem; } }

.privacyPage .sec01 .read {
  text-align: center;
  font-size: 1.5rem; }
  @media screen and (max-width: 768px) {
    .privacyPage .sec01 .read {
      text-align: left;
      font-size: 1.4rem; } }

.privacyPage .sec01 .box {
  background: #fff;
  border: 3px solid #eee;
  padding: 25px;
  margin-top: 40px; }
  .privacyPage .sec01 .box .ttl {
    font-size: 1.6rem;
    margin-bottom: 5px; }
    @media screen and (max-width: 768px) {
      .privacyPage .sec01 .box .ttl {
        font-size: 1.5rem; } }

.privacyPage .sec01 .nmlTx {
  font-size: 1.4rem;
  font-weight: 300; }
  @media screen and (max-width: 768px) {
    .privacyPage .sec01 .nmlTx {
      font-size: 1.3rem; } }

/*----------------------------------------------------
☆worksPage
----------------------------------------------------*/
.worksPage.index .sec01 .cateList {
  margin-bottom: 40px; }
  .worksPage.index .sec01 .cateList > li a {
    display: block;
    background: #eee;
    text-align: center;
    padding: 18px 5px;
    font-size: 1.5rem;
    border: 2px solid #eee; }
    @media screen and (max-width: 768px) {
      .worksPage.index .sec01 .cateList > li a {
        font-size: 1.3rem;
        padding: 15px 5px; } }
    .worksPage.index .sec01 .cateList > li a:hover {
      background: #fff;
      color: #000; }
  .worksPage.index .sec01 .cateList > li.current a {
    background: #452dbf;
    color: #fff;
    position: relative; }
    .worksPage.index .sec01 .cateList > li.current a::before {
      content: "";
      position: absolute;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 10px 10px 0 10px;
      border-color: #452dbf transparent transparent transparent;
      bottom: -10px;
      left: 50%;
      margin-left: -10px; }
      @media screen and (max-width: 768px) {
        .worksPage.index .sec01 .cateList > li.current a::before {
          border-width: 6px 7.5px 0 7.5px;
          bottom: -6px; } }

@media screen and (max-width: 768px) {
  .worksPage.index .sec01 .cmn_columnList li {
    margin-bottom: 40px; } }

.worksPage.detail .sec01 {
  padding-top: 180px; }
  @media screen and (max-width: 768px) {
    .worksPage.detail .sec01 {
      padding-top: 40px; } }
  .worksPage.detail .sec01 .wrap {
    overflow: hidden;
    zoom: 1; }
    .worksPage.detail .sec01 .wrap .boxL {
      float: left;
      width: 47.5%; }
      @media screen and (max-width: 768px) {
        .worksPage.detail .sec01 .wrap .boxL {
          width: 100%;
          float: none;
          margin-top: 30px; } }
      .worksPage.detail .sec01 .wrap .boxL .cate {
        font-size: 1.4rem;
        line-height: 1;
        padding: 8px 10px;
        margin-bottom: 10px;
        font-size: 1.4rem;
        background: #eee;
        display: inline-block; }
      .worksPage.detail .sec01 .wrap .boxL .mainTtl {
        font-size: 2.8rem;
        line-height: 1.6;
        padding-bottom: 20px;
        margin-bottom: 35px;
        border-bottom: 3px solid #eee;
        position: relative; }
        @media screen and (max-width: 768px) {
          .worksPage.detail .sec01 .wrap .boxL .mainTtl {
            font-size: 2.4rem; } }
        .worksPage.detail .sec01 .wrap .boxL .mainTtl::before {
          content: "";
          position: absolute;
          bottom: -3px;
          left: 0;
          width: 80px;
          height: 3px;
          background: #452dbf; }
      .worksPage.detail .sec01 .wrap .boxL .infoTbl {
        margin-top: 25px; }
        .worksPage.detail .sec01 .wrap .boxL .infoTbl tr th {
          width: 20%; }
          @media screen and (max-width: 768px) {
            .worksPage.detail .sec01 .wrap .boxL .infoTbl tr th {
              width: 90px !important; } }
        .worksPage.detail .sec01 .wrap .boxL .infoTbl tr th, .worksPage.detail .sec01 .wrap .boxL .infoTbl tr td {
          font-weight: 300;
          font-size: 1.4rem; }
          @media screen and (max-width: 768px) {
            .worksPage.detail .sec01 .wrap .boxL .infoTbl tr th, .worksPage.detail .sec01 .wrap .boxL .infoTbl tr td {
              display: table-cell; } }
      .worksPage.detail .sec01 .wrap .boxL .grayBox {
        margin-top: 25px;
        padding: 25px;
        background: #f4f4f4; }
        @media screen and (max-width: 768px) {
          .worksPage.detail .sec01 .wrap .boxL .grayBox {
            padding: 20px; } }
        .worksPage.detail .sec01 .wrap .boxL .grayBox .ttl {
          font-size: 1.5em;
          line-height: 1.7; }
        .worksPage.detail .sec01 .wrap .boxL .grayBox .tx {
          font-size: 1.4rem;
          margin-top: 5px;
          font-weight: 300; }
    .worksPage.detail .sec01 .wrap .boxR {
      width: 47.5%;
      float: right; }
      @media screen and (max-width: 768px) {
        .worksPage.detail .sec01 .wrap .boxR {
          width: 100%;
          float: none; } }
      .worksPage.detail .sec01 .wrap .boxR .slider {
        margin: 0; }
        .worksPage.detail .sec01 .wrap .boxR .slider .slick-next, .worksPage.detail .sec01 .wrap .boxR .slider .slick-prev {
          width: 60px;
          height: 180px;
          top: 50%; }
          @media screen and (max-width: 768px) {
            .worksPage.detail .sec01 .wrap .boxR .slider .slick-next, .worksPage.detail .sec01 .wrap .boxR .slider .slick-prev {
              width: 30px;
              height: 90px; } }
        .worksPage.detail .sec01 .wrap .boxR .slider .slick-next {
          background-image: url("../cmn_img/arw-r02.png");
          right: 0; }
        .worksPage.detail .sec01 .wrap .boxR .slider .slick-prev {
          background-image: url("../cmn_img/arw-l02.png");
          left: 0; }
      .worksPage.detail .sec01 .wrap .boxR .thumbnail {
        margin: 20px auto 0;
        text-align: center; }
        @media screen and (max-width: 768px) {
          .worksPage.detail .sec01 .wrap .boxR .thumbnail {
            margin-top: 15px; } }
        .worksPage.detail .sec01 .wrap .boxR .thumbnail .slick-track {
          margin: 0 auto; }
      .worksPage.detail .sec01 .wrap .boxR p {
        position: relative; }
        .worksPage.detail .sec01 .wrap .boxR p::before {
          content: "";
          display: block;
          padding-top: 100%; }
        .worksPage.detail .sec01 .wrap .boxR p img {
          position: absolute;
          width: 100%;
          height: 100%;
          top: 0;
          right: 0;
          bottom: 0;
          left: 0;
          margin: auto;
          -o-object-fit: cover;
          object-fit: cover;
          -o-object-position: center;
          object-position: center;
          font-family: 'object-fit: cover; object-position: bottom;'; }
  .worksPage.detail .sec01 .btn {
    margin-top: 60px; }

/*----------------------------------------------------
☆businessPage
----------------------------------------------------*/
.businessPage .sec01 .wrap {
  overflow: hidden;
  zoom: 1; }
  .businessPage .sec01 .wrap.mt {
    margin-top: 80px; }
    @media screen and (max-width: 768px) {
      .businessPage .sec01 .wrap.mt {
        margin-top: 60px; } }
  .businessPage .sec01 .wrap .txBox {
    width: 47.5%; }
    @media screen and (max-width: 768px) {
      .businessPage .sec01 .wrap .txBox {
        width: 100%; } }
    .businessPage .sec01 .wrap .txBox .copy {
      line-height: 1.8;
      font-size: 2.8rem; }
      @media screen and (max-width: 768px) {
        .businessPage .sec01 .wrap .txBox .copy {
          font-size: 2.0rem;
          text-align: center; } }
    .businessPage .sec01 .wrap .txBox .tx {
      font-size: 1.7rem;
      margin-top: 15px;
      font-weight: 300;
      line-height: 2.2; }
      @media screen and (max-width: 768px) {
        .businessPage .sec01 .wrap .txBox .tx {
          font-size: 1.4rem; } }
  .businessPage .sec01 .wrap .imgBox {
    width: 47.5%; }
    @media screen and (max-width: 768px) {
      .businessPage .sec01 .wrap .imgBox {
        width: 100%;
        margin-top: 20px; } }
  .businessPage .sec01 .wrap .flL {
    float: left;
    margin-right: 5%; }
    @media screen and (max-width: 768px) {
      .businessPage .sec01 .wrap .flL {
        float: none;
        margin-right: 0; } }
  .businessPage .sec01 .wrap .flR {
    float: right; }
    @media screen and (max-width: 768px) {
      .businessPage .sec01 .wrap .flR {
        float: none; } }

.businessPage .sec02 .featureList > li {
  border: 1px solid #ddd;
  background: #fff;
  position: relative; }
  @media screen and (max-width: 768px) {
    .businessPage .sec02 .featureList > li {
      width: 100%;
      margin: 0 0 20px; } }
  .businessPage .sec02 .featureList > li::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 40px 40px 0 0;
    border-color: #452dbf transparent transparent transparent; }
  .businessPage .sec02 .featureList > li .in {
    display: table;
    padding: 35px 30px;
    height: 100%;
    width: 100%; }
    @media screen and (max-width: 768px) {
      .businessPage .sec02 .featureList > li .in {
        padding: 20px 20px 25px; } }
    .businessPage .sec02 .featureList > li .in .inin {
      display: table-cell;
      vertical-align: middle;
      width: 100%; }
      .businessPage .sec02 .featureList > li .in .inin .ttl {
        text-align: center;
        font-size: 2.4rem; }
        @media screen and (max-width: 768px) {
          .businessPage .sec02 .featureList > li .in .inin .ttl {
            font-size: 1.8rem; } }
      .businessPage .sec02 .featureList > li .in .inin .tx {
        font-size: 1.6rem;
        margin-top: 5px;
        font-weight: 300; }
        @media screen and (max-width: 768px) {
          .businessPage .sec02 .featureList > li .in .inin .tx {
            font-size: 1.4rem; } }

.businessPage .sec03 .flowList > li {
  padding-bottom: 20px;
  position: relative;
  font-size: 0; }
  @media screen and (max-width: 768px) {
    .businessPage .sec03 .flowList > li {
      padding-bottom: 14px; } }
  .businessPage .sec03 .flowList > li::before {
    content: "";
    position: absolute;
    top: 0;
    left: 17px;
    width: 2px;
    height: 100%;
    background: #452dbf; }
    @media screen and (max-width: 768px) {
      .businessPage .sec03 .flowList > li::before {
        left: 15px; } }
  .businessPage .sec03 .flowList > li.last::before {
    content: none; }
  .businessPage .sec03 .flowList > li .num {
    width: 35px;
    height: 35px;
    background: #452dbf;
    border-radius: 50%;
    display: inline-block;
    vertical-align: top;
    position: relative;
    margin-right: 15px; }
    @media screen and (max-width: 768px) {
      .businessPage .sec03 .flowList > li .num {
        width: 30px;
        height: 30px; } }
    .businessPage .sec03 .flowList > li .num span {
      line-height: 1;
      font-size: 1.3rem;
      color: #fff;
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); }
  .businessPage .sec03 .flowList > li .txBox {
    width: calc(100% - 50px);
    display: inline-block;
    vertical-align: top;
    margin-top: -6px; }
    @media screen and (max-width: 768px) {
      .businessPage .sec03 .flowList > li .txBox {
        margin-top: 0;
        width: calc(100% - 45px); } }
    .businessPage .sec03 .flowList > li .txBox .ttl {
      font-size: 2.4rem;
      display: inline-block;
      vertical-align: middle;
      margin-right: 20px; }
      @media screen and (max-width: 768px) {
        .businessPage .sec03 .flowList > li .txBox .ttl {
          font-size: 1.6rem; } }
    .businessPage .sec03 .flowList > li .txBox .tx {
      font-size: 1.6rem;
      font-weight: 300;
      margin-top: 9px;
      display: inline-block;
      vertical-align: middle; }
      @media screen and (max-width: 768px) {
        .businessPage .sec03 .flowList > li .txBox .tx {
          font-size: 1.4rem;
          margin-top: 0;
          display: block; } }

.businessPage .sec04 .wrap {
  font-size: 0; }
  .businessPage .sec04 .wrap .txBox {
    width: 45%;
    margin-right: 5%;
    display: inline-block;
    vertical-align: middle; }
    @media screen and (max-width: 768px) {
      .businessPage .sec04 .wrap .txBox {
        width: 100%;
        margin-right: 0; } }
    .businessPage .sec04 .wrap .txBox .ttl {
      font-size: 2.2rem;
      line-height: 1.6; }
      @media screen and (max-width: 768px) {
        .businessPage .sec04 .wrap .txBox .ttl {
          font-size: 1.8rem;
          text-align: center; } }
    .businessPage .sec04 .wrap .txBox .equList {
      font-size: 0;
      margin-top: 15px; }
      .businessPage .sec04 .wrap .txBox .equList li {
        font-size: 1.6rem;
        font-weight: 300; }
        @media screen and (max-width: 768px) {
          .businessPage .sec04 .wrap .txBox .equList li {
            font-size: 1.4rem;
            display: inline-block;
            vertical-align: middle;
            width: 50%; } }
  .businessPage .sec04 .wrap .imgBox {
    width: 50%;
    display: inline-block;
    vertical-align: middle; }
    @media screen and (max-width: 768px) {
      .businessPage .sec04 .wrap .imgBox {
        width: 100%;
        margin-top: 20px; } }

/*----------------------------------------------------
☆recruitPage
----------------------------------------------------*/
.recruitPage .mvStyle_01 .pageTtl {
  padding-bottom: 60px; }

.recruitPage .sec01 .bnr a {
  display: block;
  background: url("../cmn_img/bg01.png") no-repeat center center/100% auto;
  max-width: 400px;
  width: 100%;
  margin: 0 auto;
  padding: 30px 0;
  text-align: center;
  color: #fff;
  font-size: 1.6rem;
  position: relative; }
  @media screen and (max-width: 768px) {
    .recruitPage .sec01 .bnr a {
      font-size: 1.5rem;
      padding: 25px 0; } }
  .recruitPage .sec01 .bnr a::before {
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -6px;
    right: 15px;
    background: url("/lib/cmn_img/arw_link.png") no-repeat center center/cover;
    width: 11px;
    height: 11px; }
  .recruitPage .sec01 .bnr a:hover {
    opacity: 0.8; }



    /*ブログフォント*/  
.blog-font {
line-height: 2.0;
      
} 


 /*タグのスタイル*/  
.tag-style  {
background: rgb(228, 228, 228);  
} 


.tag-style a {
float: right; width: 30%; text-align: center; text-decoration: none; background: rgb(228, 228, 228); line-height: 1.5; padding: 0.5em; /*! list-style-type: none !important; */ margin: 0px 0px 0px 1%; border-radius: 0.8em;
} 


.tag-style a:hover { 
color: gray; background: rgb(243, 243, 243);        
} 