/* 全体 */
.top-pc {
  width: 100%;
  position: relative;
  background-color: #fff;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  text-align: left;
  font-size: 5.208vw;
  color: #f2f2f2;
  font-family: Inter;
  overflow: visible;
}

.div {
  position: absolute;
  top: 0vw;
  left: 0vw;
  display: flex;
  align-items: flex-start;
}
.video{
  right: 135vw;
  height: 100%;
  position: relative;
  z-index: 1;
}

.frame-parent {
  width: 19.531vw;
  height: 36.458vw;
  position: relative;
  z-index: 2;
  font-size: 0.833vw;
  color: #000;
  font-family: 'Noto Sans JP';
}

.frame-wrapper {
  position: absolute;
  top: 0vw;
  left: 0vw;
  width: 19.531vw;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.frame-container {
  align-self: stretch;
  height: 36.458vw;
  background-color: #dbdee3;
  overflow: hidden;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* トップ画像 */
.image-108-parent {
  width: 75vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25vw 6.25vw;
  box-sizing: border-box;
  position: relative;
  gap: -11.5px;
}

.image-108-icon {
  width: 79.115vw;
  position: absolute;
  margin: 0 !important;
  top: 0vw;
  left: -22.083vw;
  max-height: 100%;
  object-fit: cover;
  z-index: 0;
  flex-shrink: 0;
}

.parent {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  z-index: 6;
  flex-shrink: 0;
}

.pc-div {
  position: relative;
  font-weight: 500;
}

/* our mission配下 */
.frame-group {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 4.167vw 0vw 0vw;
  z-index: 3;
  font-size: 2.083vw;
  color: #005bac;
}

.about-us {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.frame-div {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0vw 0vw 5.208vw;
}

.pc-frame-parent {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0vw 1.25vw;
  gap: 80px;
}

.our-mission-parent {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

.our-mission {
  position: relative;
  font-weight: 600;
  background: linear-gradient(267.36deg, #a0d8ec, #0288d1 28.04%, #004fc5);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  white-space: nowrap;
}


.our-mission {
  font-size: 9vw;
  padding-right: 2vw;
  padding-bottom: 2vw;
}


.pc-div {
  position: relative;
  font-size: 0.729vw;
  font-family: 'Noto Sans JP';
}

.wrapper {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  font-size: 3.042vw;
  color: #1a1c21;
  font-family: 'Noto Sans JP';
}

.pc-b {
  align-self: stretch;
  position: relative;
  line-height: 200%;
  color: #1a1c21;
  font-family: 'Noto Sans JP';
}

.pc-it {
  margin: 0;
}

.span2 {
  color: #0288d1;
}

.span3 {
  color: #1a1c21;
}

/* View Moreボタン */
.viwe-more-parent {
  align-self: stretch;
  border-radius: 5.208vw;
  background: linear-gradient(267.36deg, #a0d8ec, #0288d1 28.04%, #004fc5);
  overflow: hidden;
  display: flex;
  align-items: center;
  padding: 0vw 1.042vw;
  box-sizing: border-box;
  min-width: 15.625vw;
  text-align: center;
  font-size: 0.833vw;
  color: #fff;
}

.viwe-more {
  flex: 1;
  position: relative;
  letter-spacing: 0.12em;
  line-height: 2.917vw;
  font-weight: 800;
  font-family: "Noto Sans JP";
}

#sp-it {
  display: inline !important;
  white-space: normal !important;
  margin: 0 !important;
  padding: 0 !important;
}

.pc-b .pc-it {
  display: block;
  margin: 0;
  padding: 0;
}

#sp-it {
  display: inline !important;
  white-space: normal !important;
  margin: 0 !important;
  padding: 0 !important;
}

#sp-it::before {
  content: " ";
}

.pc-b .pc-it {
  margin: 0;
  padding: 0;
}

.pc-b .pc-it:not(#sp-it) {
  display: inline;
}

#sp-it {
  display: inline !important;
  white-space: normal !important;
}

#sp-it::before {
  content: " ";
}

.frame-div .pc-it {
  margin: 0 !important;
  padding: 0 !important;
}

.frame-div .pc-it:nth-of-type(1) {
  display: block !important;
}

.frame-div .pc-it:nth-of-type(2),
.frame-div #sp-it {
  display: inline !important;
  white-space: normal !important;
}

.frame-div #sp-it::before {
  content: " ";
}

/* View More 矢印アイコン */
.icnext16px-icon {
  height: 0.833vw;
  width: 0.833vw;
  position: relative;
  margin-left: -1.042vw;
}

.icnext16px-icon2 {
  height: 0.833vw;
  width: 0.833vw;
  position: relative;
  margin-left: -1.042vw;
}

/* Topics配下 */
.frame-parent2 {
  align-self: stretch;
  border-radius: 0.417vw;
  background-color: #fff;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 4.167vw 0vw 5.208vw;
  gap: 50px;
  font-size: 1.875vw;
  color: #000;
}

.frame-wrapper4 {
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  left: 8vw;
}

.frame-wrapper5 {
  display: flex;
  align-items: center;
}

.topics-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.frame-parent3 {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  font-size: 0.729vw;
  font-family: 'Noto Sans JP';
}

.frame-parent4 {
  display: flex;
  align-items: center;
  padding: 0vw 0vw 0vw 1.25vw;
  gap: 32px;
}

.frame-parent5 {
  order: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.5vw;
  width: 100%;
}

.group {
  width: 14.948vw;
  height: 7.5vw;
  position: relative;
  border-radius: 0.417vw;
  background-color: #dbdee3;
  overflow: hidden;
  flex-shrink: 0;
}

.icon {
  position: absolute;
  top: -0.573vw;
  left: -0.885vw;
  width: 17.5vw;
  height: 9.896vw;
  object-fit: cover;
}


