:root {
  --opening-duration: 2500ms;
  --fade-duration: 700ms;
}

.industry-solutions-index-opening {
  position: fixed;
  inset: 0;
  z-index: 300;
  padding-top: min(120px, 8.3333333333vw);
  padding-right: min(40px, 2.7777777778vw);
  background-color: #79ADE4;
  overflow: hidden;
  opacity: 1;
  transition: opacity var(--fade-duration) ease;
}
[data-opening-root].is-opening-done .industry-solutions-index-opening {
  opacity: 0;
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .industry-solutions-index-opening {
    padding-top: 24.2666666667vw;
    padding-right: 4.2666666667vw;
  }
}
.industry-solutions-index-opening--eng_img {
  width: min(1333px, 92.5694444444vw);
  margin: 0 auto;
}
@media screen and (max-width: 1023px) {
  .industry-solutions-index-opening--eng_img {
    width: 92vw;
  }
}
.industry-solutions-index-opening--wrapper {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: min(56px, 3.8888888889vw);
  margin-top: min(16px, 1.1111111111vw);
}
@media screen and (max-width: 1023px) {
  .industry-solutions-index-opening--wrapper {
    flex-direction: column;
    align-items: center;
    gap: 10.6666666667vw;
    margin-top: 8.5333333333vw;
  }
}
.industry-solutions-index-opening--title_wrapper {
  margin-top: min(96px, 6.6666666667vw);
}
@media screen and (max-width: 1023px) {
  .industry-solutions-index-opening--title_wrapper {
    margin-top: 0;
  }
}
.industry-solutions-index-opening--sub_img {
  width: min(511px, 35.4861111111vw);
}
@media screen and (max-width: 1023px) {
  .industry-solutions-index-opening--sub_img {
    width: 77.8666666667vw;
  }
}
.industry-solutions-index-opening--title_img {
  width: min(383px, 26.5972222222vw);
  margin-top: min(48px, 3.3333333333vw);
}
@media screen and (max-width: 1023px) {
  .industry-solutions-index-opening--title_img {
    width: 55.2vw;
    margin-top: 6.4vw;
  }
}
.industry-solutions-index-opening--pic_img {
  width: min(668px, 46.3888888889vw);
}
@media screen and (max-width: 1023px) {
  .industry-solutions-index-opening--pic_img {
    width: 89.6vw;
  }
}

.industry-solutions-index-contents--item {
  position: fixed;
  inset: 0;
  z-index: 100;
  padding-top: min(80px, 5.5555555556vw);
  padding-right: min(40px, 2.7777777778vw);
  overflow: hidden;
}
.industry-solutions-index-contents--item-processed_food {
  background-color: #38B27F;
}
@media screen and (max-width: 1023px) {
  .industry-solutions-index-contents--item {
    padding-top: 20vw;
    padding-right: 4.2666666667vw;
  }
}
.industry-solutions-index-contents--link {
  display: block;
  height: 100%;
  padding-top: min(40px, 2.7777777778vw);
  transition: 0.3s background-color;
}
.industry-solutions-index-contents--link:hover {
  background-color: #30bf83;
}
@media screen and (max-width: 1023px) {
  .industry-solutions-index-contents--link {
    padding-top: 4.2666666667vw;
  }
  .industry-solutions-index-contents--link:hover {
    background-color: #269667;
  }
}
.industry-solutions-index-contents--img {
  margin: 0 auto;
}
.industry-solutions-index-contents--item-processed_food .industry-solutions-index-contents--img {
  width: min(1310px, 90.9722222222vw);
}
@media screen and (max-width: 1023px) {
  .industry-solutions-index-contents--item-processed_food .industry-solutions-index-contents--img {
    width: 90.4vw;
  }
}
.industry-solutions-index-contents--wrapper {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  margin-top: min(40px, 2.7777777778vw);
}
@media screen and (max-width: 1023px) {
  .industry-solutions-index-contents--wrapper {
    flex-direction: column-reverse;
    justify-content: flex-start;
    gap: 4.2666666667vw;
    margin-top: 4.2666666667vw;
  }
}
.industry-solutions-index-contents--info_wrapper {
  width: fit-content;
  margin-top: min(24px, 1.6666666667vw);
}
@media screen and (max-width: 1023px) {
  .industry-solutions-index-contents--info_wrapper {
    width: 100%;
    margin-top: 0;
    margin-left: 6.4vw;
  }
}
.industry-solutions-index-contents--hgroup {
  width: fit-content;
}
@media screen and (max-width: 1023px) {
  .industry-solutions-index-contents--hgroup {
    position: relative;
    z-index: 1;
  }
}
.industry-solutions-index-contents--title {
  color: #ffffff;
  font-size: min(44px, 3.0555555556vw);
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1023px) {
  .industry-solutions-index-contents--title {
    font-size: 6.4vw;
  }
}
.industry-solutions-index-contents--label {
  margin-top: min(8px, 0.5555555556vw);
  padding: min(4px, 0.2777777778vw) 0;
  background-color: #ffe201;
  font-size: min(21px, 1.4583333333vw);
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .industry-solutions-index-contents--label {
    margin-top: 1.0666666667vw;
    padding: 1.0666666667vw 0;
    font-size: 3.7333333333vw;
  }
}
.industry-solutions-index-contents--sub {
  margin-top: min(8px, 0.5555555556vw);
  color: #ffffff;
  font-size: min(20px, 1.3888888889vw);
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1023px) {
  .industry-solutions-index-contents--sub {
    margin-top: 2.1333333333vw;
    font-size: 3.2vw;
  }
}
.industry-solutions-index-contents--item-processed_food .industry-solutions-index-contents--illust_img {
  width: min(540px, 37.5vw);
  margin-top: min(16px, 1.1111111111vw);
}
@media screen and (max-width: 1023px) {
  .industry-solutions-index-contents--illust_img {
    margin-left: auto;
    margin-right: 0;
  }
  .industry-solutions-index-contents--item-processed_food .industry-solutions-index-contents--illust_img {
    width: 72vw;
    margin-top: -6.4vw;
  }
}
@media screen and (max-width: 1023px) {
  .industry-solutions-index-contents--picture {
    width: 100%;
  }
}
.industry-solutions-index-contents--pic_img {
  width: min(788px, 54.7222222222vw);
}
@media screen and (max-width: 1023px) {
  .industry-solutions-index-contents--pic_img {
    width: 100%;
  }
}

