@charset "UTF-8";
/* CSS Document */
/*////////////////////////////////////////////////////////

 会社案内のみに使用するスタイル

///////////////////////////////////////////////////////*/
#sigCompany {}
/*------------------------------------------------------

 =main-visual
 
-------------------------------------------------------*/
#mainVisual {
  display: flex;
  justify-content: space-between;
  padding-left: 6vw;
}
#mainVisual .kv-1 {
  width: 48%;
}
#mainVisual .kv-2 {
  position: relative;
  width: 45%;
  margin-top: -4vw;
  padding-right: 6vw;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
}
#mainVisual .kv-2 .kv-2-1 {
  width: 46%;
}
#mainVisual .kv-2 .kv-2-2 {
  position: absolute;
  right: 6vw;
  top: 12.667vw;
  width: 52%;
}
#mainVisual .loop-txt-wrap {
  position: absolute;
  bottom: 7vw;
}
#mainVisual .loop-txt {
  display: flex;
  width: 100%;
  height: 12vw; /*1500px:180px*/
  overflow: hidden;
}
#mainVisual .loop-txt p {
  flex: 0 0 auto;
  white-space: nowrap;
  font-size: 11.333vw; /*1500px:170px*/
  font-weight: 500;
  line-height: 1;
  overflow: hidden;
}
#mainVisual .loop-txt p span {
  display: inline-block;
  margin-right: clamp(60px, 8vw, 8vw); /*1500px:120px*/
  color: rgba(0, 0, 0, .0);
  -webkit-text-stroke: 1px #ccc;
  text-stroke: 1px #ccc;
}
#mainVisual .loop-txt p:nth-child(odd) {
  animation: loop 150s -75s linear infinite;
}
#mainVisual .loop-txt p:nth-child(even) {
  animation: loop2 150s linear infinite;
}
@keyframes loop {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes loop2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}
@media screen and (max-width: 1024px) {}
@media screen and (max-width: 820px) {}
@media screen and (max-width: 599px) {
  #mainVisual .loop-txt-wrap {
    bottom: 5vw;
  }
  #mainVisual .loop-txt {
    height: 16vw;
  }
  #mainVisual .loop-txt p {
    font-size: 15vw;
  }
}
/*------------------------------------------------------

 =message
 
-------------------------------------------------------*/
#message-wrap {
  padding-top: 13.333vw; /*1500px:200px*/
}
#message-wrap .message-group {
  display: flex;
  justify-content: space-between;
  /*margin-top: 12.667vw;*/
  background-color: #f3f6f6;
}
#message-wrap .message-group .message-body {
	position: relative;
  width: 82%;
  background-color: #fff;
  border-radius: 0 0 5.333vw 0; /*1500px:80px*/
  /*margin-top: -12.667vw;*/ /*190px*/
  padding: 0 16vw 10vw 6vw; /*0 240px 150px 90px*/
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
#message-wrap .message-group .message-body::after {
    position: absolute;
    content: "";
    top: 0;
    right: -5.333vw;
    background: transparent;
    width: 5.333vw;
    height: 5.333vw;
    border-top-left-radius: 5.333vw;
    box-shadow: -5.333vw -5.333vw 0 5.333vw #fff;
}
#message-wrap .message-group .message-body .message-txt {
  line-height: 2;
}
#message-wrap .message-group .message-body .message-name {
  font-size: clamp(1.6rem, 1.6vw, 1.6vw); /*1500px:24px*/
  margin-top: 4vw;
}
#message-wrap .message-group .message-body .message-name span {
  display: block;
  font-size: clamp(1.2rem, 1.067vw, 1.067vw); /*1500px:16px*/
}
#message-wrap .message-group .message-visual {
  position: relative;
  width: 18%;
  margin-top: -12.667vw; /*190px*/
  padding-right: 6vw;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