/* 矢印アイコン */
.ictab16px {
  height: 0.833vw;
  width: 0.833vw;
  position: relative;
  overflow: visible;
  flex-shrink: 0;
}

.ictab16px-child {
  position: absolute;
  width: 2.5vw;
  right: 4vw;
  bottom: 14vw;
  overflow: visible;
  z-index: 9999;
}

.icon6 {
  position: absolute;
  top: -1.094vw;
  left: -2.396vw;
  width: 20.469vw;
  height: 11.927vw;
  object-fit: cover;
}

.frame-icon {
  width: 14.948vw;
  position: relative;
  border-radius: 0.417vw;
  max-height: 100%;
  object-fit: cover;
}

.frame-parent8 {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  gap: 16px;
  font-size: 0.833vw;
}

.frame-parent9 {
  display: flex;
  align-items: center;
  gap: 50px;
  z-index: 0;
}

.icnext16px-wrapper {
  height: 1.771vw;
  width: 1.771vw;
  border-radius: 5.208vw;
  border: 1px solid #a0d8ec;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: rotate(180deg);
}

.icnext16px {
  height: 0.833vw;
  width: 0.729vw;
  position: relative;
  overflow: visible;
  flex-shrink: 0;
}

.icon7 {
  position: absolute;
  top: -0.729vw;
  left: -0.573vw;
  width: 0.365vw;
  height: 0.625vw;
  transform: rotate(-180deg);
}

.sp-frame-child {
  height: 0.729vw;
  width: 0.729vw;
  position: relative;
  border-radius: 5.208vw;
  background-color: #0288d1;
  overflow: hidden;
  flex-shrink: 0;
}

.frame-child2 {
  height: 0.729vw;
  width: 0.729vw;
  position: relative;
  border-radius: 5.208vw;
  background-color: #dbdee3;
  overflow: hidden;
  flex-shrink: 0;
}

.icnext16px-container {
  height: 1.771vw;
  width: 1.771vw;
  border-radius: 5.208vw;
  border: 1px solid #a0d8ec;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
}

.icon8 {
  position: absolute;
  top: 0.104vw;
  left: 0.208vw;
  width: 0.365vw;
  height: 0.625vw;
}

.frame-wrapper7 {
  width: 19.531vw;
  margin: 0 !important;
  position: absolute;
  top: -1.719vw;
  left: -14.063vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 1;
}

.frame-wrapper8 {
  width: 56.615vw;
  display: flex;
  align-items: center;
}

.frame-child5 {
  order: 3;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 0 0 5.208vw 5.208vw;
  margin-top: 2.083vw;
  display: block;
}

.parent3 {
  width: 16.094vw;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 0vw 0.833vw 0vw 0vw;
  box-sizing: border-box;
  gap: 20px;
}

.div8 {
  position: relative;
  line-height: 180%;
  font-weight: 500;
}

.frame-parent12 {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 48px;
  z-index: 3;
  font-size: 0.781vw;
  color: #000;
  font-family: 'Noto Sans JP';
}

.ellipse-parent {
  display: flex;
  flex-direction: column;
  gap: 4.167vw;
  padding: 6.667vw 4.167vw 0;
  width: 100vw;
  right: 4vw;
  border-radius: 5.208vw;
  background-color: #e5f4fa;
  box-sizing: border-box;
  overflow: hidden;
  position: relative;
}

.ellipse-div {
  width: 120vw;
  height: 170vw;
  position: absolute;
  top: -50vw;
  left: 40vw;
  filter: blur(26.042vw);
  border-radius: 50%;
  background-color: #caf7ff;
  transform: rotate(-12.4deg);
  z-index: 0;
}

.ellipse-icon {
  width: 46.094vw;
  height: 51.75vw;
  position: absolute;
  margin: 0 !important;
  top: 5.42vw;
  left: 0.781vw;
  object-fit: contain;
  opacity: 0.5;
  mix-blend-mode: hard-light;
  z-index: 1;
}

.sustainability-parent {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.833vw;
  z-index: 2;
  padding: 0 1.667vw;
  order: 1;
  text-align: center;
}

