#description {
  margin-bottom: 80px; }
  @media screen and (max-width: 768px) {
    #description {
      margin-bottom: 40px; } }
  #description .wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center; }
    #description .wrap h2.title {
      width: 50%; }
      #description .wrap h2.title span {
        font-size: 375%; }
    #description .wrap p {
      width: 50%;
      text-align: right; }
    #description .wrap img {
      clip-path: inset(0 0 round 20px 20px 20px 20px);
      max-height: 300px;
      object-fit: cover;
      margin-top: 50px; }
    #description .wrap .swiper img {
      max-height: 500px; }

#business .three_blocks ul {
  margin-bottom: 20px; }
#business #about {
  margin-bottom: 70px; }
  #business #about .lead p {
    margin-bottom: 60px; }
#business #quality {
  margin-bottom: 100px; }
  #business #quality .wrap {
    display: flex;
    align-items: flex-start; }
    #business #quality .wrap .images {
      width: 46.5%;
      border-radius: 20px;
      clip-path: inset(0 0 round 20px 20px 20px 20px); }
      #business #quality .wrap .images img {
        vertical-align: top; }
    #business #quality .wrap ul {
      margin-left: 6.5%;
      width: 47%; }
  @media screen and (max-width: 768px) {
    #business #quality .wrap {
      display: block; }
      #business #quality .wrap .images {
        width: 100%;
        margin-bottom: 20px; }
        #business #quality .wrap .images img {
          width: 50%; }
      #business #quality .wrap ul {
        margin-left: 0;
        width: 100%; } }

#products #main-products {
  margin-bottom: 70px; }

#overview #about img {
  margin-top: 30px; }
#overview #map iframe {
  margin: 30px 0 50px 0;
  padding: 0;
  border-radius: 20px;
  width: 100%;
  height: 400px; }
#overview #history {
  margin-bottom: 100px; }
  #overview #history dl dd img {
    width: 400px;
    margin-top: 10px; }
    #overview #history dl dd img:first-of-type {
      margin-right: 10px; }

#news .news_list ul {
  background: #fff;
  border-radius: 20px;
  padding: 45px 37px;
  margin-bottom: 60px; }
  #news .news_list ul li {
    margin-bottom: 40px; }
#news .button-area {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 100px; }
  #news .button-area div {
    width: 50%; }
    #news .button-area div a {
      margin: 0 auto;
      text-decoration: none;
      border: 1px #408AC1 solid;
      line-height: 44px;
      padding-left: 17px;
      border-radius: 22px;
      display: block;
      width: 126px;
      background: #fff;
      color: #408AC1;
      overflow: hidden;
      position: relative;
      z-index: 1; }
      #news .button-area div a span {
        position: relative;
        display: inline-block;
        vertical-align: middle;
        text-decoration: none; }
      #news .button-area div a span::before, #news .button-area div a span::after {
        position: absolute;
        top: -6px;
        bottom: 0;
        left: 0;
        margin: auto;
        content: "";
        vertical-align: middle; }
      #news .button-area div a span::before {
        width: 24px;
        height: 1px;
        background: #408AC1; }
        #news .button-area div a span::before:hover {
          background: #fff; }
      #news .button-area div a::after {
        background: #408AC1;
        position: absolute;
        top: 0;
        left: 0;
        content: '';
        width: 100%;
        height: 100%;
        transform: scale(0, 1);
        transform-origin: left top;
        transition: 0.4s cubic-bezier(0.45, 0, 0.55, 1);
        z-index: -1; }
      #news .button-area div a:hover {
        color: #fff; }
      #news .button-area div a:hover::after {
        transform: scale(1, 1); }
      #news .button-area div a:hover span::after {
        border-top: 1px solid #fff;
        border-right: 1px solid #fff; }
      #news .button-area div a:hover span::before {
        background: #fff; }
      #news .button-area div a span::after {
        left: 0px;
        width: 10px;
        height: 10px;
        border-top: 1px solid #408AC1;
        border-right: 1px solid #408AC1;
        -webkit-transform: rotate(-135deg);
        transform: rotate(-135deg); }
        #news .button-area div a span::after:hover {
          border-top: 1px solid #fff;
          border-right: 1px #fff; }
    #news .button-area div:first-child a span {
      width: 40px; }
    #news .button-area div:last-child a span::before {
      left: 10px; }
    #news .button-area div:last-child a span::after {
      left: 22px;
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg); }

#news_page .body {
  background: #fff;
  border-radius: 20px;
  padding: 45px 37px;
  margin-bottom: 100px; }
  #news_page .body time {
    display: block;
    line-height: 16px;
    padding-bottom: 16px;
    margin-bottom: 30px;
    background-image: linear-gradient(90deg, #cba57c 0 20px, #fff 20px);
    background-repeat: no-repeat;
    background-size: 100% 1px;
    background-position: bottom; }

#recruit section {
  margin-bottom: 100px; }
#recruit .layout {
  margin-bottom: 80px;
  display: flex;
  align-items: flex-start; }
  #recruit .layout img {
    width: 46%;
    clip-path: inset(0 0 round 20px 20px 20px 20px); }
  #recruit .layout div {
    margin-left: 74px; }
    #recruit .layout div strong {
      font-weight: 700; }
  @media screen and (max-width: 1023px) {
    #recruit .layout div {
      margin-left: 40px; } }
  @media screen and (max-width: 768px) {
    #recruit .layout {
      display: block; }
      #recruit .layout img {
        width: 100%;
        margin-bottom: 40px; }
      #recruit .layout div {
        margin-left: 0; } }
#recruit .three_blocks ul {
  margin-bottom: 42px; }
#recruit #details a.more {
  margin: 50px auto;
  width: 166px; }
#recruit .loop {
  width: 100%;
  /*364+17*6*/
  margin: 100px auto;
  display: flex;
  overflow: hidden; }
  #recruit .loop .slide-wrapper {
    display: flex;
    animation: slide-flow 50s infinite linear 1s both; }
    #recruit .loop .slide-wrapper .slide {
      width: 364px;
      margin-right: 17px;
      object-fit: cover; }
  @media screen and (max-width: 768px) {
    #recruit .loop .slide-wrapper {
      animation: slide-flow 10s infinite linear 1s both; }
      #recruit .loop .slide-wrapper .slide {
        width: 240px;
        margin-right: 10px; } }
@keyframes slide-flow {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(-100%); } }
#contact .body {
  margin-bottom: 100px; }
  @media screen and (max-width: 768px) {
    #contact .body {
      margin-bottom: 60px; } }
  #contact .body > p {
    text-align: center; }
    @media screen and (max-width: 600px) {
      #contact .body > p {
        text-align: left; } }
#contact .number {
  display: flex;
  align-items: center;
  margin: 40px 0;
  min-width: 0; }
  #contact .number p {
    width: 49%;
    font-weight: 700;
    font-size: 300%;
    text-align: center;
    display: flex;
    justify-content: center; }
    #contact .number p span {
      font-size: 43.75%;
      margin-right: 20px;
      display: block; }
  @media screen and (max-width: 1023px) {
    #contact .number p {
      font-size: 250%; } }
  @media screen and (max-width: 600px) {
    #contact .number {
      display: block;
      padding-left: 30px; }
      #contact .number p {
        width: 100%;
        line-height: 1.5em;
        text-align: left;
        justify-content: flex-start; }
        #contact .number p span {
          width: 50px; } }

#white_page .body {
  background: #fff;
  border-radius: 20px;
  padding: 45px 37px;
  margin-bottom: 100px; }
