@charset "UTF-8";
/* 
 * top.css
*/
/*
	File Name   : var.scss
	Description : 変数用
*/
/*------------------------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500&family=Noto+Sans+JP:wght@400;500;700&display=swap");
:root {
  --v-mediaqueryPC:1000;
  --v-mediaquerySP:768;
  --v-vwwidth:1366;
  --v-spwidth:750;
  --v-mainBgColor:#DC000C;
  --v-mainColor:#49484d;
  --v-bordercolor:#69686b;
  --v-transition:.6s ; }

/*
	File Name   : webfont.scss
	Description : webfont用
*/
/*------------------------------------------------------*/
/* web font */
/*
@import url('https://fonts.googleapis.com/css?family=Roboto:400,500,700,900');
*/
/*
font-family: 'Barlow Condensed', sans-serif;
font-family: 'Noto Sans JP', sans-serif;
*/
/*
	File Name   : top.css
	Description : TOPページ用style

*/
/* content-main
------------------------------------------------------------------------------- */
#keyv {
  position: relative;
  z-index: 1; }
  #keyv h2 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }

.keyv-aboutus {
  position: relative;
  z-index: 10;
  margin-top: -60px; }
  .keyv-aboutus .keyv-aboutus__link {
    display: block; }
    .keyv-aboutus .keyv-aboutus__link dl {
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: nowrap;
      width: calc(1100/1440*100vw);
      max-width: 1100px;
      min-height: 193px;
      margin: 0 auto;
      padding: 50px 40px 40px;
      box-sizing: border-box;
      background: #fff;
      color: #5d5d5d;
      font-size: 16px;
      border-radius: 4px; }
      .keyv-aboutus .keyv-aboutus__link dl .logo {
        width: 160px;
        margin-right: 20px;
        flex-shrink: 0; }
        .keyv-aboutus .keyv-aboutus__link dl .logo img {
          width: 100%; }
      .keyv-aboutus .keyv-aboutus__link dl .disc {
        width: calc(650/1440*100vw);
        max-width: 650px;
        margin-bottom: auto;
        letter-spacing: -.02em; }
      .keyv-aboutus .keyv-aboutus__link dl .btn {
        margin-left: 10px; }
        .keyv-aboutus .keyv-aboutus__link dl .btn span {
          display: flex;
          align-items: center;
          justify-content: center;
          flex-shrink: 0;
          color: #5d5d5d;
          width: 140px;
          height: 40px;
          border: 1px solid #919191;
          position: relative;
          z-index: 10;
          overflow: hidden;
          -webkit-transition: all 0.3s;
          -moz-transition: all 0.3s;
          -o-transition: all 0.3s;
          transition: all 0.3s;
          /* ボタンエフェクト */ }
          .keyv-aboutus .keyv-aboutus__link dl .btn span::after {
            height: 100%;
            left: -35%;
            top: 0;
            transform: skew(50deg);
            transition-duration: 0.6s;
            transform-origin: top left;
            width: 0;
            content: "";
            -webkit-transition: all 0.3s;
            -moz-transition: all 0.3s;
            -o-transition: all 0.3s;
            transition: all 0.3s; }
          .keyv-aboutus .keyv-aboutus__link dl .btn span:hover:after {
            height: 101%;
            width: 135%; }
          .keyv-aboutus .keyv-aboutus__link dl .btn span::before, .keyv-aboutus .keyv-aboutus__link dl .btn span::after {
            background: #222;
            content: '';
            position: absolute;
            z-index: -1; }
          .keyv-aboutus .keyv-aboutus__link dl .btn span:hover {
            color: #fff;
            opacity: 1 !important; }
    .keyv-aboutus .keyv-aboutus__link:hover .btn span {
      color: #fff;
      opacity: 1 !important; }
      .keyv-aboutus .keyv-aboutus__link:hover .btn span::after {
        height: 101%;
        width: 135%; }
      .keyv-aboutus .keyv-aboutus__link:hover .btn span::before, .keyv-aboutus .keyv-aboutus__link:hover .btn span::after {
        background: #222;
        content: '';
        position: absolute;
        z-index: -1; }

