/***************************************************************************
About
***************************************************************************/
body.home .mv {
  position: relative;
  background-size: cover;
  background-position: center center;
  width: calc(100% - 90px);
  left: 90px;
  height: 100vh;
  max-height: none; }
  body.home .mv #slide_wrapp {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100%; }
    body.home .mv #slide_wrapp .slide_item {
      opacity: 0;
      transform: scale(1.2);
      transition: opacity 2s linear, transform 7.5s linear;
      position: relative;
      width: 100%; }
      body.home .mv #slide_wrapp .slide_item:not(:first-child) {
        position: absolute;
        top: 0;
        left: 0; }
      body.home .mv #slide_wrapp .slide_item.show_ {
        opacity: 1; }
      body.home .mv #slide_wrapp .slide_item.zoom_ {
        transform: scale(1.4); }
      body.home .mv #slide_wrapp .slide_item img {
        display: block;
        height: 100%;
        width: auto;
        max-width: none;
        max-height: none; }
  body.home .mv .ttl {
    position: absolute;
    top: 50vh;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 258px;
    height: 343px; }
    body.home .mv .ttl img {
      width: 100%;
      height: auto; }
  body.home .mv .arrow {
    position: absolute;
    width: 45px;
    left: 50%;
    bottom: -20px;
    transform: translateX(-50%); }
body.home .mainContent .ttl {
  position: relative;
  margin-bottom: 100px; }
  body.home .mainContent .ttl .en {
    height: 20px;
    margin-bottom: 10px; }
    body.home .mainContent .ttl .en img {
      height: 100%;
      width: auto; }
  body.home .mainContent .ttl .jp {
    line-height: 2;
    font-weight: bold; }
