@charset "UTF-8";
/*
@mixin font-size($size) {
	font-size: $size + px;
	font-size: ($size/10) + rem;
	
	@include mq( $sp , $pc-l )  {
		font-size: ($size/8) + px;
		font-size: ($size/12.5) + rem;
	}
}*/
#adminBox, .acms-admin-box {
  position: absolute;
  z-index: 999999; }

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

span.sp {
  display: none; }
  @media screen and (max-width: 859px) {
    span.sp {
      display: block; } }

.btn.-center {
  text-align: center; }

.section {
  padding: 5em 0; }
  @media screen and (max-width: 859px) {
    .section {
      padding: 45px 0; } }

.sec-keyv {
  background: url("../../img/top/bg_keyv.png") no-repeat 100% 0;
  background-size: 503px auto; }
  @media screen and (max-width: 1199px) {
    .sec-keyv {
      background-size: 36vw auto; } }
  @media screen and (max-width: 479px) {
    .sec-keyv {
      background-size: 50vw auto; } }
  .sec-keyv .keyv {
    overflow: hidden;
    width: 100%;
    position: relative;
    /*.kev-img{
    	margin: 26.5vw 0.7vw 0;
    	@include mq( $sp , max ) {
    		margin-top: 36vw;
    	}
    }*/ }
    .sec-keyv .keyv .keyv-copy {
      position: absolute;
      top: 12vw;
      left: 7.1vw;
      width: 46vw;
      margin: 0; }
      @media screen and (max-width: 479px) {
        .sec-keyv .keyv .keyv-copy {
          top: 22vw;
          width: 56vw; } }
    .sec-keyv .keyv img {
      height: auto;
      width: 100%; }
    .sec-keyv .keyv .keyv-slide {
      padding-top: 24vw; }
      @media screen and (max-width: 479px) {
        .sec-keyv .keyv .keyv-slide {
          padding-top: 35vw; } }
    .sec-keyv .keyv .keyv-thumbnail {
      position: absolute;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%);
      width: 80vw; }
      .sec-keyv .keyv .keyv-thumbnail .slick-track {
        transform: unset !important; }
        .sec-keyv .keyv .keyv-thumbnail .slick-track .thumbnail-img {
          width: calc(100% / 5);
          padding: 5px; }

.sec-about {
  padding: 5em 0 5em; }
  @media print, screen and (min-width: 860px) {
    .sec-about {
      padding: 7.5em 0 2.5em; } }
  @media print, screen and (min-width: 860px) {
    .sec-about .wide-container {
      overflow-x: visible; } }
  .sec-about .sec-title {
    margin-bottom: 3em; }
    @media screen and (max-width: 859px) {
      .sec-about .sec-title {
        margin-top: 2em;
        text-align: center; } }
  @media screen and (max-width: 859px) {
    .sec-about .btn-01 {
      justify-content: center; } }
  .sec-about .textline {
    line-height: 2;
    margin-bottom: 2.5em; }
  @media screen and (max-width: 859px) {
    .sec-about .about-wrap .img {
      width: 70%;
      margin: 1em auto 0; } }
  @media print, screen and (min-width: 860px) {
    .sec-about .about-wrap {
      -js-display: flex;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      width: calc(100% + 20vw);
      margin-left: -20vw; }
      .sec-about .about-wrap .img {
        width: 50%;
        padding: 0 30px; }
      .sec-about .about-wrap .text {
        width: 50%;
        padding-left: 96px; } }
  @media screen and (min-width: 1023px) and (max-width: 1225px) {
    .sec-about .about-wrap .text {
      padding-right: 20px; } }

.sec-works {
  padding: 5em 0 7em; }
  @media print, screen and (min-width: 860px) {
    .sec-works {
      padding: 2.5em 0 9em; } }
  @media print, screen and (min-width: 860px) {
    .sec-works .wide-container {
      overflow-x: visible; } }
  .sec-works .sec-title {
    margin-bottom: 3em; }
    @media screen and (max-width: 859px) {
      .sec-works .sec-title {
        margin-top: 2em;
        text-align: center; } }
  @media screen and (max-width: 859px) {
    .sec-works .btn-01 {
      justify-content: center; } }
  .sec-works .textline {
    line-height: 2;
    margin-bottom: 2.5em; }
  @media screen and (max-width: 859px) {
    .sec-works .works-wrap .img {
      width: 70%;
      margin: 1em auto 0; } }
  @media print, screen and (min-width: 860px) {
    .sec-works .works-wrap {
      -js-display: flex;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      width: calc(100% + 11vw);
      margin-right: -11vw; }
      .sec-works .works-wrap .img {
        width: 50%;
        order: 2; }
      .sec-works .works-wrap .text {
        width: 50%;
        padding-right: 135px; } }
  @media screen and (min-width: 1023px) and (max-width: 1225px) {
    .sec-works .works-wrap .text {
      padding-left: 20px; } }

.sec-banner {
  background: #fff; }
  @media print, screen and (min-width: 860px) {
    .sec-banner .banner-contents {
      padding: 50px; } }
  .sec-banner .banner-contents .banner-wrap .banner-item {
    padding: 0 20px;
    margin-bottom: 20px; }
    .sec-banner .banner-contents .banner-wrap .banner-item .inner {
      border: 1px solid #CECECE;
      padding: 15px;
      position: relative; }
      .sec-banner .banner-contents .banner-wrap .banner-item .inner span {
        display: block; }
      .sec-banner .banner-contents .banner-wrap .banner-item .inner .banner {
        -js-display: flex;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        align-items: center; }
        .sec-banner .banner-contents .banner-wrap .banner-item .inner .banner .thumb {
          width: 110px; }
          @media screen and (max-width: 479px) {
            .sec-banner .banner-contents .banner-wrap .banner-item .inner .banner .thumb {
              width: 70px; } }
        .sec-banner .banner-contents .banner-wrap .banner-item .inner .banner .text {
          width: calc(100% - 110px);
          padding-left: 30px;
          color: #333;
          font-weight: 500;
          font-size: 20px;
          font-size: 2rem; }
          @media screen and (max-width: 479px) {
            .sec-banner .banner-contents .banner-wrap .banner-item .inner .banner .text {
              padding-left: 20px;
              width: calc(100% - 70px);
              font-size: 18px;
              font-size: 1.8rem; } }
      .sec-banner .banner-contents .banner-wrap .banner-item .inner::after {
        position: absolute;
        right: 0;
        top: 0;
        width: 40px;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: ionicons;
        content: "";
        font-size: 18px;
        font-size: 1.8rem;
        background: #F2F3F8;
        color: #4C5BA8;
        transition: .2s; }
      .sec-banner .banner-contents .banner-wrap .banner-item .inner:hover::after {
        color: #fff;
        background: #4C5BA8; }
  @media print, screen and (min-width: 860px) {
    .sec-banner .banner-contents .banner-wrap {
      -js-display: flex;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap;
      margin-left: -20px;
      margin-right: -20px; }
      .sec-banner .banner-contents .banner-wrap .banner-item {
        width: 50%; } }

.sec-contact {
  text-align: center;
  background: #F2F3F8;
  padding: 80px 0; }
  @media screen and (max-width: 859px) {
    .sec-contact {
      padding: 5em 2em; } }