.sustainability {
  position: relative;
  font-style: normal;
  font-weight: 600;
  font-size: 9vw !important;
  padding-right: 2vw;
  left: 1vw;
  font-family: Inter;
  font-style: italic;
  top: -2vw;
  padding-top: 2vw;
  background: linear-gradient(267.36deg, #a0d8ec, #0288d1 28.04%, #004fc5);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

.pc-div {
  font-size: 3.333vw;
  color: #004fc5;
  letter-spacing: 0.12em;
}

.dei-wrapper {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 0 1.667vw;
  box-sizing: border-box;
}

.dei {
  width: 100%;
  position: relative;
  font-size: 0.938rem;
  line-height: 180%;
  font-family: 'Noto Sans JP';
  color: #000;
  text-align: left;
  display: inline-block;
}

.dei p {
  margin: 0 0 1.25vw;
}

.dei p:empty {
  display: none;
}

.dei {
  font-size: 3.611vw;
  line-height: 1.8;
  color: #1a1c21;
  width: 80vw;
  left: 6vw;
}

.dei p {
  margin: 0 0 1.25vw;
}

.dei p:empty {
  display: none;
}

.viwe-more-group {
  align-self: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.667vw;
  height: 12vw;
  padding: 0 4.167vw;
  min-width: 60.667vw;
  border-radius: 20.833vw;
  background: linear-gradient(267.36deg, #a0d8ec, #0288d1 28.04%, #004fc5);
  color: #fff;
  font-size: 3.611vw;
  font-weight: 700;
  box-shadow: 0 1.389vw 2.778vw rgba(2, 136, 209, 0.25);
  text-align: center;
}

.viwe-more {
  line-height: 10vw;
}

.viwe-more {
  line-height: 10vw;
}

.sustainability-image-wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: auto;
  justify-content: center;
  align-content: center;
  gap: 7.65vw 0;
  padding: 14.583vw 10vw 5.208vw 0;
}

.sustainability-image-wrapper> :last-child:nth-child(odd) {
  grid-column: 1 / -1;
  justify-self: center;
}

.sustainability-image,
.sustainability-image2 {
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.sustainability-image {
  height: 28vw;
  width: 28vw;
}

.sustainability-image2 {
  height: 24vw;
  width: 48vw;
}

.image-6-icon1 {
  width: 200%;
  position: relative;
  max-height: 100%;
  object-fit: cover;
}

.image-6-icon2,
.image-6-icon4 {
  width: 200%;
  position: relative;
  max-height: 100%;
  object-fit: cover;
}

.image-6-icon3 {
  width: 200%;
  position: relative;
  max-height: 100%;
  object-fit: cover;
}

.image-6-icon5 {
  width: 100%;
  position: relative;
  max-height: 100%;
  object-fit: cover;
  right: 10vw;
}

/* ===============================
   News セクション（タブ部分 完全版）
   =============================== */
.news-parent-wrapper {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 9.375vw;
  padding: 6.667vw 4.167vw;
  box-sizing: border-box;
}

.news-parent {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.667vw;
}

.news-parent .pc-div {
  font-size: 3.333vw;
  color: #004fc5;
  letter-spacing: 0.12em;
}

.news-tab {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 10.417vw;
  row-gap: 4.5vw;
  font-family: 'Noto Sans JP';
  font-size: 3.042vw;
  color: #0288d1;
}

.news-tab>* {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding-left: 2vw;
}

.news-tab-inner {
  grid-column: 1 / -1;
  justify-content: flex-start;
  padding-left: 2vw;
  padding-top: 1.5vw;
  margin-bottom: 0;
}

.news-tab .wrapper,
.news-tab .frame,
.news-tab .all-wrapper {
  min-height: 5.167vw;
  background: transparent;
  color: #0288d1;
  font-weight: 700;
  line-height: 1.4;
  padding: 0;
  border: none;
  box-sizing: border-box;
}

.news-tab .active-tab {
  display: inline-flex;
  justify-content: center;
  padding: 1.6vw 4vw;
  background: #0288d1;
  color: #fff;
  border-radius: 3.906vw;
  box-shadow: 0 1.042vw 2.083vw rgba(2, 136, 209, 0.25);
}

.news-tab .active-tab .all {
  color: #fff;
  line-height: 1.7;
}

.news-tab .all {
  margin: 0 !important;
  padding: 0 !important;
  font-weight: 500;
  line-height: 1.4;
}

.news-card {
  align-self: stretch;
  width: 100%;
  border-top: 0.278vw solid #e6eef5;
}

#news-group {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 3.333vw;
  padding: 0 0.278vw;
  box-sizing: border-box;
  padding-bottom: 5vw;
  padding-top: 5vw;
}

.pc-news,
.news5 {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas:
    "date badge"
    "title title";
  row-gap: 1.667vw;
  column-gap: 2.083vw;
  padding: 2.917vw 0;
  border-bottom: 0.278vw solid #e6eef5;
}

.div14 {
  grid-area: date;
  font-size: 3.056vw;
  color: #5f6b7a;
  letter-spacing: 0.04em;
  align-self: start;
}

.wrapper3 {
  width: 100%;
  position: relative;
  border-radius: 0.417vw;
  background-color: #f2f2f2;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.625vw;
  box-sizing: border-box;
  text-align: left;
  font-size: 0.625vw;
  color: #1a1c21;
  font-family: 'Noto Sans JP';
  border-radius: 1.5vw;
}

.wrapper3 .all {
  font-size: 2.778vw;
  font-weight: 800;
  margin: 0.625vw;
  letter-spacing: 0.04em;
}

.div15 {
  grid-area: title;
  font-size: 3.611vw;
  line-height: 1.8;
  color: #1a1c21;
}

.div15 a {
  color: #1a1c21;
  text-decoration: none;
}

.div15 a:hover {
  text-decoration: underline;
}

.pc-button-secondary {
  margin-top: 2.083vw;
  display: inline-flex;
  align-items: center;
  gap: 1.667vw;
  padding: 0 4.167vw;
  height: 10vw;
  min-width: 46.667vw;
  border-radius: 20.833vw;
  border: 0.278vw solid;
  background-color: #fff;
  box-shadow: 0 1.389vw 2.778vw rgba(2, 136, 209, 0.12);
  font-size: 3.611vw;
}

.div24 {
  flex: 1;
  position: relative;
  letter-spacing: 0.12em;
  line-height: 3.917vw;
  font-weight: 800;
  background: #0288d1;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: "Noto Sans JP";
}

.icnext16px-icon2 {
  width: 3.333vw;
  height: 3.333vw;
  margin-left: 0;
}

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

.parent4 {
  align-self: stretch;
  height: 1.979vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.wrapper5 {
  width: 6.615vw;
  border-radius: 0.417vw;
  background-color: #f2f2f2;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.625vw;
  box-sizing: border-box;
  font-size: 0.625vw;
  font-family: 'Noto Sans JP';
}

.div15 {
  align-self: stretch;
  position: relative;
  font-size: 2.953vw;
  font-family: 'Noto Sans JP';
}

.news5 {
  align-self: stretch;
  border-bottom: 0.052vw solid #dbdee3;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 1.25vw 0vw;
}

.pc-button-secondary {
  border-radius: 5.208vw;
  background-color: #fff;
  border: 2px solid;
  border-image: linear-gradient(269.19deg, #a0d8ec, #0288d1 28.04%, #004fc5);
  box-sizing: border-box;
  overflow: hidden;
  display: flex;
  align-items: center;
  padding: 1vw 1.042vw;
  min-width: 30.625vw;
  text-align: center;
  font-size: 2.833vw;
}

.pc-button-secondary {
  margin-top: 2.083vw;
  display: inline-flex;
  align-items: center;
  gap: 1.667vw;
 
  height: 10vw;
  min-width: 46.667vw;
  padding: 0 4.167vw;
 
  border-radius: 20.833vw;          /* 角丸そのまま */
  border: 0.278vw solid transparent; /* “枠線幅”だけ確保 */
 
  /* 中は白、枠だけグラデ */
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(269.19deg, #a0d8ec, #0288d1 28.04%, #004fc5) border-box;
 
  box-shadow: 0 1.389vw 2.778vw rgba(2, 136, 209, 0.12);
}

.viwe-more2 {
  flex: 1;
  position: relative;
  letter-spacing: 0.12em;
  line-height: 2.917vw;
  font-weight: 800;
  background: linear-gradient(269.19deg, #a0d8ec, #0288d1 28.04%, #004fc5);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.company-wrapper {
  align-self: stretch;
  border-radius: 0.417vw;
  background-color: #fff;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 5.208vw 0vw 6.25vw 1.25vw;
  gap: 48px;
}

.company-parent {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0vw 1.25vw 0vw 0vw;
  gap: 8px;
}

.pc-parent {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.group {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 48px;
  font-size: 1.042vw;
  color: #000;
  font-family: 'Noto Sans JP';
}

.frame-wrapper10 {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0vw 1.25vw 0vw 0vw;
}

.frame-parent25 {
  align-self: stretch;
  background-color: #fff;
  border-top: 0.052vw solid #dbdee3;
  border-bottom: 0.052vw solid #dbdee3;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2.292vw 0.833vw;
  gap: 20px;
}

.pc-parent {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.child {
  width: 1.042vw;
  position: relative;
  max-height: 100%;
}

.frame-parent26 {
  align-self: stretch;
  background-color: #fff;
  border-bottom: 0.052vw solid #dbdee3;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2.292vw 0.833vw;
  gap: 20px;
}

.image-121-parent {
  align-self: stretch;
  height: 17.969vw;
  position: relative;
  border-radius: 1.563vw 0vw 0vw 1.563vw;
  background-color: #dbdee3;
  overflow: hidden;
  flex-shrink: 0;
}

.image-121-icon {
  position: absolute;
  top: -8.802vw;
  left: -5.938vw;
  width: 38.646vw;
  height: 50vw;
  object-fit: cover;
}

.pixta-92010446-icon {
  position: absolute;
  top: -18.955vw;
  left: -46.615vw;
  border-radius: 0.833vw;
  width: 91.458vw;
  height: 43.281vw;
  object-fit: cover;
}

.frame-parent10 {
  align-self: stretch;
  background: linear-gradient(240.08deg, #a0d8ec, #0288d1 25.36%, #004fc5);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4.167vw 2.083vw;
  gap: 50px;
  color: #fff;
}

.frame-parent11 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.recruit {
  position: relative;
  font-weight: 600;
}

.div29 {
  position: relative;
  font-size: 0.833vw;
  font-family: 'Noto Sans JP';
}

.frame-parent28 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 80px;
  text-align: center;
  font-size: 1.042vw;
  font-family: 'Noto Sans';
}

.frame-parent29 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  gap: 80px;
}

.frame-parent30 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  z-index: 0;
}

.wrapper10 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

.b9 {
  position: relative;
  letter-spacing: -0.02em;
  line-height: 180%;
}

.wrapper11 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-size: 0.729vw;
}

.mask-group {
  width: 12.76vw;
  height: 18.125vw;
  position: absolute;
  margin: 0 !important;
  top: -2.24vw;
  left: 27.422vw;
  mix-blend-mode: normal;
  z-index: 1;
}

.image-105-icon {
  position: absolute;
  top: -1.354vw;
  left: -12.135vw;
  width: 34.531vw;
  height: 23.021vw;
  object-fit: cover;
}

.sp-mask-group {
  width: 12.76vw;
  height: 18.125vw;
  position: absolute;
  margin: 0 !important;
  top: 11.302vw;
  left: -29.974vw;
  mix-blend-mode: hard-light;
  z-index: 2;
}

.sp-image-105-icon {
  position: absolute;
  top: -3.222vw;
  left: -17.344vw;
  width: 40.823vw;
  height: 27.229vw;
  object-fit: cover;
}

.image-117-icon {
  position: absolute;
  top: 0.938vw;
  left: -23.385vw;
  width: 41.755vw;
  height: 16.25vw;
  object-fit: cover;
}

.image-119-icon {
  position: absolute;
  top: -2.656vw;
  left: -19.115vw;
  width: 48.281vw;
  height: 27.031vw;
  object-fit: cover;
}

.image-118-icon {
  position: absolute;
  top: -9.167vw;
  left: -9.167vw;
  width: 63.49vw;
  height: 33.073vw;
  object-fit: cover;
}

.mask-group2 {
  width: 12.76vw;
  height: 18.125vw;
  position: absolute;
  margin: 0 !important;
  top: -8.49vw;
  left: 41.849vw;
  mix-blend-mode: normal;
  z-index: 3;
}

.sp-image-117-icon {
  position: absolute;
  top: -0.313vw;
  left: -27.604vw;
  width: 48.125vw;
  height: 18.698vw;
  object-fit: cover;
}

.mask-group3 {
  width: 12.76vw;
  height: 18.125vw;
  position: absolute;
  margin: 0 !important;
  top: 11.302vw;
  left: 41.849vw;
  mix-blend-mode: normal;
  z-index: 4;
}

.image-116-icon {
  position: absolute;
  top: -1.667vw;
  left: -5.469vw;
  width: 37.969vw;
  height: 22.031vw;
  object-fit: cover;
}

.sp-viwe-more-parent {
  border-radius: 5.208vw;
  background-color: #fff;
  border: 2px solid #fff;
  box-sizing: border-box;
  overflow: hidden;
  display: flex;
  align-items: center;
  padding: 0vw 1.042vw;
  min-width: 15.625vw;
  z-index: 5;
  font-size: 0.833vw;
  font-family: Inter;
}

.mask-group-parent {
  display: flex;
  align-items: center;
  gap: 24px;
}

.mask-group4 {
  height: 13.021vw;
  width: 9.167vw;
  position: relative;
  mix-blend-mode: normal;
}

.image-105-icon4 {
  position: absolute;
  top: -0.973vw;
  left: -8.718vw;
  width: 24.802vw;
  height: 16.542vw;
  object-fit: cover;
}

.sp-image-116-icon {
  position: absolute;
  top: -4.34vw;
  left: -21.702vw;
  width: 33.448vw;
  height: 19.422vw;
  object-fit: cover;
}

.image-105-icon5 {
  position: absolute;
  top: -2.315vw;
  left: -12.459vw;
  width: 29.328vw;
  height: 19.563vw;
  object-fit: cover;
}

.image-117-icon3 {
  position: absolute;
  top: 0.673vw;
  left: -16.8vw;
  width: 29.995vw;
  height: 11.677vw;
  object-fit: cover;
}

.sp-image-119-icon {
  position: absolute;
  top: -1.908vw;
  left: -13.732vw;
  width: 34.682vw;
  height: 19.417vw;
  object-fit: cover;
}

.image-115-icon {
  position: absolute;
  top: -1.946vw;
  left: -6.024vw;
  width: 31.255vw;
  height: 17.505vw;
  object-fit: cover;
}

.frame-wrapper11 {
  align-self: stretch;
  border-radius: 0.417vw;
  background-color: #f2f2f2;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 2.604vw 1.25vw;
}

.pc-container {
  width: 100%;
  position: relative;
  background-color: #f2f2f2;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 0 1.5rem;
  box-sizing: border-box;
}

.logo-container {
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  align-content: center;
  gap: 2rem;
}

.iso {
  height: 3.813rem;
  width: 8.125rem;
  overflow: hidden;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.logo-20000-1-icon {
  flex: 1;
  position: relative;
  max-width: 100%;
  overflow: hidden;
  max-height: 100%;
  object-fit: cover;
}

.logo-20000-2-icon {
  flex: 1;
  position: relative;
  max-width: 100%;
  overflow: hidden;
  max-height: 100%;
  object-fit: cover;
}

.iso3 {
  height: 3.813rem;
  width: 8.188rem;
  overflow: hidden;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.sp-pixta-92010446-icon {
  position: absolute;
  top: 0vw;
  left: 4.948vw;
  border-radius: 1.563vw;
  width: 32.26vw;
  height: 22.099vw;
  object-fit: cover;
}

.adobestock-1519197171-1-icon {
  position: absolute;
  top: 0vw;
  left: 4.427vw;
  width: 33.385vw;
  height: 22.24vw;
  object-fit: cover;
}

.movin-on-parent {
  background: #f2f3f5;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  font-size: 16px;
  color: #1a1c21;
  box-sizing: border-box;
}

.movin-on-parent>.pc-parent {
  width: 100% !important;
  max-width: none !important;
  display: block !important;
  flex: none !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  gap: 0 !important;
  background: #fff !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-sizing: border-box !important;
}

.movin-on-parent>.pc-parent .wrapper8 {
  width: 100% !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px 16px 24px !important;
  margin: 0 !important;
  background: #fff !important;
  border-bottom: 1px solid #dbdee3 !important;
  box-sizing: border-box !important;
}

.movin-on-parent>.pc-parent .wrapper8::after {
  content: "›";
  font-size: 22px;
  color: #0288d1;
  margin-left: auto;
  line-height: 1;
  position: relative;
  top: 1px;
  flex-shrink: 0;
}

.all {
  letter-spacing: .02em;
}

.movin-on-parent>.pc-parent .wrapper8 {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  padding: 16px 44px 16px 24px !important;
  box-sizing: border-box !important;
}

.about-us-parent {
  align-self: stretch;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.about-us-parent {
  overflow: visible !important;
}

.movin-on-parent>.pc-parent .wrapper8 .about-us-parent {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.movin-on-parent>.pc-parent .wrapper8 .about-us-parent .all {
  font-weight: 700;
  margin: 0 !important;
  text-align: left !important;
  letter-spacing: .02em;
}

.movin-on-parent>.pc-parent .wrapper8 .about-us-parent {
  width: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0 !important;
}

.movin-on-parent>.pc-parent .wrapper8 .about-us-parent .all {
  margin: 0 !important;
  text-align: left !important;
  font-weight: 700;
  letter-spacing: .02em;
}

.movin-on-parent>.pc-parent .wrapper8::after {
  content: "›";
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 22px;
  line-height: 1;
  color: #0288d1;
}

.icnext16px-icon4 {
  height: 1.25vw;
  width: 1.25vw;
}

.hamburger {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  width: 28px;
  height: 28px;
  padding: 4px;
  cursor: pointer;
  z-index: 10;
  overflow: visible;
}

.hamburger span {
  display: block;
  height: 3px;
  background: #1a1c21;
  border-radius: 2px;
  transition: all 0.3s ease;
}

#nav-menu {
  display: flex;
  transition: all 0.3s ease;
}

html,
body {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
  margin: 0px;
}

.top-pc {
  flex: 1 0 auto;
  width: 100%;
  overflow-x: hidden;
}

.top-pc .container {
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

img,
svg,
video,
canvas {
  height: auto;
}

.top-pc {
  width: 100%;
  overflow-x: hidden;
}

.frame-parent,
.frame-wrapper,
.frame-container {
  position: static !important;
  width: 100% !important;
  height: auto !important;
}

.image-108-parent {
  width: 100% !important;
  padding: 0 !important;
  box-sizing: border-box;
  display: block;
  height: 180vw;
}

.image-108-icon {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  left: auto !important;
  top: auto !important;
  display: block !important;
}

.frame-child,
.frame-item,
.frame-inner,
.rectangle-div {
  display: none !important;
}

.union-parent {
  position: static !important;
  width: 100% !important;
  display: flex !important;
  align-items: center;
  gap: 12px;
  padding: 16px 16px 0 !important;
  box-sizing: border-box;
}

.union-icon {
  width: 40vw !important;
  max-width: 220px;
  height: auto !important;
}

.it {
  color: #1a1c21 !important;
  font-size: 4.2vw;
  line-height: 1.6;
  font-weight: 700;
}

.it .span {
  color: #0288d1;
}

.frame-group {
  padding: 16vw 16px 0 !important;
  font-size: 4.5vw;
  color: #005bac;
}

.pc-frame-parent {
  padding: 0 16px !important;
  gap: 16vw !important;
  margin-bottom: 20.167vw;
}

.pc-b {
  color: #1a1c21;
  line-height: 1.9 !important;
  font-size: 5vw;
}

.viwe-more-parent {
  align-self: center !important;
  border-radius: 9999px !important;
  padding: 0 16px !important;
  min-width: 52vw !important;
  width: 80vw;
  display: flex;
  align-items: center;
}

.viwe-more {
  line-height: 40px !important;
  font-size: 3.8vw;
  margin: 2vw;
}

.topics-error-msg{
  font-size: 4vw;
}

.icnext16px-icon {
  width: 3vw !important;
  height: 3vw !important;
}

#topics-root {
  width: 100%;
  padding: 0 4vw  !important;
  box-sizing: border-box;
}

#topics-root .topics {
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
  margin: 0 auto !important;
}

#topics-root .topics .topic-parent {
  display: flex !important;
  align-items: stretch !important;
  will-change: transform;
}

.topic-parent{
  gap:24px;
}

#topics-root .topics .topic {
  flex: 0 0 auto !important;
  width: 100% !important;
}


#topics-root .topic .topic-child {
  position: static !important;
  inset: auto !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 3.6vw !important;
  background: #f2f6fb !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .05);
  box-sizing: border-box !important;
}

#topics-root .movin-on-frame {
  margin-top: 2.8vw !important;
}

#topics-root .movin-on-container {
  display: block !important;
  font-weight: 700;
  color: #1a1c21;
  letter-spacing: 0.02em;
  line-height: 1.6 !important;
  font-size: 3.6vw !important;
}

#topics-root .movin-on-container .pc-it {
  display: block !important;
  margin: 0 !important;
  word-break: keep-all !important;
}

#topics-root .frame-parent3 {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: auto 1fr auto !important;
  align-items: center !important;
  column-gap: 6vw !important;
  padding-top: 4vw !important;
}

