.office-top {
  position: relative;
  background-color: #fff;
  width: 100%;
  overflow: hidden;
  display: flex;
  align-items: center;
  isolation: isolate;
  gap: 10px;
  text-align: left;
  font-size: 2.7773vw;
  color: #1a1c21;
  font-family: 'Noto Sans JP';
}

.main {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 5.9718vw 0vw 0vw;
  z-index: 0;
}

.title-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 2.777vw;
  color: #1a1c21;
}

.title-inner {
  align-self: stretch;
  height: 10.417vw;
  background-color: #fff;
  overflow: hidden;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2.777vw 8.333vw;
  box-sizing: border-box;
}

.title-parent {
  width: 83.333vw;
  background-color: rgba(255, 255, 255, 0);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

.title {
  position: relative;
  letter-spacing: 0.044vw;
  font-weight: 900;
  background: linear-gradient(267.36deg, #a0d8ec, #0288d1 28.04%, #004fc5);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.company-profile {
  position: relative;
  font-size: 0.972vw;
  font-weight: 600;
  font-family: Inter;
  background: linear-gradient(267.36deg, #a0d8ec, #0288d1 28.04%, #004fc5);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.company-top-tab {
  align-self: stretch;
  height: 4.444vw;
  background-color: #f2f2f2;
  overflow: hidden;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0vw 8.333vw;
  box-sizing: border-box;
  text-align: center;
  font-size: 0.972vw;
}
 
.tab-group {
  align-self: stretch;
  width: 83.333vw;
  display: flex;
  align-items: center;
  justify-content: center;
}
 
.tab1,
.tab4 {
  align-self: stretch;
  background-color: #f2f2f2;
  border-bottom: 0.069vw solid #e3e3e3;
  border-left: 0.069vw solid #e3e3e3;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.389vw 1.111vw;
  position: relative;
  gap: 0.625rem;
  min-width: 8.333vw;
}
 
.tab5 {
  align-self: stretch;
  background-color: #f2f2f2;
  border-bottom: 0.069vw solid #e3e3e3;
  border-left: 0.069vw solid #e3e3e3;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.389vw 1.111vw;
  box-sizing: border-box;
  position: relative;
  gap: 0.625rem;
  min-width: 8.333vw;
}
 
.tab2,
.tab3,
.tab6 {
  align-self: stretch;
  background-color: #f2f2f2;
  border-bottom: 0.069vw solid #e3e3e3;
  border-left: 0.069vw solid #e3e3e3;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.389vw 1.111vw;
  position: relative;
  gap: 0.625rem;
  min-width: 8.333vw;
}
 
.tab7,
.tab8,
.tab9 {
  align-self: stretch;
  flex: 1;
  background-color: #f2f2f2;
  border-bottom: 0.069vw solid #e3e3e3;
  border-left: 0.069vw solid #e3e3e3;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.389vw 1.111vw;
  position: relative;
  gap: 0.625rem;
  min-width: 8.333vw;
}

.tab9{
  border-left: 0;
}
 
.tab-child {
  height: 5.556vw;
  width: 100%;
  position: absolute;
  margin: 0 !important;
  top: 0vw;
  left: 0vw;
  background-color: #0288d1;
  z-index: 0;
  flex-shrink: 0;
  transform: scaleX(0);
  transform-origin: left;
}
 
.tab-item {
  height: 5.209vw;
  width: 100%;
  position: absolute;
  margin: 0 !important;
  top: 0vw;
  left: 0vw;
  background-color: #0288d1;
  z-index: 0;
  flex-shrink: 0;
  transform: scaleX(1);
  transform-origin: left;
}
 
.tab-b {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
}
 
.tab1 .tab-b, .tab2 .tab-b, .tab3 .tab-b, .tab4 .tab-b,
.tab5 .tab-b, .tab6 .tab-b, .tab7 .tab-b, .tab8 .tab-b, .tab9 .tab-b {
  position: relative;
  overflow: hidden;
  text-decoration: none;
  transition: color 0.5s ease;
}
 
.tab9 .tab-b {
  color: #fff;
}
 
.tab1.is-hover .tab-child,
.tab2.is-hover .tab-child,
.tab3.is-hover .tab-child,
.tab4.is-hover .tab-child,
.tab5.is-hover .tab-child,
.tab6.is-hover .tab-child,
.tab7.is-hover .tab-child,
.tab8.is-hover .tab-child {
  animation: tabIn 0.5s ease forwards;
}
 
.tab1.is-hover .tab-b,
.tab2.is-hover .tab-b,
.tab3.is-hover .tab-b,
.tab4.is-hover .tab-b,
.tab5.is-hover .tab-b,
.tab6.is-hover .tab-b,
.tab7.is-hover .tab-b,
.tab8.is-hover .tab-b {
  color: #fff;
  font-weight: 700;
}
 
.tab1.is-leaving .tab-child,
.tab2.is-leaving .tab-child,
.tab3.is-leaving .tab-child,
.tab4.is-leaving .tab-child,
.tab5.is-leaving .tab-child,
.tab6.is-leaving .tab-child,
.tab7.is-leaving .tab-child,
.tab8.is-leaving .tab-child {
  animation: tabOutBounce 0.55s ease forwards;
}

@keyframes tabIn{
  0% {transform: scaleX(0); }
  100% {transform: scaleX(1.01); }
}
 
@keyframes tabOutBounce {
  0%   { transform: scaleX(1); }
  50%  { transform: scaleX(0); }
  60%  { transform: scaleX(0.10);}
  100% { transform: scaleX(0); }
}

/* PCで見せないやつ　DEMO */
.sp-container,
.sp-container2,
.sp-tab6-wrapper,
.message-person-parent,
.message-person-wrapper,
.tab-frame {
  display: contents !important;
}

.sp-ceo-message-title,
.sp-position {
  display: none;
}


.bread-crumbs-wrapper {
  width: 100vw;
  background-color: #fff;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.667vw 8.333vw;
  box-sizing: border-box;
  font-size: 0.833vw;
}

.bread-crumbs-parent {
  width: 83.333vw;
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.bread-top {
  height: 0.972vw;
  width: 2.5vw;
  position: relative;
  display: inline-block;
  flex-shrink: 0;
}

.bread-next-img {
  height: 0.833vw;
  width: 0.486vw;
  position: relative;
}

.bread-next {
  position: absolute;
  top: 0vw;
  left: 0vw;
  width: 0.486vw;
  height: 0.833vw;
}

.bread-link2,
.bread-link3 {
  position: relative;
}

.bread-current {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6b7075;
}

.bread-link1,
.bread-link2 {
  color: inherit;
  text-decoration: none;
  transition: color 0.01s ease;
}
 
.bread-link1:hover,
.bread-link2:hover {
  color: #6b7075;
}

.intro-contents-frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0vw 0vw 3.4717vw;
  font-size: 1.6666vw;
}

.intro-contents-wrapper {
  width: 99.9975vw;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 6.9441vw 8.3331vw;
  box-sizing: border-box;
  gap: 60px;
}

.intro-contents-parent {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 48px;
  flex-shrink: 0;
}

.intro-title-wrapper {
  width: 83.3313vw;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.intro-title {
  align-self: stretch;
  border-left: 0.2777vw solid #0288d1;
  display: flex;
  align-items: flex-start;
  padding: 0vw 0vw 0vw 1.1111vw;
}

.b2 {
  flex: 1;
  position: relative;
  line-height: 180%;
}

.intro-frame-parent {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 50px;
  font-size: 1.1111vw;
}

.intro-frame {
  align-self: stretch;
  display: flex;
  align-items: flex-start;
}

.intro-frame-group {
  align-self: stretch;
  border-radius: 1.1111vw;
  background-color: #f2f2f2;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-end;
  padding: 2.2221vw 1.6666vw;
  gap: 48px;
}

.intro-frame-container {
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.address,
.address2 {
  position: relative;
  line-height: 180%;
}

.button-primary,
.button-primary2 {
  border-radius: 6.9441vw;
  background: linear-gradient(267.36deg, #a0d8ec, #0288d1 28.04%, #004fc5);
  overflow: hidden;
  display: flex;
  align-items: center;
  padding: 0vw 1.3894vw;
  box-sizing: border-box;
  min-width: 20.8331vw;
  text-align: center;
  color: #fff;
  font-family: Inter;
  position: relative;
  cursor: pointer;
}

.viwe-more {
  flex: 1;
  position: relative;
  letter-spacing: 0.1333vw;
  line-height: 3.8891vw;
  font-weight: 800;
}

.icnext16px-icon {
  height: 1.1111vw;
  width: 1.1111vw;
  position: relative;
  margin-left: -1.3894vw;
}

.button-primary::after,
.button-primary2::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #005bac;
  opacity: 0;
  transition: opacity 600ms ease;
  pointer-events: none;
  will-change: opacity;
  z-index: 1;
}

.button-primary:hover::after,
.button-primary2:hover::after {
  opacity: 1;
}

.button-primary .viwe-more,
.button-primary .icnext16px-icon,
.button-primary2 .viwe-more,
.button-primary2 .icnext16px-icon {
  position: relative;
  z-index: 2;
}

.button-primary .icnext16px-icon,
.button-primary2 .icnext16px-icon {
  transition: transform 600ms ease;
  will-change: transform;
}

.button-primary:hover .icnext16px-icon,
.button-primary2:hover .icnext16px-icon {
  transform: translateX(0.347vw);
}

.button-primary:active .icnext16px-icon,
.button-primary2:active .icnext16px-icon {
  transform: translateX(0.267vw) scale(0.96);
}

.access-card-parent {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  font-size: 0.9721vw;
}

.access-card-frame {
  align-self: stretch;
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.line-div {
  width: 5%;
  height: 0.208vw;
  position: relative;
  border-top: 0.208vw solid #a0d8ec;
  box-sizing: border-box;
}

.access-card-child {
  height: 2.0133vw;
  width: 0.5559vw;
}

.intro-contents-wrapper .slide-animation {
  overflow: hidden;
  display: flex;
  align-items: center;
  gap: 50px;
  flex-shrink: 0;
  width: calc(100% + 16.6662vw);
  margin-left: -8.3331vw;
  margin-right: -8.3331vw;
}

.roll-item {
  flex: 0 0 auto;
  width: 33.333vw;
  height: 33.333vw;
  overflow: hidden;
  border-radius: 1vw;
}

.roll-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.another-office-wrapper {
  width: 99.9975vw;
  border-radius: 6.9441vw 0vw 0vw 6.9441vw;
  background-color: #edf5f8;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 6.9441vw 8.3331vw;
  box-sizing: border-box;
  gap: 48px;
  font-size: 1.1111vw;
}

.another-title {
  width: 83.3313vw;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-size: 1.6666vw;
}

.office-card-parent {
  align-self: stretch;
  display: flex;
  align-items: stretch;
  gap: 32px;
  max-height: none;
}

.office-image {
  align-self: stretch;
  flex: 1;
  border-radius: 1.1111vw;
  max-width: 100%;
  overflow: hidden;
  max-height: 100%;
  object-fit: cover;
  display: block;
}

.coming-soon-img {
  align-self: stretch;
  flex: 1;
  border-radius: 1.1111vw;
  overflow: hidden;
  object-fit: cover;
  max-height: 100%;
  display: block;
}

.another-office-frame {
  width: 49.5831vw;
  border-radius: 1.1111vw;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0vw 1.6666vw;
  box-sizing: border-box;
}

.office-wrapper {
  align-self: stretch;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  padding: 2.2221vw 0vw;
}

.office-parent {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
}

.office-name {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
}

.name {
  align-self: stretch;
  height: 2.5000vw;
  position: relative;
  font-size: 1.3894vw;
  line-height: 180%;
  display: inline-block;
  flex-shrink: 0;
}

.office-info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.address-parent {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}

.contact-info {
  position: relative;
  line-height: 150%;
}

.button-primary3 {
  border-radius: 6.9441vw;
  background: linear-gradient(267.36deg, #a0d8ec, #0288d1 28.04%, #004fc5);
  overflow: hidden;
  display: flex;
  align-items: center;
  padding: 0vw 1.3894vw;
  box-sizing: border-box;
  min-width: 20.8331vw;
  flex-shrink: 0;
  text-align: center;
  color: #fff;
  font-family: Inter;
}

.obp-wrapper {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.obp {
  align-self: stretch;
  position: relative;
  line-height: 180%;
}

.slide-animation {
  overflow: hidden;
  width: 100%;
}

.roll-col {
  display: flex;
  align-items: center;
}

.roll-item {
  flex: 0 0 auto;
}

.roll-item img {
  display: block;
  height: auto;
}

.roll-stage{
  display:flex;
  width: max-content;
  will-change: transform;
  transform: translate3d(0,0,0);
  -webkit-transform: translate3d(0,0,0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  gap: 2vw;
  }

.roll-item img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit:cover !important;
  backface-visibility: hidden !important;
  transform: translateZ(0) !important ;
}