@media screen and (max-width: 900px) {
  #keyv {
    position: relative;
    z-index: 1; }
    #keyv h2 {
      width: calc(650/750*100vw); }

  .keyv-aboutus {
    position: relative;
    z-index: 10;
    margin-top: calc(-50/750*100vw); }
    .keyv-aboutus .keyv-aboutus__link dl {
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: nowrap;
      flex-direction: column;
      width: calc(690/750*100vw);
      min-height: inherit;
      margin: 0 auto;
      padding: calc(50/750*100vw) calc(50/750*100vw); }
      .keyv-aboutus .keyv-aboutus__link dl .logo {
        width: calc(215/750*100vw);
        flex-shrink: 1;
        margin-right: 0; }
        .keyv-aboutus .keyv-aboutus__link dl .logo img {
          width: 100%; }
      .keyv-aboutus .keyv-aboutus__link dl .disc {
        font-size: calc(28/750*100vw);
        width: 100%;
        margin: 10px auto 20px;
        letter-spacing: -.02em;
        text-align: center; }
      .keyv-aboutus .keyv-aboutus__link dl .btn {
        margin-left: 0; }
        .keyv-aboutus .keyv-aboutus__link dl .btn a {
          display: flex;
          align-items: center;
          justify-content: center;
          width: 140px;
          height: 40px;
          border: 1px solid #919191; } }
/* slider
------------------------------------------------------------------------------- */
#slider {
  margin-bottom: 100px; }
  #slider .slider__inner {
    width: 800px;
    margin-left: 50px; }
    #slider .slider__inner .slider__visual {
      max-height: 430px;
      overflow: hidden; }
      #slider .slider__inner .slider__visual img {
        width: 100%; }
    #slider .slider__inner .slider__info {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 20px;
      height: 145px;
      box-sizing: border-box;
      background: #fff; }
      #slider .slider__inner .slider__info figure img {
        width: 100%; }
      #slider .slider__inner .slider__info .slider__logo {
        font-size: 30px;
        font-weight: bold;
        color: #000000; }
      #slider .slider__inner .slider__info p {
        font-size: 20px;
        font-weight: bold;
        color: #1A1A1A;
        padding: 0 20px; }
      #slider .slider__inner .slider__info .btn-frame {
        display: flex;
        align-items: center;
        justify-content: center;
        color: #5d5d5d;
        width: 140px;
        height: 40px;
        border: 1px solid #919191;
        position: relative;
        z-index: 10;
        overflow: hidden;
        /* ボタンエフェクト */ }
        #slider .slider__inner .slider__info .btn-frame::after {
          height: 100%;
          left: -35%;
          top: 0;
          transform: skew(50deg);
          transition-duration: 0.6s;
          transform-origin: top left;
          width: 0;
          content: "";
          -webkit-transition: all 0.3s;
          -moz-transition: all 0.3s;
          -o-transition: all 0.3s;
          transition: all 0.3s; }
        #slider .slider__inner .slider__info .btn-frame:hover:after {
          height: 101%;
          width: 135%; }
        #slider .slider__inner .slider__info .btn-frame::before, #slider .slider__inner .slider__info .btn-frame::after {
          background: #222;
          content: '';
          position: absolute;
          z-index: -1; }
        #slider .slider__inner .slider__info .btn-frame:hover {
          color: #fff;
          opacity: 1 !important; }
    #slider .slider__inner.canon .slider__info figure {
      width: 125px; }
    #slider .slider__inner.singha .slider__info figure {
      width: 125px; }
    #slider .slider__inner.toro .slider__info figure {
      width: 125px; }
    #slider .slider__inner.jr-east .slider__info figure {
      width: 105px; }
    #slider .slider__inner.citizen .slider__info figure {
      width: 128px; }
    #slider .slider__inner.bulldog .slider__info figure {
      width: 100px; }
    #slider .slider__inner__link {
      display: block; }
      #slider .slider__inner__link:hover {
        opacity: .9;
        transition: .4s all; }
        #slider .slider__inner__link:hover .btn-frame {
          color: #fff; }
          #slider .slider__inner__link:hover .btn-frame::after {
            color: #fff;
            opacity: 1 !important;
            height: 101%;
            width: 135%; }
          #slider .slider__inner__link:hover .btn-frame::before, #slider .slider__inner__link:hover .btn-frame::after {
            background: #222;
            content: '';
            position: absolute;
            z-index: -1; }

@media screen and (max-width: 900px) {
  #slider {
    margin-bottom: 100px; }
    #slider .slider__inner {
      width: calc(470/750*100vw);
      margin-left: calc(30/750*100vw);
      flex-direction: column-reverse; }
      #slider .slider__inner .slider__visual {
        max-height: calc(240/750*100vw); }
        #slider .slider__inner .slider__visual img {
          width: 100%; }
      #slider .slider__inner .slider__info {
        flex-direction: column;
        padding: calc(30/750*100vw) calc(20/750*100vw);
        height: calc(420/750*100vw);
        overflow: hidden; }
        #slider .slider__inner .slider__info figure {
          max-width: calc(120/750*100vw);
          margin-bottom: 0; }
          #slider .slider__inner .slider__info figure img {
            width: auto;
            max-height: calc(100/750*100vw); }
        #slider .slider__inner .slider__info .slider__logo {
          font-size: calc(42/750*100vw); }
        #slider .slider__inner .slider__info p {
          margin: calc(10/750*100vw) auto;
          padding: 0;
          font-size: calc(32/750*100vw);
          text-align: center;
          line-height: 1.3; }
        #slider .slider__inner .slider__info .btn-frame {
          flex-shrink: 0;
          width: calc(240/750*100vw);
          height: calc(70/750*100vw); }
      #slider .slider__inner.canon .slider__info figure {
        width: calc(160/750*100vw);
        max-width: calc(160/750*100vw); }
      #slider .slider__inner.singha .slider__info figure {
        width: calc(160/750*100vw);
        max-width: calc(160/750*100vw); }
      #slider .slider__inner.jr-east .slider__info figure {
        width: calc(105/750*100vw); }
      #slider .slider__inner.citizen .slider__info figure {
        width: calc(160/750*100vw);
        max-width: calc(160/750*100vw); }
      #slider .slider__inner.bulldog .slider__info figure {
        width: calc(100/750*100vw); } }
/* NEWS
------------------------------------------------------------------------------- */
.news {
  background: #fff;
  padding: 75px 0 100px;
  color: #222222; }

@media screen and (max-width: 900px) {
  .news {
    padding: calc(40/750*100vw) calc(30/750*100vw) calc(30/750*100vw); } }
