@charset "utf-8";
@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,400i,600,600i,700,700i,800,800i);
@import url(https://fonts.googleapis.com/css?family=Roboto+Slab:400,100,300,700);

@media only screen and (min-width: 0px) and (max-width: 520px) {
  .spSmallImage {
    width: 50% !important;
    display: block !important;
    margin: 0 auto !important;
  }
}

body,
html {
  text-rendering: optimizeLegibility !important;
  -webkit-font-smoothing: antialiased !important;
  height: 100%;
  font-family: Avenir, "Open Sans", "Helvetica Neue", Helvetica, Arial, Verdana,
    Roboto, 游ゴシック, "Yu Gothic", 游ゴシック体, YuGothic,
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", メイリオ,
    Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

body {
  width: 100%;
  text-align: center;
}

a {
  color: #00f;
  text-decoration: none;
}

* {
  float: none;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

::before,
::after {
  box-sizing: inherit;
}

.clearfix::after {
  content: " ";
  display: block;
  clear: both;
}

.footer-privacy {
  font-size: min(1.25vw, 16px);
  color: #fff;
}

@keyframes fadeInAnime {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes fadInPict {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes changeColor {
  from {
    color: #ce2314;
  }

  to {
    color: white;
  }
}

@keyframes changeBorderColor {
  from {
    border-right: thin solid #ce2314;
  }

  to {
    border-right: thin solid white;
  }
}

@keyframes slideIn {
  0% {
    transform: translateX(180px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
  }
  40%,
  100% {
    opacity: 1;
  }
}

@keyframes imgfade {
  0% {
    opacity: 0;
  }

  25% {
    opacity: 0.3;
  }
  50% {
    opacity: 0.5;
  }

  75% {
    opacity: 0.8;
  }
  100% {
    opacity: 1;
  }
}

#global-navi {
  background: #fff;
  top: 0;
  right: 0;
  width: 100%;
}

#wrapper button {
  outline: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  vertical-align: middle;
  text-align: inherit;
  font: inherit;
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
  padding: 0;
}

@media print, screen and (min-width: 521px) {
  .br-sp {
    display: none !important;
  }

  #wrapper {
    margin-left: min(6.25vw, 80px);
  }

  #wrapper nav ul li {
    display: inline-flex;
    font-size: min(1.25vw, 16px);
    font-weight: 500;
    padding: min(2.34375vw, 30px) min(1.5625vw, 20px) 0 min(2.1875vw, 28px);
  }

  body {
    font-size: min(1.25vw, 16px);
  }

  .sp {
    display: none;
  }

  .spHeaderContact {
    display: none !important;
  }

  #nuc-home {
    position: relative;
    width: 100%;
    background: transparent;
    background-position: 0 0;
    background-attachment: local;
    overflow: hidden;
    margin: 0 auto;
  }

  #nuc-home-center {
    position: relative;
    background: transparent;
    overflow: hidden;
    width: min(100%, 1280px);
    text-align: left;
    margin: 110px auto 0;
  }

  .sm-header {
    position: fixed;
    left: 50%;
    top: 0;
    height: min(8.59375vw, 110px);
    width: min(100%, 1280px);
    align-items: center;
    background-color: #fff;
    z-index: 100;
    transform: translate(-50%, 0);
  }

  .sm-header .sm-header-box {
    position: relative;
    left: 0;
    top: 0;
    height: min(8.75vw, 112px);
    width: min(100%, 1280px);
    align-items: center;
    background-color: #fff;
    z-index: 100;
    display: flex;
    margin-right: auto;
    margin-left: auto;
    border-bottom: 2px solid #ce2314;
  }

  .sm-header .sm-logo-box {
    width: min(15.625vw, 200px);
    margin-top: max(-0.859375vw, -11px);
  }

  .sm-header .sm-logo-box img {
    height: min(6.25vw, 80px);
  }

  .menu {
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-size: min(1.458594vw, 18.67px);
    color: #000;
    width: 100%;
  }

  .sm-header .contact-box {
    position: absolute;
    height: min(5.3125vw, 68px);
    width: min(31.875vw, 408px);
    right: 0;
    float: right;
    margin-top: min(0.78125vw, 10px);
    margin-left: min(0.78125vw, 10px);
  }

  .contact-box .title {
    color: #fff;
    background-color: #ce2314;
    text-align: center;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-size: min(1.458594vw, 18.67px);
    width: min(12.265625vw, 157px);
    height: min(5.3125vw, 68px);
    margin-bottom: 0;
    padding-top: min(1.40625vw, 18px);
    float: left;
  }

  .contact-box .tel-open {
    width: min(19.609375vw, 251px);
    height: min(5.3125vw, 68px);
    text-align: left;
    background-color: #000;
    color: #fff;
    float: left;
  }

  .contact-box .tel {
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-size: min(1.667188vw, 21.34px);
    font-weight: bolder;
    margin-left: min(0.390625vw, 5px);
    margin-right: min(0.390625vw, 5px);
    text-align: center;
    height: min(2.34375vw, 30px);
    padding-top: min(0.46875vw, 6px);
    padding-left: min(0.15625vw, 2px);
  }

  .contact-box .open {
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-size: min(0.9375vw, 12px);
    text-align: center;
    border-top: thin solid #fff;
    margin-left: min(0.390625vw, 5px);
    margin-right: min(0.390625vw, 5px);
    margin-top: min(0.46875vw, 6px);
    height: min(2.34375vw, 30px);
  }

  .sm-header .red-line-box {
    position: absolute;
    top: min(7.8125vw, 100px);
    width: min(100vw, 1280px);
  }

  h1 {
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
  }

  #sm-name {
    font-size: min(3.333594vw, 42.67px);
    font-weight: 700;
    width: min(50vw, 640px);
    margin-top: min(6.25vw, 80px);
    float: right;
  }

  #sm-LOGO-image {
    text-align: center;
    height: 0;
    margin-top: min(6.25vw, 80px);
    width: min(50vw, 640px);
    float: left;
  }

  #sm-top #sm-LOGO-image .top-logo-img {
    width: 65%;
  }

  .sm-top {
    display: block;
    position: relative;
    background-image: url(../images/HP_smc_000_img/000-02.png);
    height: min(85vw, 1088px);
    float: left;
    width: min(100vw, 1280px);
    animation-name: fadeInAnime;
    animation-duration: 3s;
    animation-fill-mode: forwards;
    opacity: 0;
    margin: auto;
  }

  .sm-top div {
    flex-grow: 1;
  }

  .topPageImageArea {
    width: 100%;
  }

  .topPageImageArea img {
    width: 100%;
  }

  .sp-tech-box {
    background-color: #fff;
    width: min(100vw, 1280px);
    height: min(5.46875vw, 70px);
    margin-bottom: 0;
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo,
      sans-serif;
    font-size: min(3.333594vw, 42.67px);
    font-weight: 800;
    font-style: italic;
    text-align: center;
    border-top: thin solid #ce2314;
    border-bottom: thin solid #ce2314;
  }

  .declaration {
    background-color: rgba(0, 0, 0, 0.7);
    text-align: center;
    height: min(21.875vw, 280px);
    margin-top: min(32.03125vw, 410px);
    width: min(100vw, 1280px);
  }

  .new-culture {
    background: linear-gradient(rgba(255, 255, 255, 0), #ce2314);
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: min(4.792187vw, 61.34px);
    color: #fff;
    width: min(62.5vw, 800px);
    margin-left: auto;
    margin-right: auto;
    position: relative;
  }

  .new-culture-1 {
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: min(2.083594vw, 26.67px);
    color: #fff;
  }

  .new-culture-2 {
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: min(3.021094vw, 38.67px);
    color: #fff;
  }

  .new-culture-3 {
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo,
      sans-serif;
    font-size: min(1.5625vw, 20px);
    color: #fff;
  }

  .chapter {
    float: left;
    width: min(100vw, 1280px);
    padding-left: min(4.6875vw, 60px);
    position: relative;
  }

  #news {
    border-bottom: thin solid #ce2314;
    background-color: #f4f3f2;
    width: min(100vw, 1280px);
    clear: both;
    height: min(19.53125vw, 250px);
    padding-top: min(7.8125vw, 100px);
  }

  .news-list {
    margin-right: min(4.6875vw, 60px);
    width: min(32.8125vw, 420px);
    height: min(5.078125vw, 65px);
    border: thin solid #000;
    text-align: center;
    font-size: min(1.458594vw, 18.67px);
    font-weight: 700;
    position: absolute;
    top: 0;
    right: min(4.6875vw, 60px);
    color: #000;
    background-color: #fff;
  }

  #news-list .news-list-title {
    width: min(15.625vw, 200px);
    margin-left: min(7.8125vw, 100px);
    margin-top: min(1.5625vw, 20px);
    float: left;
  }

  .news-list .arrow {
    float: right;
    margin-top: min(1.796875vw, 23px);
    margin-right: min(3.125vw, 40px);
  }

  .news-item {
    border-bottom: thin solid #ce2314;
    height: min(4.6875vw, 60px);
    width: min(76.5625vw, 980px);
    margin-left: min(11.71875vw, 150px);
    margin-right: min(11.71875vw, 150px);
    cursor: pointer;
  }

  .news-item:hover {
    transition: 1s;
    background-color: #fff;
  }

  .news-latest {
    width: min(100vw, 1280px);
    margin-right: min(4.6875vw, 60px);
    background-color: #f4f3f2;
  }

  .news-latest .news-item .news-date {
    width: min(11.71875vw, 150px);
    text-align: left;
    color: #000;
    font-weight: 700;
  }

  .news-latest .news-item .newsDateTitle {
    display: flex;
    align-items: center;
    height: 100%;
  }

  .news-latest .news-item .news-detail {
    margin-left: min(1.5625vw, 20px);
  }

  .news-latest .news-item .news {
    width: min(53.125vw, 680px);
    color: #000;
  }

  .news-latest .news-item .its-new {
    width: min(7.8125vw, 100px);
    float: left;
    text-align: center;
    color: #ce2314;
    font-size: min(1.09375vw, 14px);
    font-weight: 700;
  }

  #works {
    border-bottom: thin solid #ce2314;
    float: none;
    width: min(100vw, 1280px);
    height: min(14.0625vw, 180px);
    padding-top: min(3.90625vw, 50px);
  }

  .works-box {
    transition: 1s;
    position: relative;
  }

  .works-img {
    width: min(100vw, 1280px);
    height: min(31.25vw, 400px);
    position: absolute;
    opacity: 0;
    z-index: 0;
    transition: 1s;
  }

  .works-box:hover * {
    animation-name: changeColor;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    opacity: 1;
    color: #fff;
  }

  .works-box:hover .left {
    animation-name: changeBorderColor;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    border-right-color: thin solid #fff;
  }

  .works-title {
    border-bottom: thin solid #ce2314;
    width: min(100vw, 1280px);
    height: min(31.25vw, 400px);
    position: relative;
    transition: 1s;
  }

  .works-title .left {
    width: min(50vw, 640px);
    height: min(12.5vw, 160px);
    text-align: right;
    float: left;
    color: #ce2314;
    border-right: thin solid #ce2314;
    margin-top: min(3.125vw, 40px);
    font-weight: 900;
    font-size: min(2.083594vw, 26.67px);
    opacity: 1;
  }

  .works-title .left .email {
    color: #ce2314;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-style: normal;
    font-weight: 600;
    text-align: left;
    font-size: min(1.5625vw, 20px);
    margin-left: min(10.9375vw, 140px);
    opacity: 1;
  }

  .works-title .left .title {
    color: #ce2314;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-size: min(1.875vw, 24px);
    text-align: left;
    font-weight: 600;
    margin-left: min(10.9375vw, 140px);
    opacity: 1;
  }

  .works-title .right {
    width: min(50vw, 640px);
    height: min(12.5vw, 160px);
    float: right;
    margin-top: min(3.125vw, 40px);
    opacity: 1;
  }

  .works-title .right .desc {
    color: #000;
    margin-left: min(6.25vw, 80px);
    margin-top: min(4.6875vw, 60px);
    opacity: 1;
  }

  .works-title .sm-title {
    text-align: center;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-style: normal;
    font-size: min(2.292187vw, 29.34px);
    text-shadow: 0 0;
    color: #ce2314;
    opacity: 1;
  }

  .works-title .sm-work {
    color: #ce2314;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-style: normal;
    font-size: min(2.917188vw, 37.34px);
    text-align: center;
    font-weight: 600;
    opacity: 1;
  }

  .back-image {
    width: min(100vw, 1280px);
    height: min(21.875vw, 280px);
    position: absolute;
    opacity: 0;
    z-index: 0;
    transition: 0.5s;
  }

  .works-title2 {
    border-bottom: thin solid #ce2314;
    width: min(100vw, 1280px);
    height: min(21.875vw, 280px);
    position: relative;
    transition: 1s;
  }

  .works-title2 .left {
    width: min(50vw, 640px);
    height: min(12.5vw, 160px);
    text-align: right;
    float: left;
    color: #ce2314;
    border-right: thin solid #ce2314;
    margin-top: min(3.125vw, 40px);
    font-weight: 900;
    font-size: min(2.083594vw, 26.67px);
    opacity: 1;
    z-index: 2;
  }

  .works-title2 .left .email {
    color: #ce2314;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-style: normal;
    font-weight: 600;
    text-align: left;
    font-size: min(1.5625vw, 20px);
    margin-left: min(10.9375vw, 140px);
    opacity: 1;
    z-index: 2;
  }

  .works-title2 .left .title {
    color: #ce2314;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-size: min(1.875vw, 24px);
    text-align: left;
    font-weight: 600;
    margin-left: min(10.9375vw, 140px);
    opacity: 1;
    z-index: 2;
  }

  .works-title2 .right {
    width: min(50vw, 640px);
    height: min(12.5vw, 160px);
    float: right;
    margin-top: min(3.125vw, 40px);
    opacity: 1;
    z-index: 2;
  }

  .works-title2 .right .desc {
    color: #000;
    margin-left: min(6.25vw, 80px);
    margin-top: min(4.6875vw, 60px);
    opacity: 1;
    z-index: 2;
  }

  .works-title2 .sm-title {
    text-align: center;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-style: normal;
    font-size: min(2.292187vw, 29.34px);
    text-shadow: 0 0;
    color: #ce2314;
    opacity: 1;
    z-index: 2;
  }

  .works-title2 .sm-work {
    color: #ce2314;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-style: normal;
    font-size: min(2.917188vw, 37.34px);
    text-align: center;
    font-weight: 600;
    opacity: 1;
    z-index: 2;
  }

  .sm-desc {
    border-bottom: thin solid #ce2314;
    width: min(100vw, 1280px);
  }

  .sm-desc .top {
    font-size: min(1.771094vw, 22.67px);
    font-weight: 800;
    width: min(76.5625vw, 980px);
    margin-left: min(11.71875vw, 150px);
    margin-right: min(11.71875vw, 150px);
    margin-top: min(4.6875vw, 60px);
  }

  .sm-desc .description {
    width: min(76.5625vw, 980px);
    margin-left: min(11.71875vw, 150px);
    margin-right: min(11.71875vw, 150px);
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-style: normal;
    font-size: min(1.25vw, 16px);
  }

  .sm-desc .description .sm-logo {
    width: 40%;
    height: 25%;
    display: block;
    margin: 0 auto;
    margin-top: 10%;
  }

  .sm-desc .description .sm-r {
    font-size: min(0.9375vw, 12px);
  }

  .sm-desc .description .sm-link-bt {
    color: #fff;
    border-radius: min(3.125vw, 40px);
    background-color: #ce2314;
    text-align: center;
    width: min(42.96875vw, 550px);
    height: min(5.078125vw, 65px);
    margin: 0 auto;
    margin-top: min(4.6875vw, 60px);
    position: relative;
  }

  .description .sm-link-bt .bt-msg {
    width: 100%;
    text-align: center;
    padding-top: min(1.5625vw, 20px);
  }

  .description .sm-link-bt .arrow {
    width: min(3.984375vw, 51px);
    height: min(3.984375vw, 51px);
    top: min(1.171875vw, 15px);
    right: min(3.125vw, 40px);
    position: absolute;
  }

  .org-box {
    width: min(100vw, 1280px);
    height: min(31.25vw, 400px);
    cursor: pointer;
    transition: 1s;
    position: relative;
  }

  .org-image {
    position: absolute;
    opacity: 0;
    transition: 1s;
    z-index: 0;
  }

  #org-box:hover .org-products .title {
    animation-name: changeColor;
    animation-duration: 2s;
    animation-fill-mode: forwards;
    opacity: 1;
    color: #fff;
  }

  #org-box:hover .org-image {
    animation-name: fadInPict;
    animation-duration: 2s;
    animation-fill-mode: forwards;
    opacity: 1;
  }

  .org-products {
    width: min(100vw, 1280px);
    height: min(31.25vw, 400px);
    position: relative;
  }

  .org-products .title {
    text-align: center;
    color: #ce2314;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-size: min(2.292187vw, 29.34px);
    font-weight: 600;
    width: min(100vw, 1280px);
    padding-top: min(9.375vw, 120px);
  }

  .org-products .products-link {
    text-align: center;
    width: min(39.0625vw, 500px);
    height: min(5.078125vw, 65px);
    margin-left: min(30.46875vw, 390px);
    margin-right: min(30.46875vw, 390px);
    margin-top: min(3.125vw, 40px);
    padding-top: min(1.5625vw, 20px);
    color: #000;
    font-size: min(1.458594vw, 18.67px);
    font-weight: 600;
    border: thin solid #000;
    background-color: #fff;
  }

  .org-products .products-link .arrow {
    float: right;
    margin-right: min(1.5625vw, 20px);
    width: min(3.984375vw, 51px);
    height: min(3.984375vw, 51px);
    margin-top: max(-0.234375vw, -3px);
  }

  .chapter .chapter-en {
    color: #000;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-weight: 700;
    font-size: min(2.1875vw, 28px);
  }

  .chapter-c {
    float: left;
    background-color: #000;
    width: min(100vw, 1280px);
    height: min(15.625vw, 200px);
    position: relative;
  }

  .chapter-c .chapter-en {
    color: #fff;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-weight: 700;
    font-size: min(2.1875vw, 28px);
    margin-left: min(4.6875vw, 60px);
  }

  .chapter .chapter-jp {
    color: #ce2314;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-size: min(1.09375vw, 14px);
    font-weight: 700;
  }

  .chapter-c .chapter-jp {
    color: #ce2314;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-size: min(1.09375vw, 14px);
    font-weight: 700;
    margin-left: min(4.6875vw, 60px);
  }

  #company {
    width: min(100vw, 1280px);
    height: min(85.9375vw, 1100px);
    height: min(71.875vw, 920px);
    border-bottom: thin solid #ce2314;
  }

  #company .company-link {
    text-align: center;
    width: min(32.8125vw, 420px);
    height: min(5.078125vw, 65px);
    margin-top: min(6.25vw, 80px);
    padding-top: min(1.5625vw, 20px);
    color: #000;
    font-size: min(1.458594vw, 18.67px);
    font-weight: 600;
    border: thin solid #000;
    background-color: #fff;
    margin-right: min(4.6875vw, 60px);
    right: min(2.34375vw, 30px);
    position: absolute;
    top: 0;
  }

  #company .company-link .arrow {
    margin-right: min(1.171875vw, 15px);
    width: min(3.984375vw, 51px);
    height: min(3.984375vw, 51px);
    margin-top: max(-0.234375vw, -3px);
    position: absolute;
    top: min(1.5625vw, 20px);
    right: max(-0.390625vw, -5px);
  }

  #company .change-image {
    width: min(50vw, 640px);
    height: min(70.3125vw, 900px);
    height: min(56.25vw, 720px);
    float: left;
  }

  #company .menu {
    width: min(50vw, 640px);
    height: min(70.3125vw, 900px);
    height: min(56.25vw, 720px);
    float: right;
    cursor: pointer;
  }

  #company .menu .profile {
    width: min(50vw, 640px);
    height: min(14.0625vw, 180px);
    border-left: thin solid #ce2314;
    border-bottom: thin solid #ce2314;
    background-color: #f4f3f2;
  }

  .menu .more-arrow {
    float: right;
    margin-top: min(9.375vw, 120px);
    margin-right: min(3.90625vw, 50px);
  }

  .more-arrow .arrow {
    margin-top: max(-1.171875vw, -15px);
  }

  #comSlide {
    opacity: 1;
  }

  .menu .title-jp {
    color: #000;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-size: min(1.667188vw, 21.34px);
    font-weight: 600;
    margin-top: min(5.46875vw, 70px);
    float: left;
    margin-left: min(6.25vw, 80px);
    position: absolute;
    transition: 1s;
  }

  .menu .title-en {
    color: #ce2314;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: min(1.042188vw, 13.34px);
    margin-top: min(8.203125vw, 105px);
    text-align: left;
    margin-left: min(6.25vw, 80px);
    float: left;
    transition: 1s;
  }

  #contact {
    background-image: url(../images/HP_smc_000_img/com-08.png);
    background-size: cover;
    background-position: center center;
    height: min(37.265625vw, 477px);
    width: min(100vw, 1280px);
    position: relative;
  }

  #contact .title {
    text-align: center;
    padding-top: min(5.46875vw, 70px);
  }

  #contact .title .contact-en {
    color: #000;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-size: min(2.292187vw, 29.34px);
    font-weight: 600;
  }

  #contact .title .contact-jp {
    color: #ce2314;
    font-weight: 600;
    font-size: min(1.458594vw, 18.67px);
  }

  #contact .title .message {
    margin-top: min(4.6875vw, 60px);
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-size: min(1.667188vw, 21.34px);
    font-weight: 900;
  }

  #contact .title .contact-link {
    text-align: center;
    width: min(50.78125vw, 650px);
    height: min(6.640625vw, 85px);
    padding-top: min(1.953125vw, 25px);
    color: #000;
    font-size: min(1.458594vw, 18.67px);
    font-weight: 600;
    border: thin solid #000;
    background-color: #fff;
    position: absolute;
    margin-left: min(24.609375vw, 315px);
    margin-top: min(3.125vw, 40px);
    margin-right: min(22.65625vw, 290px);
  }

  .title .contact-link .arrow {
    margin-right: min(1.5625vw, 20px);
    width: min(3.984375vw, 51px);
    height: min(3.984375vw, 51px);
    position: absolute;
    top: min(1.953125vw, 25px);
    right: min(0vw, 0px);
  }

  .sm-footer {
    width: min(100%, 1280px);
    background-color: #f4f3f2;
    margin: 0 auto;
    text-align: left;
  }

  .sm-footer .red-line {
    width: min(100%, 1280px);
    height: min(1.5625vw, 20px);
    background-color: #ce2314;
  }

  .sm-footer .site-map {
    width: min(100%, 1280px);
    height: min(29.6875vw, 380px);
  }

  .sm-footer .site-map .titles {
    padding-left: min(3.125vw, 40px);
  }

  .sm-footer .site-map .contents {
    padding-left: min(3.125vw, 40px);
    color: #000;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-size: min(1.042188vw, 13.34px);
  }

  .site-map .titles .title-box {
    width: min(15.625vw, 200px);
    height: min(7.8125vw, 100px);
    border-left: thin solid #ce2314;
    text-align: left;
    color: #ce2314;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-style: normal;
    font-size: min(1.042188vw, 13.34px);
    position: relative;
    float: left;
  }

  .titles .title-box .title {
    margin-bottom: min(0.390625vw, 5px);
    vertical-align: bottom;
    position: absolute;
    left: min(1.171875vw, 15px);
    bottom: 0;
    color: #ce2314;
  }

  .site-map .contents .contet-box {
    width: min(15.625vw, 200px);
    float: left;
    margin-top: min(1.171875vw, 15px);
    color: #000;
  }

  .sm-footer .com-info {
    width: min(100%, 1280px);
    height: min(35.15625vw, 450px);
    background-color: #000;
    padding-left: min(3.125vw, 40px);
    display: flex;
    align-items: flex-end;
  }

  .sm-footer .com-info .sm-logo {
    bottom: min(4.6875vw, 60px);
    width: min(19.53125vw, 250px);
    float: left;
    margin-bottom: min(3.125vw, 40px);
  }

  .sm-footer .com-info .sm-address {
    width: min(42.96875vw, 550px);
    float: left;
    margin-bottom: min(3.125vw, 40px);
    position: relative;
  }

  .com-info .sm-logo .footer-logo {
    height: min(6.40625vw, 82px);
    width: min(15.15625vw, 194px);
  }

  .com-info .sm-address .com-name {
    color: #fff;
    font-size: min(1.667188vw, 21.34px);
    font-weight: 600;
  }

  .com-info .sm-address .red-line {
    border-bottom: thin none #ce2314;
    width: min(3.125vw, 40px);
    height: min(0.15625vw, 2px);
    margin-top: min(1.953125vw, 25px);
  }

  .com-info .sm-address .com-transport {
    color: #fff;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-size: min(1.25vw, 16px);
    margin-top: min(1.5625vw, 20px);
  }

  .com-info .sm-address .com-open {
    color: #fff;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-size: min(1.458594vw, 18.67px);
    margin-top: min(4.6875vw, 60px);
  }

  .com-info .sm-address .com-address {
    color: #fff;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-size: min(1.458594vw, 18.67px);
    margin-top: min(1.5625vw, 20px);
  }

  .com-info .sm-address .mark-p {
    position: absolute;
        bottom: 0;
        right: 6%;
  }
  .com-info .sm-address .mark-p img {
    display: block;
    height: auto;
  }

  #footer-map {
    width: min(29.6875vw, 380px);
    height: min(23.4375vw, 300px);
    margin-bottom: min(3.125vw, 40px);
  }

  .privacy-link {
    width: min(100%, 1280px);
    height: min(1.953125vw, 25px);
    background-color: #000;
    float: left;
    padding-left: min(3.125vw, 40px);
  }

  .footer-privacy {
    font-size: min(1.25vw, 16px);
    color: #fff;
    float: left;
  }

  .spaceV10,
  .spaceV20,
  .spaceV25,
  .spaceV35,
  .spaceV40,
  .spaceV50,
  .spaceV70 {
    position: relative;
    top: 0;
    width: 100%;
    overflow: hidden;
  }

  .spaceV10 {
    height: min(0.78125vw, 10px);
  }

  .spaceV20 {
    height: min(1.5625vw, 20px);
  }

  .spaceV25 {
    height: min(1.953125vw, 25px);
  }

  .spaceV35 {
    height: min(2.734375vw, 35px);
  }

  .spaceV40 {
    height: min(3.125vw, 40px);
  }

  .spaceV50 {
    height: min(3.90625vw, 50px);
  }

  .spaceV70 {
    height: min(5.46875vw, 70px);
  }

  a.anchor,
  div.anchor {
    display: block;
    margin-top: max(-8.59375vw, -110px);
    padding-top: min(8.59375vw, 110px);
  }

  #wrapper nav ul li a,
  .menu-list,
  #company .menu .greeting:hover .title-en,
  #company .menu .profile:hover .title-en,
  #company .menu .company-name:hover .title-en,
  #company .menu .history:hover .title-en,
  #company .menu .access:hover .title-en,
  .contet-box a .title {
    color: #000;
  }

  .chapter .news-list:hover,
  .org-products .products-link:hover,
  #company .company-link:hover,
  #company .menu .greeting:hover .title-jp,
  #company .menu .profile:hover .title-jp,
  #company .menu .company-name:hover .title-jp,
  #company .menu .history:hover .title-jp,
  #company .menu .access:hover .title-jp,
  #contact .title .contact-link:hover {
    color: #ce2314;
  }

  .works-box:hover .works-img,
  .works-box:hover .back-img {
    animation-duration: 1s;
    animation-fill-mode: forwards;
    animation-name: fadInPict;
    opacity: 1;
  }

  .works-title .left .number,
  .works-title2 .left .number {
    margin-right: min(1.171875vw, 15px);
    opacity: 1;
  }

  #company .menu .greeting,
  #company .menu .company-name,
  #company .menu .history,
  #company .menu .access {
    background-color: #f4f3f2;
    border-bottom: thin solid #ce2314;
    border-left: thin solid #ce2314;
    height: min(14.0625vw, 180px);
    transition: 1s;
    width: min(50vw, 640px);
  }

  #company .menu .greeting:hover,
  #company .menu .profile:hover,
  #company .menu .company-name:hover,
  #company .menu .history:hover,
  #company .menu .access:hover {
    background-color: #fff;
  }
}

