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

.main {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  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;
  overflow: hidden;
  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-right: 0.069vw solid #e3e3e3;
}

.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;
}
 
.tab3 .tab-b {
  color: #fff;
}

.tab2{
  border-right: 0;
}

.tab3,
.tab4{
  border-left: 0;
}
 
.tab1.is-hover .tab-child,
.tab2.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,
.tab9.is-hover .tab-child {
  animation: tabIn 0.5s ease forwards;
}
 
.tab1.is-hover .tab-b,
.tab2.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,
.tab9.is-hover .tab-b {
  color: #fff;
  font-weight: 700;
}
 
.tab1.is-leaving .tab-child,
.tab2.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,
.tab9.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;
}

.midterm-frame {
  width: 100.0000vw;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 6.9443vw 8.3331vw;
  box-sizing: border-box;
  gap: 80px;
  text-align: center;
  font-size: 2.2229vw;
  color: #0288d1;
}

.midterm-title-parent {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.midterm-title {
  position: relative;
  line-height: 150%;
}

.midterm-movinon-wrapper {
  height: 16.6666vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.midterm-movinon-img {
  width: 24.3058vw;
  position: relative;
  max-height: 100%;
  object-fit: cover;
}

.midterm-frame-wrapper {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: left;
  font-size: 1.1110vw;
  color: #1a1c21;
}

.movin-on-wrapper {
  width: 100%;
  display: flex;
  align-items: flex-start;
  max-width: 100%;
}

.movin-on {
  flex: 1;
  position: relative;
  line-height: 180%;
  font-family: 'Noto Sans JP';
}

.movin-on2 {
  flex: 1;
  position: relative;
  line-height: 180%;
  font-size: 1.6vw;
}

.midterm-contents-frame {
  width: 100.0000vw;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0vw 8.3331vw 6.9443vw;
  box-sizing: border-box;
}

.midterm-contents-parent {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 48px;
  max-width: 100%;
}

.midterm-contents-wrapper,
.midterm-contents-wrapper2 {
  width: 83.3331vw;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.midterm-contents-top {
  align-self: stretch;
  border-left: 0.2778vw solid #0288d1;
  display: flex;
  align-items: flex-start;
  padding: 0vw 0vw 0vw 1.1110vw;
}

.midterm-vision-frame {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  text-align: center;
  font-size: 2.7772vw;
  color: #0288d1;
  font-family: Inter;
}

.vision-card {
  align-self: stretch;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0vw 1.6666vw;
  gap: 32px;
}

.vision-number,
.vision-number2 {
  width: 4.1666vw;
  position: relative;
  line-height: 150%;
  display: inline-block;
  font-weight: 700;
  flex-shrink: 0;
}

.vision-title-wrapper {
  flex: 1;
  display: flex;
  align-items: flex-start;
  padding: 1.6666vw 0vw;
  text-align: left;
  font-size: 1.3891vw;
  color: #1a1c21;
  font-family: 'Noto Sans JP';
}

.vision-title {
  position: relative;
  line-height: 150%;
  font-weight: 500;
}

.main-child {
  width: 100.0000vw;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0vw 8.3331vw 10.4172vw;
  box-sizing: border-box;
}

.plan-frame {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 100%;
}

.plan-group {
  width: 83.3331vw;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 48px;
}

.plan-card-frame {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
  font-family: Inter;
}

.plan-card-wrapper {
  align-self: stretch;
  height: 12.3611vw;
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: 32px;
}

.plan-card-parent {
  height: 12.3611vw;
  flex: 1;
  box-shadow: 0vw 0vw 0.8333vw rgba(0, 0, 0, 0.16);
  border-radius: 1.1110vw;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 1.1110vw 1.6666vw 1.6666vw 0vw;
  box-sizing: border-box;
  gap: 1vw;
}

.timely-smart-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.8333vw 2.2229vw;
  flex-shrink: 0;
}

.timely-smart-wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0.139vw; /* 元の border-bottom の太さ */
  background: linear-gradient(267.36deg, 
    #ffa600, 
    #c06000
  );
}

.timely-smart {
  position: relative;
  line-height: 100%;
  font-weight: 700;
  font-size: 1.6vw;
  padding-right: 2vw;
  padding-bottom: 0.23vw;
  background: linear-gradient(-90deg, #ffa600, #c06000);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.plan-contents-wrapper {
  align-self: stretch;
  display: flex;
  align-items: flex-start;
  padding: 0vw 2.2229vw;
  flex-shrink: 0;
  font-size: 1.3891vw;
  font-family: 'Noto Sans JP';
}

.plan-contents {
  flex: 1;
  position: relative;
  line-height: 180%;
  font-weight: 500;
}

.timely-smart-container {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.8333vw 2.2229vw;
  flex-shrink: 0;
}
 
/* グラデーション下線 */
.timely-smart-container::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0.139vw; /* 元の border-bottom の太さ */
  background: linear-gradient(267.36deg, 
    #a0d8ec, 
    #0288d1 70.04%, 
    #004fc5
  );
}

.timely-smart2 {
  position: relative;
  line-height: 100%;
  font-weight: 700;
  font-size: 1.6vw;
  padding-right: 2vw;
  padding-bottom: 0.23vw;
  background: linear-gradient(267.36deg, #a0d8ec, #0288d1 28.04%, #004fc5);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.timely-smart-frame {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.8333vw 2.2229vw;
  flex-shrink: 0;
}

.timely-smart-frame::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0.139vw; /* 元の border-bottom の太さ */
  background: linear-gradient(267.36deg, 
    #00BF45, 
    #00832F
  );
}

.timely-smart3 {
  position: relative;
  line-height: 100%;
  font-weight: 700;
  font-size: 1.6vw;
  padding-right: 2vw;
  padding-bottom: 0.23vw;
  background: linear-gradient(90deg, #00832f, #00bf45);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.timely-smart-wrapper2 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.8333vw 2.2229vw;
  flex-shrink: 0;
}

.timely-smart-wrapper2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0.139vw; /* 元の border-bottom の太さ */
  background: linear-gradient(267.36deg, 
    #E8427C, 
    #BE0042
  );
}

.timely-smart4 {
  position: relative;
  line-height: 100%;
  font-weight: 700;
  font-size: 1.6vw;
  padding-right: 2vw;
  padding-bottom: 0.23vw;
  background: linear-gradient(90deg, #be0042, #e8427c);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.movin-on-container {
  align-self: stretch;
  display: flex;
  align-items: flex-start;
  font-size: 1.1110vw;
  margin-bottom: 10vw;
}