body.home .mainContent .blkAbout .ttl:after, body.home .mainContent .blkService .ttl:after {
  width: 1px;
  height: 40px;
  position: absolute;
  content: '';
  left: 70px;
  bottom: -60px;
  border-left: 1px solid #707070; }
body.home .mainContent .btnMore a {
  position: relative;
  display: block;
  margin: 0 auto;
  width: 300px;
  height: 60px;
  line-height: 60px;
  color: white;
  font-size: 20px;
  font-weight: bold;
  background: #0099D6;
  text-align: center;
  border-radius: 60px; }
  body.home .mainContent .btnMore a:after {
    content: '';
    position: absolute;
    display: block;
    width: 50px;
    height: 14px;
    background-image: url("../img/index/btn_more_yajirushi.svg");
    background-repeat: no-repeat;
    background-size: cover;
    top: 50%;
    right: -25px;
    transform: translateY(-50%); }
body.home .mainContent .blkAbout {
  padding-top: 80px;
  padding-bottom: 120px; }
  body.home .mainContent .blkAbout .body {
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    margin-bottom: 60px; }
    body.home .mainContent .blkAbout .body .left {
      width: calc(50% - 35px);
      margin-right: 70px; }
      body.home .mainContent .blkAbout .body .left h2 {
        font-size: 36px;
        font-weight: bold;
        line-height: 56px;
        margin-bottom: 60px; }
      body.home .mainContent .blkAbout .body .left .img {
        text-align: center; }
    body.home .mainContent .blkAbout .body .right {
      width: calc(50% - 35px); }
      body.home .mainContent .blkAbout .body .right h3 {
        font-size: 22px;
        font-weight: bold;
        padding-bottom: 20px;
        border-bottom: 1px solid #707070;
        margin-bottom: 20px; }
      body.home .mainContent .blkAbout .body .right .text2 {
        line-height: 2; }
body.home .mainContent .blkService {
  padding-bottom: 0; }
  body.home .mainContent .blkService .visual {
    position: relative; }
    body.home .mainContent .blkService .visual .img {
      display: flex;
      flex-wrap: nowrap; }
      body.home .mainContent .blkService .visual .img p {
        width: 50%; }
        body.home .mainContent .blkService .visual .img p img {
          max-width: none;
          width: 100%; }
    body.home .mainContent .blkService .visual .copy1 {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
      body.home .mainContent .blkService .visual .copy1 h3 {
        display: inline-block;
        background: white;
        font-size: 36px;
        font-weight: bold;
        line-height: 56px;
        margin-bottom: 10px;
        padding: 0 24px; }
  body.home .mainContent .blkService .body {
    padding: 50px 0 0;
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    margin-bottom: 60px; }
    body.home .mainContent .blkService .body .left {
      width: calc(50% - 35px);
      margin-right: 70px; }
      body.home .mainContent .blkService .body .left .copy2 {
        margin-bottom: 60px; }
        body.home .mainContent .blkService .body .left .copy2 p {
          display: inline-block;
          color: white;
          background: black;
          font-size: 18px;
          font-weight: bold;
          letter-spacing: 1px;
          line-height: 32px;
          margin-bottom: 10px;
          padding: 0 17px; }
      body.home .mainContent .blkService .body .left .img {
        text-align: center; }
    body.home .mainContent .blkService .body .right {
      width: calc(50% - 35px); }
      body.home .mainContent .blkService .body .right h3 {
        font-size: 22px;
        font-weight: bold;
        padding-bottom: 20px;
        border-bottom: 1px solid #707070;
        margin-bottom: 20px; }
      body.home .mainContent .blkService .body .right .text1 {
        line-height: 2;
        margin-bottom: 20px; }
      body.home .mainContent .blkService .body .right .copy3 p {
        background: #DEECBA;
        padding: 10px 20px;
        font-weight: bold;
        font-size: 18px;
        margin-bottom: 10px; }
        body.home .mainContent .blkService .body .right .copy3 p:nth-child(2) {
          margin-bottom: 20px; }
body.home .mainContent .blkWorks {
  padding-top: 120px;
  padding-bottom: 70px;
  position: relative; }
  body.home .mainContent .blkWorks .bgGray {
    position: absolute;
    width: 100%;
    height: calc(100% - 120px - 112px - 116px);
    left: 0;
    bottom: 0;
    background: #F6F6F3; }
  body.home .mainContent .blkWorks .ttl {
    margin-bottom: 50px; }
  body.home .mainContent .blkWorks .body .posts {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap; }
    body.home .mainContent .blkWorks .body .posts .post {
      width: calc((100% - 70px) / 3);
      margin-bottom: 40px;
      margin-right: 35px; }
      body.home .mainContent .blkWorks .body .posts .post:nth-child(3n) {
        margin-right: 0; }
      body.home .mainContent .blkWorks .body .posts .post .img {
        margin-bottom: 14px; }
        body.home .mainContent .blkWorks .body .posts .post .img img {
          height: auto; }
      body.home .mainContent .blkWorks .body .posts .post .ttl {
        font-size: 18px;
        font-weight: bold;
        line-height: 28px;
        letter-spacing: 1px;
        margin-bottom: 10px; }
      body.home .mainContent .blkWorks .body .posts .post .desc {
        font-weight: bold; }
      body.home .mainContent .blkWorks .body .posts .post .tags ul li {
        display: inline-block;
        font-size: 13px;
        line-height: 23px;
        font-weight: normal; }
        body.home .mainContent .blkWorks .body .posts .post .tags ul li:after {
          content: ' / '; }
        body.home .mainContent .blkWorks .body .posts .post .tags ul li:last-child:after {
          content: ''; }
body.home .mainContent .blkBlog {
  padding-bottom: 70px;
  position: relative;
  padding-top: 120px; }
  body.home .mainContent .blkBlog .bgGray {
    position: absolute;
    width: 100%;
    height: calc(100% - 120px - 112px - 116px);
    left: 0;
    bottom: 0;
    background: #F6F6F3; }
  body.home .mainContent .blkBlog .ttl {
    margin-bottom: 50px; }
  body.home .mainContent .blkBlog .body .posts {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap; }
    body.home .mainContent .blkBlog .body .posts .post {
      width: calc((100% - 70px) / 3);
      margin-bottom: 40px;
      margin-right: 35px; }
      body.home .mainContent .blkBlog .body .posts .post:nth-child(3) {
        margin-right: 0; }
      body.home .mainContent .blkBlog .body .posts .post .img {
        margin-bottom: 14px; }
        body.home .mainContent .blkBlog .body .posts .post .img img {
          height: auto; }
      body.home .mainContent .blkBlog .body .posts .post .ttl {
        font-size: 18px;
        font-weight: bold;
        line-height: 28px;
        letter-spacing: 1px;
        margin-bottom: 15px; }
      body.home .mainContent .blkBlog .body .posts .post .desc {
        font-weight: bold; }
      body.home .mainContent .blkBlog .body .posts .post .info .date {
        font-size: 13px; }
      body.home .mainContent .blkBlog .body .posts .post .info .ttl {
        font-size: 15px;
        line-height: 22px; }
body.home .mainContent .blkNews {
  padding-top: 120px; }
  body.home .mainContent .blkNews .box {
    display: flex;
    flex-wrap: nowrap; }
    body.home .mainContent .blkNews .box .left {
      width: 340px; }
    body.home .mainContent .blkNews .box .right {
      width: calc(100% - 410px); }
      body.home .mainContent .blkNews .box .right .posts {
        height: 300px;
        overflow-y: scroll;
        padding-right: 40px;
        -webkit-overflow-scrolling: touch; }
        body.home .mainContent .blkNews .box .right .posts::-webkit-scrollbar {
          width: 12px; }
        body.home .mainContent .blkNews .box .right .posts::-webkit-scrollbar-track {
          background: #F6F6F3;
          border: none;
          border-radius: 10px;
          box-shadow: inset 0 0 0 #F6F6F3; }
        body.home .mainContent .blkNews .box .right .posts::-webkit-scrollbar-thumb {
          background: #A9D251;
          border-radius: 10px;
          box-shadow: none; }
        body.home .mainContent .blkNews .box .right .posts .post {
          padding: 10px 0;
          border-bottom: 1px solid #EFF5F4; }
          body.home .mainContent .blkNews .box .right .posts .post .date {
            font-size: 12px; }
          body.home .mainContent .blkNews .box .right .posts .post .ttl {
            font-size: 15px;
            font-weight: bold;
            line-height: 24px;
            margin-bottom: 0;
            word-break: break-all; }

@media screen and (max-width: 768px) {
  body.home .mv {
    height: 500px;
    max-height: 500px;
    left: 0;
    width: 100%; }
    body.home .mv #slide_wrapp {
      height: 500px;
      max-height: 500px; }
      body.home .mv #slide_wrapp .slide_item {
        overflow-x: hidden;
        text-align: center;
        width: 100%;
        height: 100%;
        position: relative; }
        body.home .mv #slide_wrapp .slide_item img {
          position: absolute;
          left: 50%;
          transform: translateX(-50%);
          height: 100%;
          max-width: none;
          width: auto; }
    body.home .mv .ttl {
      width: 180px;
      top: 50%;
      height: auto; }
  body.home .mainContent .btnMore a {
    width: 250px;
    height: 50px;
    line-height: 50px; }
  body.home .mainContent .blkAbout {
    padding-top: 60px;
    padding-bottom: 80px; }
    body.home .mainContent .blkAbout .body {
      display: block;
      margin-bottom: 40px; }
      body.home .mainContent .blkAbout .body .left {
        margin-right: 0;
        margin-bottom: 40px;
        width: 100%; }
        body.home .mainContent .blkAbout .body .left h2 {
          font-size: 24px;
          line-height: 34px;
          margin-bottom: 30px; }
      body.home .mainContent .blkAbout .body .right {
        width: 100%; }
        body.home .mainContent .blkAbout .body .right h3 {
          font-size: 18px;
          line-height: 26px;
          padding-bottom: 10px;
          margin-bottom: 10px; }
  body.home .mainContent .blkService .visual .img {
    display: block; }
    body.home .mainContent .blkService .visual .img p {
      width: 100%; }
  body.home .mainContent .blkService .visual .copy1 {
    left: 20px;
    transform: translateY(-50%); }
    body.home .mainContent .blkService .visual .copy1 h3 {
      font-size: 25px;
      line-height: 39px;
      padding: 0 16px; }
  body.home .mainContent .blkService .body {
    display: block;
    padding: 40px 0 0;
    margin-bottom: 40px; }
    body.home .mainContent .blkService .body .left {
      margin-right: 0;
      margin-bottom: 40px;
      width: 100%; }
      body.home .mainContent .blkService .body .left .copy2 {
        margin-bottom: 40px; }
    body.home .mainContent .blkService .body .right {
      width: 100%; }
      body.home .mainContent .blkService .body .right h3 {
        font-size: 18px;
        line-height: 26px;
        padding-bottom: 10px;
        margin-bottom: 10px; }
  body.home .mainContent .blkWorks {
    padding-top: 80px;
    padding-bottom: 80px; }
    body.home .mainContent .blkWorks .bgGray {
      height: calc(100% - 120px - 112px - 36px); }
    body.home .mainContent .blkWorks .ttl {
      margin-bottom: 30px; }
    body.home .mainContent .blkWorks .body .posts {
      display: block; }
      body.home .mainContent .blkWorks .body .posts .post {
        width: 100%;
        margin-right: 0; }
  body.home .mainContent .blkBlog {
    padding-top: 80px;
    padding-bottom: 80px; }
    body.home .mainContent .blkBlog .bgGray {
      height: calc(100% - 120px - 112px - 36px); }
    body.home .mainContent .blkBlog .ttl {
      margin-bottom: 30px; }
    body.home .mainContent .blkBlog .body .posts {
      display: block; }
      body.home .mainContent .blkBlog .body .posts .post {
        width: 100%;
        margin-right: 0; }
        body.home .mainContent .blkBlog .body .posts .post .info .ttl {
          font-size: 14px; }
  body.home .mainContent .blkNews {
    padding-top: 80px;
    padding-bottom: 40px; }
    body.home .mainContent .blkNews .box {
      display: block; }
      body.home .mainContent .blkNews .box .left {
        margin-right: 0;
        margin-bottom: 30px;
        width: 100%; }
        body.home .mainContent .blkNews .box .left .ttl {
          margin-bottom: 0; }
      body.home .mainContent .blkNews .box .right {
        width: 100%; } }