.industry-solutions-index-contents_start {
  position: relative;
  width: min(270px, 18.75vw);
  height: min(54px, 3.75vw);
  margin-top: min(32px, 2.2222222222vw);
}
@media screen and (max-width: 1023px) {
  .industry-solutions-index-contents_start {
    width: 33.0666666667vw;
    height: 9.0666666667vw;
    margin-top: 6.4vw;
  }
}
.industry-solutions-index-contents_start--corner {
  position: absolute;
  z-index: 1;
  display: block;
  width: min(23px, 1.5972222222vw);
  height: min(23px, 1.5972222222vw);
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2222.5%22%20height%3D%2222.5%22%20viewBox%3D%220%200%2022.5%2022.5%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23f5ff01%22%20stroke-width%3D%225%22%20d%3D%22M2.5%2022.5v-20h20%22%20data-name%3D%22%E3%83%91%E3%82%B9%2015289%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  filter: drop-shadow(0 min(3px, 0.2083333333vw) min(6px, 0.4166666667vw) rgba(0, 0, 0, 0.16));
  transition: 0.3s filter;
}
.industry-solutions-index-contents_start:has(.industry-solutions-index-contents_start--link:hover) .industry-solutions-index-contents_start--corner {
  filter: drop-shadow(0 0 min(6px, 0.4166666667vw) #F5FF02);
}
.industry-solutions-index-contents_start--corner-top_left {
  top: max(-2px, -0.1388888889vw);
  left: max(-2px, -0.1388888889vw);
}
.industry-solutions-index-contents_start--corner-top_right {
  top: max(-2px, -0.1388888889vw);
  right: max(-2px, -0.1388888889vw);
  transform: rotate(90deg);
}
.industry-solutions-index-contents_start--corner-bottom_left {
  bottom: max(-2px, -0.1388888889vw);
  left: max(-2px, -0.1388888889vw);
  transform: rotate(270deg);
}
.industry-solutions-index-contents_start--corner-bottom_right {
  bottom: max(-2px, -0.1388888889vw);
  right: max(-2px, -0.1388888889vw);
  transform: rotate(180deg);
}
@media screen and (max-width: 1023px) {
  .industry-solutions-index-contents_start--corner {
    width: 4vw;
    height: 4vw;
    filter: drop-shadow(0 0.8vw 1.6vw rgba(0, 0, 0, 0.16));
  }
  .industry-solutions-index-contents_start:has(.industry-solutions-index-contents_start--link:hover) .industry-solutions-index-contents_start--corner {
    filter: drop-shadow(0 0.8vw 1.6vw rgba(0, 0, 0, 0.16));
  }
  .industry-solutions-index-contents_start--corner-top_left {
    top: -0.5333333333vw;
    left: -0.5333333333vw;
  }
  .industry-solutions-index-contents_start--corner-top_right {
    top: -0.5333333333vw;
    right: -0.5333333333vw;
    transform: rotate(90deg);
  }
  .industry-solutions-index-contents_start--corner-bottom_left {
    bottom: -0.5333333333vw;
    left: -0.5333333333vw;
    transform: rotate(270deg);
  }
  .industry-solutions-index-contents_start--corner-bottom_right {
    bottom: -0.5333333333vw;
    right: -0.5333333333vw;
    transform: rotate(180deg);
  }
}
.industry-solutions-index-contents_start--link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: #ffe201;
  color: #2F2F2F;
  font-size: min(26px, 1.8055555556vw);
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1023px) {
  .industry-solutions-index-contents_start--link {
    font-size: 4vw;
  }
}