#message-wrap .message-group .message-visual .message-pic {
  margin-left: -10vw;
}
@media screen and (max-width: 1024px) {}
@media screen and (max-width: 599px) {
  #message-wrap .message-group {
    display: block;
    margin-top: 0;
  }
  #message-wrap .message-group .message-body {
    width: 94vw;
    margin-right: 6vw;
    padding: 6vw;
    margin-top: 0;
  }
  #message-wrap .message-group .message-visual {
    width: 100%;
    margin-top: -12vw;
    padding: 0 3vw 0 32vw;
  }
  #message-wrap .message-group .message-visual .message-pic {
    margin-left: 0;
  }
}
/*------------------------------------------------------

 =profile / history
 
-------------------------------------------------------*/
.company-profile-wrap .section-inner-r {
  display: flex;
  flex-wrap: wrap;
}
.company-profile-wrap .section-inner-r .profile-headline {
  width: 35%;
  padding-right: 2vw;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.company-profile-wrap .section-inner-r .profile-body {
  width: 65%;
}
/*table*/
.company-profile-wrap table.tab-normal th {
  width: 30%;
  background-color: transparent;
}
@media screen and (max-width: 1024px) {
  /*table*/
  .company-profile-wrap table.tab-normal th {
    width: 100%;
    background-color: #f5f5f5;
  }
}
@media screen and (max-width: 599px) {
  .company-profile-wrap .section-inner-r {
    display: block;
  }
  .company-profile-wrap .section-inner-r .profile-headline {
    width: 100%;
    padding-right: 0;
  }
  .company-profile-wrap .section-inner-r .profile-body {
    width: 100%;
  }
}
/*------------------------------------------------------

 =sales office
 
-------------------------------------------------------*/
ul.office-group {
  display: flex;
  flex-wrap: wrap;
}
ul.office-group li {
  width: 50%;
  display: flex;
  justify-content: space-between;
  margin-top: 4vw;
}
ul.office-group li:nth-of-type(1), ul.office-group li:nth-of-type(2) {
  margin-top: 0;
}
ul.office-group li .office-visual {
  width: 33.5%;
}
ul.office-group li .office-body {
  width: 62%;
  padding-right: 2vw;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
ul.office-group li .office-body .office-headline {
  font-size: clamp(1.6rem, 1.2vw, 1.2vw); /*1500px:18px*/
}
ul.office-group li .office-body .office-info {
  margin: 1vw 0;
}
@media screen and (max-width: 820px) {
  ul.office-group {
    display: block;
  }
  ul.office-group li {
    width: 100%;
	  margin-top: 8vw;
  }
  ul.office-group li:nth-of-type(2) {
    margin-top: 8vw;
  }
	ul.office-group li .office-body {
  padding-right: 0;
}
}
/*------------------------------------------------------

 =common
 
-------------------------------------------------------*/
/*link*/
.link-blank {
  display: inline-block;
}
.link-blank a {
  display: flex;
  align-items: center;
  font-size: clamp(1.1rem, 0.933vw, 0.933vw); /*1500px:14px*/
  color: #cf1225;
  text-decoration: none !important;
  letter-spacing: 0.1em;
}
.link-blank a .txt {
  position: relative;
}
.link-blank a .txt::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: -0.1em;
  width: 100%;
  height: 1px;
  -webkit-transform: scale(0, 1);
  -ms-transform: scale(0, 1);
  transform: scale(0, 1);
  transform-origin: right top;
  background-color: #cf1225;
  -webkit-transition: transform .3s;
  transition: transform .3s;
}
.link-blank a:hover .txt::after {
  transform-origin: left top;
  -webkit-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  transform: scale(1, 1);
}
.link-blank a .icon {
  position: relative;
  top: clamp(-0.6rem, -0.7vw, -0.7vw);
  right: 0;
  margin-left: 10px;
}
.link-blank a .icon::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: clamp(1rem, 0.7vw, 0.7vw);
  height: clamp(1rem, 0.7vw, 0.7vw);
  /*margin-top: -0.35vw;*/
  background: url(/assets/common/img/icon-blank-red.svg) no-repeat 0 0;
  background-size: contain;
}
@media screen and (max-width: 599px) {
  .link-blank a .icon {
    top: -1.5vw;
  }
}