#topics-root .icnext16px-wrapper,
#topics-root .icnext16px-container {
  width: 9.6vw !important;
  height: 9.6vw !important;
  min-width: 9.6vw !important;
  border-radius: 9999px !important;
  border: 1px solid #a0d8ec !important;
  background: #fff !important;
  display: grid !important;
  place-items: center !important;
}

#topics-root .icnext16px-wrapper {
  transform: rotate(180deg) !important;
}

#topics-root .icnext16px img {
  position: static !important;
  inset: auto !important;
  width: auto !important;
  height: auto !important;
  transform: none !important;
}

#topics-root .icnext16px .icon{
  width: 3vw !important;
  height: 3vw !important;
  position: relative !important;
  bottom: 1vw !important ;
  right: 0.5vw !important;
}
#topics-root .icnext16px .pc-icon{
  width: 3vw !important;
  height: 3vw !important;
  position: relative !important;
  bottom: 1vw !important ;
  right: 0.5vw !important;
}

#topics-root .frame-parent4 {
  justify-self: center !important;
  display: flex !important;
  align-items: center !important;
  gap: 3.2vw !important;
}

#topics-root .pc-frame-child,
#topics-root .frame-child2 {
  width: 2.8vw !important;
  height: 2.8vw !important;
  border-radius: 50% !important;
}