@media print, screen and (min-width: 901px) {
  .com-info .sm-address .mark-p img {
    width: 80px;
  }
}
@media print, screen and (max-width: 900px) {
  .com-info .sm-address .mark-p img {
    width: 40px;
  }
}

@media only screen and (min-width: 0px) and (max-width: 520px) {
  .br-pc {
    display: none !important;
  }

  #wrapper {
    margin-left: 80px;
  }

  #wrapper nav ul li {
    display: inline-flex;
    font-size: 16px;
    font-weight: 500;
    padding: 30px 20px 0 28px;
  }

  a.anchor {
    display: block;
    padding-top: 90px;
    margin-top: -90px;
  }

  .sm-header {
    display: flex;
    position: fixed;
    left: 0;
    top: 0;
    height: 63px;
    box-sizing: border-box;
    width: 100%;
    align-items: center;
    background-color: #fff;
    z-index: 100;
    border-bottom: 2px solid #ce2314;
  }

  .sm-header .sm-header-box {
    position: relative;
    width: 100%;
    height: 50px;
  }

  .sm-header .sm-logo-box {
    position: absolute;
    height: 75%;
    left: 10px;
    margin-top: 6px;
  }

  .sm-logo-box .sm-logo {
    height: 100%;
  }

  #wrapper nav ul li a {
    color: #fff;
  }

  .sm-header .menu {
    display: flex;
    flex-direction: column;
    position: fixed;
    right: -70%;
    width: -70%;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.7);
    color: #fff;
    transition: 0.3s;
    margin-top: 3em;
  }

  .sm-header .btn {
    position: fixed;
    top: 20px;
    right: 16px;
    z-index: 10;
    width: 20px;
    height: 20px;
  }

  .btn-line {
    display: block;
    position: relative;
    width: 100%;
    height: 2px;
    background-color: #ce2314;
    transition: 0.2s;
  }

  .btn-line::before,
  .btn-line::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #ce2314;
    transition: 0.5s;
    left: 0;
  }

  .btn-line::before {
    transform: translateY(-8px);
  }

  .btn-line::after {
    transform: translateY(8px);
  }

  .btn-line.open {
    background-color: transparent;
  }

  .btn-line.open::before,
  .btn-line.open::after {
    content: "";
    background-color: #333;
    transition: 0.2s;
  }

  .btn-line.open::before {
    transform: rotate(45deg);
  }

  .btn-line.open::after {
    transform: rotate(-45deg);
  }

  .menu-list {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: #fff;
  }

  .menu-list:hover {
    background-color: rgba(255, 255, 255, 0.5);
    color: #333;
    cursor: pointer;
    transition: 0.3s;
  }

  .menu.open {
    position: absolute;
    right: 0;
  }

  .contact-box .title {
    float: left;
    color: #fff;
    background-color: #ce2314;
    text-align: center;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-size: 13.34px;
    width: 150px;
    height: 60px;
    margin-bottom: 0;
    padding-top: 20px;
  }

  .contact-box .tel-open {
    height: 60px;
    text-align: left;
    background-color: #000;
    color: #fff;
    float: left;
  }

  .contact-box .tel {
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-size: 16px;
    font-weight: 600;
    margin-left: 5px;
    margin-right: 5px;
    text-align: center;
    height: 30px;
    padding-top: 5px;
    padding-left: 2px;
  }

  .contact-box .open {
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-size: 9.34px;
    text-align: center;
    border-top: thin solid #fff;
    margin-left: 5px;
    margin-right: 5px;
    height: 30px;
  }

  .sm-header .red-line-box {
    position: fixed;
    top: 50px;
    width: 100%;
    display: none;
  }

  #nuc-home {
    position: relative;
    width: 100%;
    background: transparent;
    background-position: 0 0;
    background-attachment: local;
    overflow: hidden;
    margin: 0 auto;
  }

  #nuc-home-center {
    position: relative;
    background: transparent;
    overflow: hidden;
    width: 100%;
    text-align: left;
    margin: 63px auto 0;
  }

  h1 {
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
  }

  #sm-name {
    font-weight: 700;
    padding-left: 10%;
    padding-right: 10%;
    width: 100%;
    font-size: 6vw;
  }

  #sm-LOGO-image {
    text-align: left;
    padding-left: 10%;
    padding-right: 10%;
    width: 100%;
    margin-top: 20px;
  }

  #sm-top #sm-LOGO-image .top-logo-img {
    width: 50%;
  }

  .top-logo-img {
    width: 100%;
  }
  .top-logo-img img {
    width: 100%;
  }

  .sm-top {
    background-image: url(../images/HP_smc_000_img/s-000-02.png);
    background-size: cover;
    background-position: center center;
    float: noe;
    animation-name: fadeInAnime;
    animation-duration: 3s;
    animation-fill-mode: forwards;
    opacity: 0;
    background-repeat: no-repeat;
    height: 80%;
    width: 100%;
  }

  .sp-tech-box {
    margin-top: 5vh;
    margin-bottom: 5vh;
    background-color: #fff;
    width: 100%;
    padding-left: 2%;
    padding-right: 2%;
    padding-top: 2%;
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo,
      sans-serif;
    font-size: 4vw;
    font-weight: 800;
    font-style: italic;
    text-align: center;
    border-top: thin solid #ce2314;
    border-bottom: thin solid #ce2314;
  }

  .declaration {
    background-color: rgba(0, 0, 0, 0.7);
    text-align: center;
    width: 100%;
    padding: 5% 7%;
  }

  .new-culture {
    background: linear-gradient(rgba(255, 255, 255, 0), #ce2314);
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: 8vw;
    text-align: center;
    color: #fff;
    width: 100%;
    position: relative;
  }

  .grand {
    width: 100%;
    margin-top: 5%;
    text-align: left;
  }

  .cloud {
    width: 100%;
    margin-top: 5%;
    text-align: left;
    padding-left: 20%;
  }

  .magma {
    width: 100%;
    margin-top: 5%;
    text-align: left;
    padding-left: 40%;
  }

  .new-culture-1 {
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: 4vw;
    color: #fff;
  }

  .new-culture-2 {
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: 5.5vw;
    color: #fff;
  }

  .new-culture-3 {
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo,
      sans-serif;
    font-size: 3vw;
    color: #fff;
    width: 100%;
    text-align: left;
  }

  .chapter {
    float: left;
    width: 100%;
    height: 100%;
    padding-left: 7%;
    position: relative;
  }

  .chapter .chapter-title-box {
    width: 20%;
    float: left;
  }

  .chapter .chapter-en {
    color: #000;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-weight: 700;
    font-size: 7vw;
  }

  .chapter .chapter-jp {
    color: #ce2314;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-size: 3vw;
    font-weight: 700;
  }

  .news-field {
    position: relative;
    width: 1280px;
    background-color: #f4f3f2;
    display: block;
    float: left;
    margin: auto;
  }

  #news {
    border-bottom: thin solid #ce2314;
    background-color: #f4f3f2;
    width: 100%;
    padding-top: 40px;
    position: relative;
    height: 140px;
  }

  .news-list {
    border: thin solid #000;
    font-size: 2.5vw;
    font-weight: 700;
    position: absolute;
    color: #000;
    background-color: #fff;
    top: 50%;
    right: 10%;
    width: 30%;
  }

  .news-list .news-list-title {
    text-align: center;
    float: left;
    padding: 8% 20%;
  }

  .chapter .news-list:hover {
    color: #ce2314;
  }

  .news-list .arrow {
    float: right;
  }

  .news-list .news-list-arrow {
    height: 5%;
  }

  .news-latest {
    width: 100%;
    padding-right: 5%;
    background-color: #f4f3f2;
  }

  .news-item {
    border-bottom: thin solid #ce2314;
    height: auto;
    width: 95%;
    margin-left: 5%;
    margin-right: 5%;
    cursor: pointer;
    padding-top: 5%;
    padding-bottom: 15px;
    position: relative;
  }

  .news-item:hover {
    transition: 1s;
    background-color: #fff;
  }

  .news-item .dateNew {
    display: flex;
  }

  .news-item .dateNew .news-date {
    width: 30%;
    text-align: left;
    color: #000;
    font-size: 3vw;
    font-weight: 700;
  }

  .news-item .dateNew .its-new {
    width: 5%;
    text-align: center;
    color: #ce2314;
    font-size: 3vw;
    font-weight: 700;
  }

  .news-item .news {
    width: 92%;
    padding-top: 2%;
    color: #000;
    font-size: 2.6vw;
  }

  .news-item .news-detail {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translate(0, -50%);
  }

  #works {
    width: 100%;
    padding-top: 40px;
    position: relative;
    height: 140px;
  }

  .works-box {
    position: relative;
    width: 100%;
    height: 100%;
  }

  .box-image1 {
    background-image: url(../images/HP_smc_000_img/s-com-17.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
  }

  .box-image2 {
    background-image: url(../images/HP_smc_000_img/s-com-18.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
  }

  .box-image3 {
    background-image: url(../images/HP_smc_000_img/s-com-19.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
  }

  .box-image4 {
    background-image: url(../images/HP_smc_000_img/s-com-20.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
  }

  .works-title {
    border-bottom: thin solid #ce2314;
    width: 100%;
    position: relative;
  }

  .works-title .left .email {
    color: #ce2314;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-style: normal;
    font-weight: 600;
    text-align: left;
    font-size: 20px;
    margin-left: 140px;
    opacity: 1;
  }

  .works-title .left .title {
    color: #ce2314;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-size: 24px;
    text-align: left;
    font-weight: 600;
    margin-left: 140px;
    opacity: 1;
  }

  .works-title .right {
    width: 640px;
    height: 160px;
    float: right;
    margin-top: 40px;
    opacity: 1;
  }

  .works-title .right .desc {
    color: #000;
    margin-left: 80px;
    margin-top: 60px;
    opacity: 1;
  }

  .works-title .sm-title {
    text-align: left;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-style: normal;
    font-size: 4vw;
    color: #fff;
    opacity: 1;
  }

  .works-title .sm-work {
    color: #fff;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-style: normal;
    font-size: 6vw;
    text-align: left;
    font-weight: 600;
    opacity: 1;
  }

  .box-image1 .works-title .sm-title {
    margin-left: 40px;
    margin-bottom: 0px;
  }

  .box-image1 .works-title .sm-work {
    margin-left: 40px;
  }

  .worksExlpain {
    width: 80%;
    margin: 0 auto;
    padding: 30px 10px;
  }

  .sm-desc {
    border-bottom: thin solid #ce2314;
    width: 100%;
    padding: 10% 7%;
  }

  .sm-desc .top {
    font-size: 3vw;
    font-weight: 800;
    width: 100%;
  }

  .sm-desc .description {
    width: 100%;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-style: normal;
    font-size: 2.3vw;
  }

  .sm-desc .description .sm-logo {
    width: 60%;
    float: left;
    height: 60%;
    margin-left: 20%;
    margin-right: 20%;
  }

  .sm-desc .description .sm-r {
    font-size: 2vw;
  }

  .sm-desc .description .sm-link-bt {
    color: #fff;
    border-radius: 40px;
    background-color: #ce2314;
    text-align: center;
    width: 70%;
    height: 40px;
    margin-left: 15%;
    margin-right: 15%;
    margin-top: 5%;
    padding-top: 2%;
  }

  .description .sm-link-bt .bt-msg {
    position: relative;
    width: 100%;
    float: left;
    color: #fff;
    font-size: 3vw;
    margin-top: 5px;
  }

  .back-image {
    width: 1280px;
    height: 280px;
    position: absolute;
    opacity: 0;
    z-index: 0;
    transition: 2s;
  }

  .works-title2 {
    border-bottom: thin solid #ce2314;
    width: 100%;
    position: relative;
    padding-bottom: 5%;
  }

  .works-title2 .number-box .right {
    padding-top: 2%;
  }

  .works-title2 .number-box .right .sm-title {
    width: 70%;
    margin-top: 6.2%;
    margin-left: 20%;
    text-align: left;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-style: normal;
    font-size: 4vw;
    color: #fff;
  }

  .works-title2 .sm-work {
    width: 70%;
    color: #fff;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-style: normal;
    font-size: 4.1vw;
    text-align: left;
    font-weight: 600;
    margin-left: 20%;
  }

  .works-title2 .desc {
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    color: #fff;
    margin-left: 10%;
    margin-top: 5%;
    font-size: 2.5vw;
  }

  .org-box {
    width: 100%;
    cursor: pointer;
    position: relative;
    background-image: url(../images/HP_smc_000_img/s-com-21.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
  }

  .org-image {
    position: absolute;
    opacity: 0;
    transition: 2s;
    z-index: 0;
  }

  .org-products {
    width: 100%;
    position: relative;
    padding-top: 10%;
    padding-bottom: 10%;
  }

  .org-products .title {
    text-align: center;
    color: #fff;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-size: 4.5vw;
    font-weight: 600;
    width: 100%;
  }

  .org-products .products-link {
    text-align: center;
    width: 70%;
    height: 40px;
    margin-left: 15%;
    margin-right: 15%;
    margin-top: 10%;
    padding-top: 2%;
    color: #000;
    font-size: 3vw;
    font-weight: 600;
    border: thin solid #000;
    background-color: #fff;
  }

  #company {
    width: 100%;
    border-bottom: thin solid #ce2314;
    padding-bottom: 30%;
    float: inherit;
  }

  .company-image-box {
    width: 100%;
    height: auto;
  }

  .chapter-c {
    width: 100%;
    float: left;
    background-color: #000;
    padding-top: 5%;
    padding-bottom: 10%;
    position: relative;
  }

  .chapter-c .chapter-en {
    color: #fff;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-weight: 700;
    font-size: 7vw;
    margin-left: 7%;
  }

  .chapter-c .chapter-jp {
    color: #ce2314;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-size: 3vw;
    font-weight: 700;
    margin-left: 7%;
  }

  .chapter-c .company-link {
    text-align: center;
    width: 40%;
    margin-top: 16%;
    padding-top: 1%;
    padding-bottom: 1%;
    color: #000;
    font-size: 3vw;
    font-weight: 600;
    border: thin solid #000;
    background-color: #fff;
    margin-right: 7%;
    right: 0;
    position: absolute;
    top: 0;
  }

  .menu .more-arrow {
    float: right;
    margin-top: 120px;
    margin-right: 50px;
  }

  .more-arrow .arrow {
    margin-top: -15px;
  }

  .menu .title-jp {
    color: #000;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-size: 4vw;
    font-weight: 600;
    margin-top: 10%;
    float: left;
    margin-left: 7%;
    position: absolute;
    transition: 1s;
  }

  .menu .title-en {
    color: #ce2314;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 2vw;
    margin-top: 16%;
    text-align: left;
    margin-left: 7%;
    float: left;
    transition: 1s;
  }

  #contact {
    background-image: url(../images/HP_smc_000_img/s-com-23.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    width: 100%;
    position: relative;
    padding-top: 5%;
    padding-bottom: 20%;
    float: left;
  }

  #contact .title {
    text-align: center;
    padding-top: 2%;
  }

  #contact .title .contact-en {
    color: #000;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-size: 6vw;
    font-weight: 600;
  }

  #contact .title .contact-jp {
    color: #ce2314;
    font-weight: 600;
    font-size: 3vw;
  }

  #contact .title .message {
    margin-top: 12%;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-size: 2vw;
  }

  #contact .title .contact-link {
    text-align: center;
    width: 60%;
    color: #000;
    font-size: 3vw;
    font-weight: 600;
    border: thin solid #000;
    background-color: #fff;
    position: absolute;
    margin-top: 5%;
    margin-left: 20%;
    margin-right: 20%;
  }

  .sm-footer {
    width: 100%;
    background-color: #f4f3f2;
  }

  .sm-footer .red-line {
    width: 100%;
    height: 20px;
    background-color: #ce2314;
  }

  .sm-footer .com-info {
    width: 100%;
    background-color: #000;
    display: flex;
    align-items: center;
    flex-direction: column;
  }

  .sm-footer .com-info .sm-logo {
    width: 100%;
    margin-top: 10%;
  }

  .sm-footer .com-info .sm-address {
    width: 100%;
    float: left;
    margin-bottom: 5%;
  }

  .com-info .sm-logo .footer-logo {
    width: 50%;
    height: 50%;
    margin-left: 25%;
    margin-right: 25%;
  }

  .com-info .sm-address .com-name {
    color: #fff;
    font-size: 6vw;
    font-weight: 600;
    text-align: center;
    margin-top: 5%;
  }

  .com-info .sm-address .com-open {
    color: #fff;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-size: 3vw;
    margin-top: 5%;
    text-align: center;
  }

  .com-info .sm-address .com-address {
    color: #fff;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo,
      sans-serif;
    font-size: 3vw;
    margin-top: 2%;
    text-align: center;
  }

  .com-info .sm-address .mark-p {
    margin-top: 5%;
  }
  .com-info .sm-address .mark-p img {
    width: 60px;
  }

  #footer-map {
    width: 380px;
    height: 300px;
    margin-bottom: 40px;
  }

  .privacy-link {
    width: 100%;
    background-color: #000;
    float: left;
    padding-left: 40px;
    padding-bottom: 30px;
  }

  .footer-privacy {
    font-size: 2.6vw;
    color: #fff;
    float: left;
  }

  .spaceV10,
  .spaceV20,
  .spaceV25,
  .spaceV35,
  .spaceV40,
  .spaceV50,
  .spaceV70 {
    position: relative;
    top: 0;
    width: 100%;
    overflow: hidden;
  }

  .spaceV10 {
    height: 10px;
  }

  .spaceV20 {
    height: 20px;
  }

  .spaceV25 {
    height: 25px;
  }

  .spaceV35 {
    height: 35px;
  }

  .spaceV40 {
    height: 40px;
  }

  .spaceV50 {
    height: 50px;
  }

  .spaceV70 {
    height: 70%;
  }

  .pc,
  .sm-header .contact-box {
    display: none;
  }

  .red-line-box .red-line-img,
  .works-title .number-box,
  .works-title2 .number-box,
  .company-image-box .company-img,
  #company .menu {
    width: 100%;
  }

  .works-title .number-box .left {
    background-color: #ce2314;
    float: left;
    height: 2px;
    margin-top: 12.8%;
    width: 10%;
  }

  .works-title2 .number-box .left {
    background-color: #ce2314;
    float: left;
    height: 2px;
    margin-top: 12.8%;
    width: 8%;
    margin-right: 5px;
  }

  .works-title .number-box .number {
    color: #ce2314;
    float: left;
    font-size: 4vw;
    font-weight: 600;
    margin-left: 1%;
    margin-top: 10%;
  }

  .works-title2 .number-box .number {
    color: #ce2314;
    float: left;
    font-size: 5vw;
    font-weight: 600;
    margin-left: 1%;
    margin-top: 9%;
  }

  #company .menu .greeting,
  #company .menu .profile,
  #company .menu .company-name,
  #company .menu .history,
  #company .menu .access {
    background-color: #f4f3f2;
    border-bottom: thin solid #ce2314;
    border-left: thin solid #ce2314;
    float: left;
    height: 30%;
    padding-bottom: 5%;
    transition: 1s;
    width: 100%;
  }
}

.grecaptcha-badge {
  display: none;
}

.captcha_text {
  text-align: center;
  font-size: 12px;
  font-weight: normal;
}

.captcha_text a {
  color: #000;
  text-decoration: underline;
}