.industry-solutions-index-contents_switch {
  position: fixed;
  z-index: 100;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(20px, 1.3888888889vw);
  width: min(1040px, 72.2222222222vw);
  margin: 0 auto;
  padding: min(24px, 1.6666666667vw) 0;
  background-color: #ffffff;
  border-radius: min(20px, 1.3888888889vw) min(20px, 1.3888888889vw) 0 0;
}
@media screen and (max-width: 1023px) {
  .industry-solutions-index-contents_switch {
    right: 4.2666666667vw;
    gap: 0;
    width: auto;
    margin: 0;
    padding: 0;
    border-radius: 0;
  }
}
.industry-solutions-index-contents_switch--link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: min(220px, 15.2777777778vw);
  height: min(70px, 4.8611111111vw);
  border: 5px transparent solid;
  border-radius: min(12px, 0.8333333333vw);
  color: #ffffff;
  font-size: min(14px, 0.9722222222vw);
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  opacity: 0.3;
  filter: drop-shadow(0 min(3px, 0.2083333333vw) min(6px, 0.4166666667vw) rgba(0, 0, 0, 0.16));
  transition: 0.3s opacity, 0.3s border-color;
}
.industry-solutions-index-contents_switch--link:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: min(8px, 0.5555555556vw);
  margin: auto 0;
  display: block;
  width: min(10px, 0.6944444444vw);
  height: min(10px, 0.6944444444vw);
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%229.899%22%20height%3D%229.899%22%20viewBox%3D%220%200%209.899%209.899%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222%22%20d%3D%22M4.242.707%208.485%204.95%204.242%209.193%22%20data-name%3D%22%E3%83%91%E3%82%B9%2077458%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}
.industry-solutions-index-contents_switch--link-processed_food {
  background-color: #38B27F;
}
.industry-solutions-index-contents_switch--link-hospital {
  background-color: #fda7cc;
}
.industry-solutions-index-contents_switch--link-supermarket {
  background-color: #58aeef;
}
.industry-solutions-index-contents_switch--link-bakery {
  background-color: #de9843;
}
.industry-solutions-index-contents_switch--link-sub {
  font-size: min(12px, 0.8333333333vw);
}
.industry-solutions-index-contents_switch--link.closed {
  cursor: default;
}
.industry-solutions-index-contents_switch--link.current:not(.closed), .industry-solutions-index-contents_switch--link:hover:not(.closed) {
  opacity: 1;
}
.industry-solutions-index-contents_switch--link:hover:not(.closed) {
  border-color: #FFE200;
}
@media screen and (max-width: 1023px) {
  .industry-solutions-index-contents_switch--link {
    flex: 1;
    width: auto;
    height: 13.3333333333vw;
    border-width: 0.8vw;
    border-radius: 0;
    font-size: 2.6666666667vw;
    line-height: 1.2;
    letter-spacing: -0.05em;
  }
  .industry-solutions-index-contents_switch--link:after {
    position: static;
    display: block;
    width: 2.6666666667vw;
    height: 2.6666666667vw;
    margin: 1.0666666667vw auto 0;
  }
  .industry-solutions-index-contents_switch--link-sub {
    font-size: 2.1333333333vw;
  }
  .industry-solutions-index-contents_switch--link:hover:not(.closed):not(.current) {
    opacity: 0.3;
  }
}