#topics-root .pc-frame-child {
  background: #0288d1 !important;
}

#topics-root .frame-child2 {
  background: #dbdee3 !important;
}

#topics-root .our-mission {
  font-size: 9vw !important;
  padding-right: 0.2em;
  line-height: 1.1 !important;
  text-align: center !important;
}

.pc-div {
  font-size: 3.2vw !important;
  top: -3vw;
}

.it {
  display: none;
}

.frame-parent2 {
  align-items: center !important;
}

.frame-parent2 .our-mission {
  line-height: 1.2 !important;
  text-align: center !important;
}

.frame-parent3 {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px !important;
  padding: 8px 0;
}

.icnext16px-wrapper,
.icnext16px-container {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Company配下 */
.company-wrapper {
  width: 100%;
  background: #fff;
  border-radius: 0;
  padding: 8vw 4vw 12vw 4vw !important;
  gap: 8vw !important;
  box-sizing: border-box;
}

.company-wrapper .our-mission-parent {
  align-items: center !important;
  gap: 1.6vw !important;
}

.company-wrapper .our-mission {
  font-size: 8.333vw !important;
  line-height: 1.05 !important;
  font-style: italic;
  font-weight: 700;
  background: linear-gradient(267.36deg, #a0d8ec, #0288d1 28.04%, #004fc5);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.company-wrapper .pc-div {
  font-size: 3.333vw !important;
  color: #004fc5;
  letter-spacing: .02em;
}



.company-wrapper .company-about,
.company-wrapper .div28 {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 4vw !important;
  padding: 4.667vw 0 !important;
  border-bottom: 0.26vw solid #e6eef5;
}

.company-wrapper .company-about {
  border-top: 0.26vw solid #e6eef5;
}

.company-wrapper .company-about .pc-parent,
.company-wrapper .div28 .pc-parent {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 2.667vw !important;
  margin: 0 !important;
}


.company-wrapper .child {
  width: 10.604vw !important;
  height: 6.604vw !important;
  flex: 0 0 auto;
  margin: 0 !important;
}

.company-wrapper .image-121-parent {
  width: 120% !important;
  height: 100vw !important;
  border-radius: 5.208vw 0 0 5.208vw !important;
  overflow: hidden !important;
  background: #ffffff;
  position: relative !important;
  margin-top: 6.667vw !important;
}

.company-wrapper .image-121-parent .image-121-icon,
.company-wrapper .image-121-parent .pixta-92010446-icon {
  position: static !important;
  width: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 0 !important;
}

.company-wrapper .image-121-parent,
.company-wrapper .image-121-parent * {
  top: auto !important;
  left: auto !important;
}

.company-wrapper .group {
  width: 100% !important;
  height: auto !important;
  position: static !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow: visible !important;
  flex-shrink: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  font-size: inherit !important;
  color: inherit !important;
  font-family: 'Noto Sans JP';
}

.company-wrapper .company-about,
.company-wrapper .div28 {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 4vw !important;
  padding: 8.667vw 0 !important;
  border-bottom: 0.26vw solid #e6eef5 !important;
  background: #fff !important;
}

.company-wrapper .company-about {
  border-top: 0.26vw solid #e6eef5 !important;
}

.company-wrapper .company-about .pc-parent,
.company-wrapper .div28 .pc-parent {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 2.667vw !important;
  margin: 0 !important;
}

.company-wrapper .group .all {
  font-weight: 800 !important;
  font-size: 5.167vw !important;
  color: #1a1c21 !important;
  line-height: 1.3 !important;
  letter-spacing: .02em !important;
}

.company-wrapper .group .div15 {
  font-size: 3.125vw !important;
  color: #5f6b7a !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

.company-wrapper .child {
  width: 10.604vw !important;
  height: 6.604vw !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
}

.company-wrapper .image-121-parent .image-121-icon {
  position: static !important;
  height: auto !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.company-wrapper .image-121-parent .pixta-92010446-icon {
  position: static !important;
  height: 100vw !important;
}

.company-wrapper {
  overflow: visible !important;
  padding-top: 30vw !important;
  padding-bottom: 30vw !important;
}

.company-wrapper .our-mission-parent {
  align-items: center !important;
  gap: 1.2vw !important;
}

.company-wrapper .our-mission {
  display: block !important;
  font-size: 7.2vw !important;
  line-height: 1.05 !important;
  margin: 0 !important;
}

.company-wrapper .pc-div {
  margin: 0 !important;
  margin-top: 1.6vw !important;
  margin-bottom: 6vw !important;
}

/* Recruit配下 */
.movin-on-container {
  flex: 1;
  position: relative;
  line-height: 180%;
  font-weight: 500;
}

.frame-parent12 {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15.25vw;
  padding: 10.417vw 4.167vw;
  box-sizing: border-box;
}

.frame-parent12 .frame-parent13 {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  color: #fff;
}

.frame-parent12 .frame-parent13 .pc-it {
  margin: 0;
}

.frame-parent12 .frame-parent13 .b10 {
  display: block;
  font-weight: 700;
  letter-spacing: .02em;
}

.frame-parent12 .roll-stage {
  position: relative;
  z-index: 1;
  width: fit-content;
  overflow: hidden !important;
  display: block;
}

.frame-parent12 .pc-button-secondary .icnext16px-icon2 {
  width: 3.333vw;
  height: 3.333vw;
  margin: 0;
}

/* Recruit スライドアニメーション */

.roll-stage .roll-sp img {
  width: 40.25vw;
  aspect-ratio: 3 / 4;
  height: auto;
  object-fit: cover;
  object-position: center;
  border-radius: 7.906vw;
  flex: 0 0 auto;
  margin-right: 4vw;
  opacity: 0.9;
}

.roll-sp img:last-child {
  margin-right: 0;
}

.frame-parent12 .pc-button-secondary {
  width: 50vw;
  transform: scale(1.5);
}

.frame-parent10 .pc-div {
  color: #fff;
}

.frame-parent10 .pc-it {
  font-size: 4.042vw;
  margin: 3vw !important;
}

.recruit-parent {
  padding-top: 10vw;
}

.recruit {
  font-size: 10vw;
  top: -3vw;
}

.recruit-parent .pc-div {
  left: 10vw;
}

.wrapper8 .pc-it {
  font-size: 5vw;
  padding-bottom: 4vw;
}

.wrapper9 .b10pc {
  display: none;
}

.wrapper9 .b10sp {
  display: block;
  line-height: 1.8;
  font-size: 3.542vw;
}

.roll-stage .roll-sp {
  display: inline-flex;
  flex-direction: row !important;
  align-items: center;
  will-change: transform;
  transform: translateZ(0);
}

.union2-svg,
.pc-rectangle {
  display: none;
}

/* サステナビリティ配下 */
.vector-parent .frame-child5 {
  margin-top: -8vw !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16/11 !important;
  object-fit: cover !important;
  border-radius: 0 0 5.208vw 5.208vw !important;
  display: block !important;
}

.vector-parent .frame-parent5 {
  margin-top: 4vw !important;
  padding-bottom: 20vw;
}

.ellipse-parent {
  overflow: visible !important;
  position: relative !important;
}

.frame-parent5 {
  margin-top: 4vw !important;
  position: relative;
  z-index: 3;
}

.ellipse-parent {
  background: linear-gradient(180deg, #e4f7ff, #ffffff);
  border-radius: 5.208vw 0 0 0 ;
  padding: 6vw 4vw 20vw;
  position: relative;
  overflow: visible;
}

.frame-child5 {
  position: absolute;
  bottom: -20vw;
  left: 0;
  width: 100%;
  height: auto;
  border-radius: 4.5vw;
  object-fit: cover;
  object-position: center;
  display: block;
}

.vector-parent {
  padding-top: 24vw;
  padding-bottom: 24vw;
}

.frame-parent10 .frame-parent11 {
  margin: 0px !important;
  padding: 0px !important;
}

.ellipse-parent .frame-child5 {
  margin-top: -10vw !important;
  width: 150% !important;
  height: auto !important;
  aspect-ratio: 16/10 !important;
  object-fit: cover !important;
  border-radius: 5.208vw 5.208vw !important;
  position: relative !important;
  left: -50.135vw;
  z-index: 2 !important;
  object-position: calc(50% + 46vw) center;
}

.frame-parent10 {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-left: 0;
  padding-right: 0;
}

/* 文字列スライドCSS */
.tokio-marinenichido-systems-wrapper {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  overflow: hidden;
  display: flex;
  align-items: center;
  z-index: 0;
}

.b {
  position: relative;
  width: 100vw;
  height: 26.639vw;
  padding-left: 3.333vw;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  overflow: hidden;
  font-family: "Inter", sans-serif;
  font-size: 20.417vw;
  font-weight: 900;
  color: #f2f2f2;
  top: -10vw;
  opacity: 1;
}

.tokio-marinenichido-systems {
 position: absolute;
 width: 319vw;
 transform: translate3d(0, 0, 0);
 font-family: "Inter", sans-serif;
 font-weight: 800;
 font-style: italic;
 font-size: inherit;                                             
 line-height: 1;
 white-space: nowrap;
 color: #f2f2f2;
 will-change: transform;
 z-index: -2;
}

.tokio-marinenichido-systems.is-anim{
  animation: tokio-marine-loop-animation 40s linear infinite;
}

@keyframes tokio-marine-loop-animation {
 from { transform: translate3d(0, 0, 0); }
 to { transform: translate3d(-319.8vw, 0, 0); }
}

.news-parent-wrapper .pc-button-secondary{
  width: 50vw;
  transform: scale(1.5);
  transform-origin: center;
  position: relative;
  left: 15vw;
}
.news-tab {
  --tab-indent: 2vw;
}
 
.news-tab > * {
  padding-left: var(--tab-indent);
}
 
.news-tab-inner {
  padding-left: 0;
}
 
.news-tab .active-tab {
  justify-content: flex-start;
  padding: 1.6vw 4vw 1.6vw var(--tab-indent);
}

.news-tab-inner{
  grid-column: 1 / 2;
  padding-left: 2vw;
  padding-top: 0;
}
 
.news-tab .active-tab{
  justify-content: flex-start;
}

.news-tab {
  display: flex !important;
  flex-direction: column !important;
  gap: 4.5vw !important;
  width: 100% !important;
}
 
.news-tab {
  grid-template-columns: unset !important;
  column-gap: unset !important;
  row-gap: unset !important;
}
 
.news-tab-inner {
  grid-column: auto !important;
  padding-left: 2vw !important;
  padding-top: 0 !important;
  margin-bottom: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}
 

.news-tab > * {
  padding-left: 2vw !important;
  justify-content: center !important
}

.news-tab .wrapper,
.news-tab .frame {
  display: flex !important;
  align-items: center !important;
  gap: 10.417vw !important;
  padding-left: 2vw !important;
}
 
.news-tab .active-tab {
  justify-content: flex-start !important;
  padding: 1.6vw 4vw 1.6vw 2vw !important;
}

.news-tab{
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  column-gap: 10.417vw !important;
  row-gap: 6.5vw !important;
  padding-left: 2vw !important;
  width: 100% !important;
  justify-content: start !important;
  justify-items: start !important;
  align-items: center !important;
}
 
.news-tab > *{
  padding-left: 0 !important;
  display: flex !important;
  align-items: center !important;
  min-height: 1.167vw !important;
}
 
.news-tab-inner{
  grid-column: 1 / -1 !important;
  padding-left: 0 !important;
  padding-top: 1.5vw !important;
  margin-bottom: 0 !important;
  justify-content: flex-start !important;
}
 
.news-tab .active-tab{
  justify-content: flex-start !important;
  padding: 1.6vw 4vw !important;
}

.news-tab-inner .active-tab{
  justify-content: center !important;
}

.news-tab-inner{
  padding-left: var(--tab-indent) !important;
}

.news-tab-inner > * {
  margin-left: 0 !important;
  padding-left: 0 !important;
}


.news-tab .active-tab{
  margin-left: 2vw !important;
  padding: 1.6vw 6vw !important; 
  min-height: 9.167vw !important;
  height: auto !important;
  border-radius: 2.6vw !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}
 
.news-tab .active-tab .all{
  line-height: 1.25 !important;
  white-space: normal !important;
}

.news-tab .active-tab .all{
  white-space: normal !important;
  text-wrap: balance !important;
}
 
.news-tab .active-tab{
  padding-left: 3.2vw !important;
  padding-right: 3.2vw !important;
  position: relative;
  right: 3.2vw;
}

.news-tab-inner .active-tab{
  margin-left: 0 !important;
  position: relative;
  right: 3vw;
}

.vector-parent .viwe-more-group{
  transform: scale(1.2);
}

.news-tab .tab-shift-company{
  position: relative;
  right: 20vw;
}

.about-tmns{
  height: 14.397vw !important;
}

.icnext16px-icon3{
  width: 3vw;
  height: 3vw;
}

.icnext16px-top{
  position: relative;
  top: 0.5vw;
}

.movin-on-parent .wrapper8 {
  min-height: auto !important;
  height: auto !important;
  padding: 12px 44px 12px 24px !important;
}

.sp-none{
  display: none !important;
}

#header-main{
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0.7) 0%,
    rgba(255, 255, 255, 0) 100%
  );
}

#header-main.is-after-fv {
  background: none;
}


img {
  font-size: 4vw;
  color: #000;
}

a {
  color: inherit !important;
  text-decoration: none !important;
}
