@charset "UTF-8";

/* BUSINESS: indexes, offices and network maps. */

@keyframes slide {
  0% {
    width: 0;
  }

  90% {
    width: 90%;
  }

  95% {
    width: 80%;
  }

  to {
    width: 100%;
  }
}

@keyframes flash {
  0% {
    width: 100%;
    left: -100%;
  }

  10% {
    width: 100%;
    left: 0%;
  }

  95% {
    width: 100%;
    left: 150%;
  }

  to {
    width: 100%;
    left: 200%;
  }
}

.p-contents__body--index {
  width: 100%;
}

.c-type-selector {
  flex-flow: column;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.c-type-selector .c-icon-select {
  color: #0000;
  font-size: 0;
  display: inline-block;
}

.c-type-selector__current,
.c-type-selector__item {
  grid-template-columns: 50px 1fr 1rem;
  display: grid;
}

ul,
ol,
li,
:is(dir, menu, ol, ul) ul {
  list-style: none;
}

::marker {
  text-emphasis-position: unset;
  display: none;
}

a *,
a:link,
a:active,
a:focus,
a:focus-visible,
a:hover,
a:target,
a:visited {
  color: inherit;
  text-decoration: none;
}

.c-content-main .title-line.title-line-red {
  grid-template-columns: 0.3em 1fr;
  gap: 0.5em;
  height: 1.5em;
  margin: 2rem 0 1rem;
  font-size: 32px;
  font-weight: 600;
  line-height: 1.5;
  display: grid;
}

.c-content-main .title-line.title-line-red:before {
  content: "";
  background-color: #ef0041;
  width: 100%;
  height: 100%;
  display: inline-block;
}

.c-content-main {
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  font-size: 17px;
  line-height: 2;
  display: grid;
}

.c-content-main .c-products-index-lists__card--summary {
  grid-area: 1/1/2/3;
  font-size: 19px;
  font-weight: 500;
  line-height: 2;
}

.c-content-main .c-products-index-lists__card--positioning_map {
  grid-area: 2/1/3/2;
}

.c-content-main .c-products-index-lists__card--features {
  grid-area: 2/2/3/3;
}

.c-content-main .c-products-index-lists__card--composition {
  grid-area: 3/1/4/3;
}

.c-content-main .c-products-index-lists__card--tech_data {
  grid-area: 4/1/5/3;
}

.c-content-main .c-products-index-lists__card--tech_data .c-products-index-lists__card--title {
  border: 1px solid #0000;
  border-top-color: #ccc;
  grid-template-columns: 1fr 26px;
  justify-content: center;
  align-items: center;
  height: 4em;
  padding: 0 2rem;
  font-size: 26px;
  line-height: 4;
  display: grid;
}

.c-content-main .c-products-index-lists__card--tech_data[open] .c-products-index-lists__card--title {
  border-color: #ccc #0000 #0000;
}

.c-content-main .c-products-index-lists__card--tech_data[open] .c-products-index-lists__card--title:after {
  transform: rotate(-45deg);
}

.c-content-main .c-products-index-lists__card--item_type {
  grid-area: 5/1/6/3;
}

.c-content-main .c-products-index-lists__card--item_type .c-products-index-lists__card--title {
  border: 1px solid #0000;
  border-top-color: #ccc;
  grid-template-columns: 1fr 26px;
  justify-content: center;
  align-items: center;
  height: 4em;
  padding: 0 2rem;
  font-size: 26px;
  line-height: 4;
  display: grid;
}

.c-content-main .c-products-index-lists__card--item_type[open] .c-products-index-lists__card--title:after {
  transform: rotate(-45deg);
}

.c-content-main .product_table {
  text-align: center;
  border-collapse: collapse;
  border: 1px solid #ccc;
  width: 100%;
  font-size: 22px;
  line-height: 2;
}

.c-content-main .product_table>thead {
  background: #f2f2f2;
  border: 1px solid #ccc;
}

.c-content-main .product_table>tbody,
.c-content-main .product_table th,
.c-content-main .product_table td {
  border: 1px solid #ccc;
}

#products-search .c-keyvisual__caption .c-title {
  flex-flow: row;
  align-items: center;
  gap: 12px;
  display: flex;
}


.l-body details>summary::marker {
  color: #0000;
  font-size: 0;
  display: none;
}


.l-main a:hover>* {
  opacity: 0.8;
}


.p-contents {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: auto;
  display: flex;
}

.p-contents-header {
  width: 100%;
  display: block;
}

.p-contents-header__title {
  font-size: 36px;
  font-weight: 600;
}



.p-index-lists,
.p-index-lists>.p-index-lists__list {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  display: flex;
}

.p-index-lists>.p-index-lists__list>.c-index-lists__card {
  gap: 40px;
  width: calc(100% - 2rem);
  padding: 3rem 0;
  display: flex;
}





.p-index-lists>.p-index-lists__list>.c-index-lists__card .c-index-lists__card--image {
  width: 100%;
  display: block;
}





.p-index-lists>.p-index-lists__list>.c-index-lists__card .c-index-lists__card--image {
  aspect-ratio: 560/360;
  object-fit: cover;
  min-width: 50%;
  height: auto;
  min-height: 0;
}

.p-index-lists>.p-index-lists__list>.c-index-lists__card .c-index-lists__card--content {
  grid-template-rows: 1fr 2rem;
  grid-template-columns: 1fr;
  display: grid;
}

.p-index-lists>.p-index-lists__list>.c-index-lists__card .c-index-lists__card--text {
  line-height: 2;
  display: inline-block;
}

.p-index-lists>.p-index-lists__list>.c-index-lists__card .c-index-lists__card--title {
  font-size: 9vw;
  font-weight: 500;
}





.p-index-lists>.p-index-lists__list>.c-index-lists__card .c-index-lists__card--title {
  border-bottom: 4px solid #ef0041;
  display: block;
}

.p-index-lists>.p-index-lists__list>.c-index-lists__card .c-index-lists__card--main {
  height: 100%;
  padding-top: 2rem;
  display: inline-block;
}

.p-index-lists>.p-index-lists__list>.c-index-lists__card .c-index-lists__card--main:after {
  content: "...";
  display: inline-block;
}

.p-index-lists>.p-index-lists__list>.c-index-lists__card .c-index-lists__card--sub {
  flex-flow: row;
  justify-content: end;
  gap: 0.5rem;
  width: 100%;
  height: 2rem;
  line-height: 2rem;
  display: flex;
}

.p-index-lists>.p-index-lists__list:nth-child(2n) {
  background: #e6e6e6;
}

.p-index-lists>.p-index-lists__list:nth-child(2n)>.c-index-lists__card {
  flex-flow: row;
}



.p-index-lists>.p-index-lists__list:nth-child(odd)>.c-index-lists__card {
  flex-flow: row-reverse;
}



.c-contents-header__title--caption {
  color: #ef0041;
  width: 100%;
  height: 1em;
  font-size: 20px;
  line-height: 1em;
  display: block;
}

.c-contents-header__text {
  padding-top: 36px;
  line-height: 1.8;
  display: block;
}

.c-content-lists__card--content {
  padding-top: 7rem;
}

.c-content-lists__card--content>p:first-of-type,
.c-content-lists__card--content>p>time,
.c-content-lists__card--content>h2 {
  display: none;
}

.article_linkGroup {
  width: 100%;
  padding-top: 0.5rem;
  display: block;
}

.article_linkGroup .article_link_title {
  font-size: 18px;
  font-weight: 400;
  line-height: 2em;
  display: inline-block;
}

.article_linkGroup a {
  color: #000de6;
  font-size: 20px;
  font-weight: 400;
  line-height: 2em;
}

.flexbox {
  flex-flow: row;
  padding: 1.5rem 1rem;
  display: flex;
}





a.u-link>* {
  position: relative;
}

a.u-link> :after {
  content: "";
  background: linear-gradient(90deg, #ef004100 0%, #ef0041 0%);
  width: 0;
  height: 1px;
  transition: all 0.3s;
  display: block;
  position: absolute;
  bottom: -2px;
  left: 0;
}

a.u-link:hover> :after {
  background: linear-gradient(90deg, #ef004100 0%, #ef0041 100%);
  transition: all 0.3s;
  animation: 0.3s linear both slide;
}

#product-list .p-product-index-lists__list .c-product-index-lists__card {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  display: block;
}



#product-list .p-product-index-lists__list .c-product-index-lists__card {
  border-bottom: 1px dotted gray;
  padding: 2rem 0;
}

#product-list .p-product-index-lists__list .c-product-index-lists__card--wrap {
  grid-template-rows: 1fr;
  grid-template-columns: calc(6px + 1rem) 1fr 20% 1fr;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  display: grid;
}



#product-list .p-product-index-lists__list .c-product-index-lists__card--wrap:before {
  content: "";
  width: 6px;
  height: 100%;
  display: inline-block;
}



#product-list .p-product-index-lists__list .c-product-index-lists__card--wrap.pure-copper:before {
  background: #f35632;
}

#product-list .p-product-index-lists__list .c-product-index-lists__card--wrap.copper-alloys:before {
  background: #fcdc21;
}

#product-list .p-product-index-lists__list .c-product-index-lists__card--wrap.plating:before {
  background: #3fa9f5;
}

#product-list .p-product-index-lists__list .c-product-index-lists__card--wrap.processed {
  grid-template-columns: 1fr;
}





#product-list .p-product-index-lists__list .c-product-index-lists__card--text-wrap,
#product-list .p-product-index-lists__list .c-product-index-lists__card--number-wrap,
#product-list .p-product-index-lists__list .c-product-index-lists__card--types-wrap {
  align-items: center;
  display: grid;
}







#product-list .p-product-index-lists__list .c-product-index-lists__card--number {
  height: 100%;
}

#product-list .p-product-index-lists__list .c-product-index-lists__card--type {
  aspect-ratio: 1;
  display: inline-block;
}

#product-list .p-product-index-lists__list .c-product-index-lists__card--type>figure {
  grid-template-rows: 50px;
  grid-template-columns: 50px;
  display: grid;
}

#product-list .p-product-index-lists__list .c-product-index-lists__card--type>figure>img,
#product-list .p-product-index-lists__list .c-product-index-lists__card--type>figure>figcaption {
  grid-area: 1/1;
  width: 100%;
}

#product-list .p-product-index-lists__list .c-product-index-lists__card--type>figure>figcaption {
  color: #0000;
  font-size: 0;
  display: inline-block;
}

#product-list .p-product-index-lists__list .c-product-index-lists__card--types {
  grid-template-columns: repeat(5, 1fr);
  gap: 0 30px;
  width: 100%;
  display: grid;
}



.c-product-index-lists__card--wrap.processed>.c-product-index-lists__card--types-wrap>#product-list .p-product-index-lists__list .c-product-index-lists__card--types>.c-product-index-lists__card--number,
.c-product-index-lists__card--wrap.processed>.c-product-index-lists__card--types-wrap>#product-list .p-product-index-lists__list .c-product-index-lists__card--types>.c-product-index-lists__card--type {
  display: none;
}

#product-list .p-product-index-lists__list .p-product-index-lists__list:last-child>.c-product-index-lists__card {
  border-bottom: 1px solid gray;
}







.p-keyvisual__category.c-keyvisual {
  grid-template-rows: 1fr;
  grid-template-columns: 1fr;
  width: 100%;
  height: auto;
  display: grid;
}

.p-keyvisual__category.c-keyvisual .c-keyvisual__image,
.p-keyvisual__category.c-keyvisual .c-keyvisual__caption {
  grid-area: 1/1;
}

.p-keyvisual__category.c-keyvisual .c-keyvisual__image {
  display: grid;
}

.p-keyvisual__category.c-keyvisual .c-keyvisual__image:after {
  content: "";
  background: linear-gradient(90deg, #0003, #0000);
  grid-area: 1/1;
  width: 100%;
  height: 100%;
}

.p-keyvisual__category.c-keyvisual .c-keyvisual__caption {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
}



.p-keyvisual__category.c-keyvisual .c-keyvisual__caption>.c-title {
  color: #fff;
  filter: drop-shadow(0 0 10px #333);
  width: calc(100% - 2rem);
  height: auto;
  margin: auto 0;
  font-size: 6vw;
  font-weight: 600;
  display: block;
}





.p-contents__header--body {
  background-color: #333;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.p-contents__header--body>* {
  width: calc(100% - 2rem);
}



.p-contents__header--content {
  color: #fff;
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.p-contents__header--title {
  font-size: clamp(1.75rem, 1.4392rem + 1.326vw, 2.5rem);
}





.p-contents__header--text {
  padding-top: 1.5em;
  line-height: 1.5;
}

.p-contents__body--index {
  flex-flow: column wrap;
  justify-content: center;
  align-items: center;
  display: flex;
  width: 100%;
}



.p-contents-body__content>.p-contents-body__content--image>figcaption {
  visibility: hidden;
  color: #0000;
  width: 0;
  height: 0;
  font-size: 0;
}



/* About us: keep all smartphone content inside the viewport. */


.c-type-selector .c-icon-select:after {
  filter: brightness(0);
  content: url(../images/common/icon-arrow.svg);
  width: 1rem;
  height: 1.5em;
  display: inline-block;
  rotate: 90deg;
}

.c-content-main .c-products-index-lists__card--tech_data .c-products-index-lists__card--title:after {
  content: url(../images/common/icon-plus.svg);
  width: 26px;
  height: 100%;
  display: block;
  transform: rotate(0) translate(0);
}

.c-content-main .c-products-index-lists__card--item_type .c-products-index-lists__card--title:after {
  content: url(../images/common/icon-plus.svg);
  width: 26px;
  height: 100%;
  display: block;
  transform: rotate(0) translate(0);
}

#products-search .c-keyvisual__caption .c-title:after {
  content: url(../images/common/icon-finder.svg);
  width: 1em;
  height: 1em;
  display: inline-block;
}

.p-index-lists>.p-index-lists__list>.c-index-lists__card .c-index-lists__card--image {
  width: calc(100% - 2rem);
  display: block;
}

.p-index-lists>.p-index-lists__list>.c-index-lists__card .c-index-lists__card--sub:after {
  content: "";
  background: url(../images/common/icon-arrow-black.svg) 50%/100% no-repeat;
  width: 1.5rem;
  height: 2rem;
  display: inline-block;
}

.c-responsibility-body__cardsA--link.u-topresponsibility-img01 {
  background: url(../images/common/topresponsibility-img01.webp);
}

.c-responsibility-body__cardsA--link.u-topresponsibility-img02 {
  background: url(../images/common/topresponsibility-img02.webp);
}

.c-responsibility-body__cardsA--link.u-topresponsibility-img03 {
  background: url(../images/common/topresponsibility-img03.webp);
}



.p-keyvisual__category.c-keyvisual .c-keyvisual__image {
  width: 100%;
  height: auto;
  display: grid;
  overflow-x: hidden;
}


.p-contents-body__content--company {
  border-bottom: 1px solid #e6e6e6;
  grid-template: "address button"1fr/1fr 13rem;
  justify-content: space-between;
  align-items: end;
  width: 100%;
  padding-bottom: 2rem;
  display: grid;
}

.p-contents-body__content--company.c-main {
  border-bottom: none;
  padding-top: 4rem;
  padding-bottom: 0;
}

.p-contents-body__content--company:last-of-type {
  border-bottom: none;
  padding-bottom: 0;
}

.p-contents-body__content .c-campany__content--title {
  color: #ef0041;
  padding-top: 2rem;
  font-size: clamp(1.375rem, 1.1678rem + 0.884vw, 1.875rem);
  font-weight: 600;
  line-height: 1.5;
}

.p-contents-body__content .c-campany__content--title:is(h2.c-title) {
  color: #333;
  width: 100%;
  /*line-height: 4rem;*/
  display: inline-block;
  position: relative;
}


.p-contents-body__content .c-campany__content--title:is(h3) {
  color: #333;
  padding-top: 0;
  font-size: 20px;
  line-height: 1.5;
}

.p-contents-body__content .c-campany__content--title:is(h3):first-child {
  padding-top: 1rem;
}

.p-contents-body__content .c-campany__content--address {
  font-size: 17px;
  font-weight: 400;
  line-height: 1.5;
}

.p-contents-body__content .c-campany__content--address .c-campany__content--text {
  padding-top: 1.5rem;
}

.p-contents-body__content .c-campany__content--address .c-campany__content--text:not(.c-text) {
  padding-bottom: 1.5rem;
}

.p-contents-body__content .c-campany__content--address .c-campany__content--text:not(.c-text):last-of-type {
  padding-bottom: 0;
}

.p-contents-body__content .c-campany__content--map {
  width: 100%;
  height: 2.6rem;
  display: block;
}

.p-contents-body__content .c-campany__content--map .c-campany__content--link {
  box-sizing: border-box;
  color: #fff;
  background: gray;
  flex-flow: row;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  height: 100%;
  display: flex;
  cursor: pointer;
}

.p-contents-body__content .c-campany__content--map .c-campany__content--link:after {
  content: "";
  background: url(../images/common/icon-arrow.svg) 50% / cover no-repeat;
  width: 1.2rem;
  height: 1.2rem;
  margin: auto 0;
  display: inline-block;
}

.p-contents-body__content--tabs {
  grid-template-rows: auto;
  grid-template-columns: repeat(4, 1fr);
  justify-content: flex-start;
  gap: 0.4rem;
  width: 100%;
  margin-top: 4rem;
  display: grid;
}



.p-contents-body__content--tabs .c-campany__content-nav--buttton {
  text-align: left;
  color: #fff;
  background: gray;
  flex-flow: column;
  justify-content: start;
  align-items: start;
  width: 100%;
  padding: 0.5rem;
  font-weight: 600;
  display: flex;
  cursor: pointer;
}

.p-contents-body__content--tabs .c-campany__content-nav--buttton.is-active {
  background: #ef0041;
}

.p-contents-body__content .p-contents-body__content--panel {
  display: none;
}

.p-contents-body__content .p-contents-body__content--panel.is-active {
  display: block;
}

/* Business history timeline (merged and rebuilt from history.css) */
.p-contents-body__content--history {
  --history-year-width: 7rem;
  --history-gap: 1rem;
  margin-top: 2rem;
}

.p-contents-body__content--history .c-history__lists {
  width: 100%;
  margin: 0;
  padding: 0;
}

.p-contents-body__content--history .c-history__list--title {
  border-bottom: 2px solid #e6e6e6;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-height: 4rem;
  display: grid;
}

.p-contents-body__content--history .c-history__list--title h2 {
  margin: 0;
  padding: 1rem;
  text-align: center;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.5;
}

.p-contents-body__content--history .c-history__list--list {
  margin: 0;
  position: relative;
}

.p-contents-body__content--history .c-history__list--list::before,
.p-contents-body__content--history .c-history__list--list::after {
  content: "";
  background: #e6e6e6;
  width: 2px;
  height: 100%;
  position: absolute;
  top: 0;
  z-index: 0;
}

.p-contents-body__content--history .c-history__list--list::before {
  left: var(--history-year-width);
}

.p-contents-body__content--history .c-history__list--list::after {
  left: calc(50.6% + var(--history-year-width));
}

.p-contents-body__content--history .c-history__list--list>dl {
  grid-template-columns: var(--history-year-width) minmax(0, 1fr) var(--history-year-width) minmax(0, 1fr);
  column-gap: var(--history-gap);
  width: 100%;
  min-height: 5.5rem;
  margin: 0;
  display: grid;
  position: relative;
  z-index: 1;
}

.p-contents-body__content--history .c-history__list--year {
  width: auto;
  margin: 0;
  padding: 1rem 1.5rem 1rem 0;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1;
  position: relative;
}

.p-contents-body__content--history .c-history__list--year span {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}

.p-contents-body__content--history .c-history__list--year::after {
  content: "";
  background: #e6e6e6;
  border: 3px solid #fff;
  border-radius: 50%;
  width: 1rem;
  height: 1rem;
  position: absolute;
  top: 1.5rem;
  right: -.5rem;
  box-sizing: border-box;
}

.p-contents-body__content--history .c-history__list--year-space::after {
  right: -1rem;
}

.p-contents-body__content--history .c-history__list--history {
  min-width: 0;
  margin: 0;
  padding: 1rem;
  font-size: 1.0625rem;
  font-weight: 500;
  line-height: 1.8;
}

.p-contents-body__content--history .c-history__list--history img {
  max-width: 100%;
  height: auto;
  margin-top: 1rem;
  display: block;
}

.p-contents-body__content--history .c-history__list--history .c-mitsubishisinndousha,
.p-contents-body__content--history .c-history__list--history .c-sampousindoukougyosha,
.p-contents-body__content--history .c-history__list--history .c-industry {
  font-size: .875rem;
  font-weight: 600;
}

.p-contents-body__content--history .c-history__list--list-copper .c-history__list--year {
  grid-column: 1;
}

.p-contents-body__content--history .c-history__list--list-copper .c-history__list--history {
  grid-column: 2;
}

.p-contents-body__content--history .c-history__list--list-old .c-history__list--year {
  grid-column: 3;
}

.p-contents-body__content--history .c-history__list--list-old .c-history__list--history {
  grid-column: 4;
}

.p-contents-body__content--history .c-history__list--sameyear {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
  margin: 0;
  display: grid;
  position: relative;
  z-index: 1;
}

.p-contents-body__content--history .c-history__list--sameyear>dl {
  grid-template-columns: var(--history-year-width) minmax(0, 1fr);
  column-gap: var(--history-gap);
  min-width: 0;
  min-height: 5.5rem;
  margin: 0;
  display: grid;
}

.p-contents-body__content--history .c-history__list--sameyear .c-history__list--year,
.p-contents-body__content--history .c-history__list--sameyear .c-history__list--history {
  grid-column: auto;
}



/* Office page: merged layout and horizontal-overflow prevention */
.office-page,
.office-page body {
  overflow-x: clip;
}

body[id="事業所・関連会社"] .p-keyvisual__category.c-keyvisual {
  max-width: 100%;
}



body[id="事業所・関連会社"] .p-contents-body__content--panels,
body[id="事業所・関連会社"] .p-contents-body__content--panel {
  width: 100%;
}







body[id="事業所・関連会社"] .p-contents-body__content--company.c-main {
  border-top: 1px solid #e6e6e6;
  padding-top: 1.5rem;
}

body[id="事業所・関連会社"] .p-contents-body__content--company.c-main .c-campany__content--title:is(h2.c-title) {
  padding-top: 0;
}

body[id="事業所・関連会社"] .c-campany__content--address {
  min-width: 0;
}

body[id="事業所・関連会社"] .c-campany__content--text {
  overflow-wrap: anywhere;
}

body[id="事業所・関連会社"] .p-contents-body__content--tabs {
  width: 100%;
  min-width: 0;
}

body[id="事業所・関連会社"] .c-campany__content-nav--buttton {
  min-width: 0;
  overflow-wrap: anywhere;
}



.c-signeture {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  margin-top: 1rem;
  text-align: right;
  line-height: 1.5;

}

.c-signeture span {
  display: block;
  font-size: 140%;
}

/* Network page: interactive map and location modal */
body[id="拠点"] .p-network-section {
  overflow: visible;
}

.p-network-map {
  position: relative;
  width: 100%;
  margin: 2rem 0 0;
}

.p-network-map__image {
  display: block;
  width: 100%;
  height: auto;
}

.p-network-location__name,
.p-network-location__pin {
  position: absolute;
  z-index: 2;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.p-network-location__name img,
.p-network-location__pin img,
.p-network-world-location__name,
.p-network-world-location__pin {
  display: block;
  width: 100%;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  transition: opacity .2s ease;
}

.p-network-location__pin img,
.p-network-world-location__pin {
  aspect-ratio: 39 / 57;
}

.p-network-location__name:focus-visible,
.p-network-location__pin:focus-visible,
.p-network-world-location:focus-visible {
  border-radius: 2px;
  outline: 3px solid rgb(116 0 0 / 45%);
  outline-offset: 4px;
}

.p-network-location:hover .p-network-location__name img,
.p-network-location:hover .p-network-location__pin img,
.p-network-location:focus-within .p-network-location__name img,
.p-network-location:focus-within .p-network-location__pin img,
.p-network-world-location:hover .p-network-world-location__name,
.p-network-world-location:hover .p-network-world-location__pin,
.p-network-world-location:hover .p-network-world-location__label,
.p-network-world-location:focus-visible .p-network-world-location__name,
.p-network-world-location:focus-visible .p-network-world-location__pin,
.p-network-world-location:focus-visible .p-network-world-location__label {
  opacity: .5;
}

/* Locations that share one map point have overlapping pin buttons. Fade every
   copy together so the pin and its company name visibly react as one target. */
.p-network-map:has(.p-network-location--sakai:hover) .p-network-location--sambo .p-network-location__pin img,
.p-network-map:has(.p-network-location--sakai:focus-within) .p-network-location--sambo .p-network-location__pin img,
.p-network-map:has(.p-network-location--sambo:hover) .p-network-location--sakai .p-network-location__pin img,
.p-network-map:has(.p-network-location--sambo:focus-within) .p-network-location--sakai .p-network-location__pin img,
.p-network-map:has(.p-network-location--tamagawa-eng:hover) .p-network-location--wakamatsu .p-network-location__pin img,
.p-network-map:has(.p-network-location--tamagawa-eng:focus-within) .p-network-location--wakamatsu .p-network-location__pin img,
.p-network-map:has(.p-network-location--tamagawa:hover) .p-network-location--wakamatsu .p-network-location__pin img,
.p-network-map:has(.p-network-location--tamagawa:focus-within) .p-network-location--wakamatsu .p-network-location__pin img {
  opacity: .5;
}

.p-network-location__pin {
  width: 3.2%;
}

.p-network-location--sambo-metal .p-network-location__name {
  top: 39.3%;
  left: 24.5%;
  width: 15.2%;
}

.p-network-location--sambo-metal .p-network-location__pin {
  top: 64.2%;
  left: 40.9%;
}

.p-network-location--mm-copper .p-network-location__name {
  top: 48%;
  left: 10.5%;
  width: 20.2%;
}

.p-network-location--mm-copper .p-network-location__pin {
  top: 61%;
  left: 39.1%;
}

.p-network-location--sakai .p-network-location__name {
  top: 85.2%;
  left: 46.3%;
  width: 11.5%;
}

.p-network-location--sakai .p-network-location__pin {
  top: 66%;
  left: 39.6%;
}

.p-network-location--sambo .p-network-location__name {
  top: 89.6%;
  left: 46.2%;
  width: 12.9%;
}

.p-network-location--sambo .p-network-location__pin {
  top: 66%;
  left: 39.6%;
}

.p-network-location--goto .p-network-location__name {
  top: 29%;
  left: 72.8%;
  width: 12.7%;
}

.p-network-location--goto .p-network-location__pin {
  top: 34%;
  left: 58.1%;
}

.p-network-location--wakamatsu .p-network-location__name {
  top: 35.4%;
  left: 69.5%;
  width: 7%;
}

.p-network-location--wakamatsu .p-network-location__pin {
  top: 44%;
  left: 54.6%;
  cursor: default;
  pointer-events: none;
}

.p-network-location--tamagawa-eng .p-network-location__name {
  top: 40.4%;
  left: 69.5%;
  width: 19%;
}

.p-network-location--tamagawa-eng .p-network-location__pin {
  top: 44%;
  left: 54.6%;
}

.p-network-location--tamagawa .p-network-location__name {
  top: 45.3%;
  left: 69.5%;
  width: 12.7%;
}

.p-network-location--tamagawa .p-network-location__pin {
  top: 44%;
  left: 54.6%;
}

.p-network-location--onahama .p-network-location__name {
  top: 50%;
  left: 61%;
  width: 7%;
}

.p-network-location--onahama .p-network-location__pin {
  top: 48.6%;
  left: 57.3%;
}

.p-network-location--development .p-network-location__name {
  top: 56.7%;
  left: 60%;
  width: 12.3%;
}

.p-network-location--development .p-network-location__pin {
  top: 53.8%;
  left: 54.6%;
}

html[lang="en"] .p-network-location--sambo-metal .p-network-location__name {
  top: 39.1%;
  left: 23.7%;
  width: 15.3%;
}

html[lang="en"] .p-network-location--mm-copper .p-network-location__name {
  top: 47.8%;
  left: 8.3%;
  width: 22.6%;
}

html[lang="en"] .p-network-location--sakai .p-network-location__name {
  top: 85.1%;
  left: 45.8%;
  width: 17.8%;
}

html[lang="en"] .p-network-location--sambo .p-network-location__name {
  top: 90.1%;
  left: 45.8%;
  width: 19%;
}

html[lang="en"] .p-network-location--goto .p-network-location__name {
  top: 28.8%;
  left: 72.7%;
  width: 14.6%;
}

html[lang="en"] .p-network-location--wakamatsu .p-network-location__name {
  top: 35.0%;
  left: 69.6%;
  width: 13.6%;
}

html[lang="en"] .p-network-location--tamagawa-eng .p-network-location__name {
  top: 40%;
  left: 69.6%;
  width: 24.8%;
}

html[lang="en"] .p-network-location--tamagawa .p-network-location__name {
  top: 45.4%;
  left: 69.6%;
  width: 24.2%;
}

html[lang="en"] .p-network-location--onahama .p-network-location__name {
  top: 50.6%;
  left: 61.6%;
  width: 12.1%;
}

html[lang="en"] .p-network-location--development .p-network-location__name {
  top: 56.2%;
  left: 58.1%;
  width: 19.3%;
}

.p-network-map__key {
  position: absolute;
  top: 1%;
  right: 0%;
  width: 28.5%;
  height: auto;
  transform: translateX(-50%);
}

.p-network-world-location {
  position: static;
  z-index: 2;
  margin: 0;
  padding: 0;
  border: 0;
  color: inherit;
  background: transparent;
  cursor: pointer;
}

.p-network-world-location__pin {
  position: absolute;
  width: 3.25%;
}

.p-network-world-location__label {
  position: absolute;
  z-index: 2;
  display: block;
  color: #123b91;
  font-size: clamp(.625rem, 1.15vw, 1.15rem);
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  transition: opacity .2s ease;
}

.p-network-world-location__name {
  position: absolute;
  z-index: 2;
}

.p-network-world-location--text:hover .p-network-world-location__label,
.p-network-world-location--text:focus-visible .p-network-world-location__label {
  opacity: .5;
}

.p-network-world-location--welwyn .p-network-world-location__label {
  top: 13.5%;
  left: 9%;
}

.p-network-world-location--welwyn .p-network-world-location__pin {
  top: 32.3%;
  left: 3%;
}

.p-network-world-location--mm-eu .p-network-world-location__name {
  top: 34.8%;
  left: 10.4%;
  width: 13.9%;
}

.p-network-world-location--mm-eu .p-network-world-location__pin {
  top: 34%;
  left: 6.9%;
}

.p-network-world-location--luvata-pf .p-network-world-location__label--hq {
  top: 18.2%;
  left: 17.5%;
}

.p-network-world-location--luvata-pf .p-network-world-location__name {
  top: 23.8%;
  left: 17.6%;
  width: 13.8%;
}

.p-network-world-location--luvata-pf .p-network-world-location__pin {
  top: 26.8%;
  left: 9.7%;
}

.p-network-world-location--luvata-super .p-network-world-location__name {
  top: 43%;
  left: 16.1%;
  width: 17%;
}

.p-network-world-location--luvata-super .p-network-world-location__pin {
  top: 50%;
  left: 35.2%;
}

.p-network-world-location--mm-s .p-network-world-location__name {
  top: 34.3%;
  left: 43.5%;
  width: 13.2%;
}

.p-network-world-location--mm-s .p-network-world-location__pin {
  top: 45.3%;
  left: 38.1%;
}

.p-network-world-location--mmc-sh .p-network-world-location__name {
  top: 45.1%;
  left: 43.2%;
  width: 16.3%;
}

.p-network-world-location--mmc-sh .p-network-world-location__pin {
  top: 45.4%;
  left: 38.7%;
}

.p-network-world-location--mmc-tw {
  cursor: default;
}

.p-network-world-location--mmc-tw .p-network-world-location__name {
  top: 49.2%;
  left: 43.2%;
  width: 17.6%;
}

.p-network-world-location--mmc-tw .p-network-world-location__pin {
  top: 50.3%;
  left: 38.7%;
}

.p-network-world-location--ry .p-network-world-location__name {
  top: 53.6%;
  left: 10.6%;
  width: 19.2%;
}

.p-network-world-location--ry .p-network-world-location__pin {
  top: 56%;
  left: 33.7%;
}

.p-network-world-location--luvata-m .p-network-world-location__name {
  top: 72.9%;
  left: 14.5%;
  width: 17.3%;
}

.p-network-world-location--luvata-m .p-network-world-location__pin {
  top: 63.6%;
  left: 33.6%;
}

.p-network-world-location--waterbury .p-network-world-location__label {
  top: 19%;
  left: 59%;
}

.p-network-world-location--waterbury .p-network-world-location__pin {
  top: 38%;
  left: 80.6%;
}

.p-network-world-location--ohio .p-network-world-location__label {
  top: 23.9%;
  left: 63.5%;
}

.p-network-world-location--ohio .p-network-world-location__pin {
  top: 39%;
  left: 86.4%;
}

.p-network-world-location--appleton .p-network-world-location__label {
  top: 30.7%;
  left: 60.4%;
}

.p-network-world-location--appleton .p-network-world-location__pin {
  top: 40%;
  left: 84.2%;
}

.p-network-world-location--saopaulo .p-network-world-location__label {
  top: 69%;
  left: 82%;
}

.p-network-world-location--saopaulo .p-network-world-location__pin {
  top: 65.3%;
  left: 95.8%;
}

.p-network-world-location--goto-ph .p-network-world-location__name {
  top: 59.4%;
  left: 43.2%;
  width: 14.5%;
}

.p-network-world-location--goto-ph .p-network-world-location__pin {
  top: 59.7%;
  left: 38.7%;
}

.p-network-map__guide {
  margin-top: .75rem;
  color: #666;
  font-size: .875rem;
  text-align: right;
}

.p-network-list {
  display: none;
}

.p-network-modal {
  position: fixed;
  top: 50%;
  right: auto;
  bottom: auto;
  left: 50%;
  width: min(calc(100dvw - 2rem), 680px);
  max-width: calc(100dvw - 2rem);
  max-height: calc(100dvh - 2rem);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 4px;
  overflow: hidden;
  color: #333;
  background: #fff;
  box-sizing: border-box;
  transform: translate(-50%, -50%);
}

.p-network-modal::backdrop {
  background: rgb(0 0 0 / 78%);
}

.p-network-modal__panel {
  position: relative;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  max-height: calc(100dvh - 2rem);
  padding: 1.5rem;
  overflow-y: auto;
  overflow-x: hidden;
  box-sizing: border-box;
}

.p-network-modal__close {
  position: absolute;
  top: 10px;
  right: 10px;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0 0 3px;
  border: 2px solid #fff;
  border-radius: 50%;
  color: #fff;
  background: #282828;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
}

.p-network-modal__close:focus-visible {
  outline: 3px solid #b98e8e;
  outline-offset: 2px;
}

.p-network-modal__title {
  margin: 0 0 1rem;
  padding: 0 2rem .75rem 0;
  border-bottom: 1px solid #707070;
  color: #333;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.5;
}

.p-network-modal__photo {
  display: block;
  width: 100%;
  max-height: 310px;
  object-fit: cover;
}

.p-network-modal__photo[hidden] {
  display: none;
}

.p-network-modal__address {
  display: block;
  margin: 1rem 0;
  font-style: normal;
  font-size: .9375rem;
  line-height: 1.7;
}

.p-network-modal__address span {
  display: block;
  max-width: 100%;
  overflow-wrap: anywhere;
}

.p-network-modal__map {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  aspect-ratio: 16 / 7;
  min-height: 220px;
  overflow: hidden;
}

.p-network-modal__map iframe {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
  border: 0;
}



/* Desktop button interactions ------------------------------------- */
@media (hover: hover) and (pointer: fine) {
  .p-contents-body__content .c-campany__content--map .c-campany__content--link {
    transition:
      background-color .25s ease,
      box-shadow .25s ease,
      transform .25s ease;
  }

  .p-contents-body__content .c-campany__content--map .c-campany__content--link:hover {
    background-color: #555;
    box-shadow: none;
    transform: translateY(4px);
  }

  body[id="事業所・関連会社"] .p-contents-body__content--tabs .c-campany__content-nav--buttton:not(.is-active) {
    transition: background-color .3s ease;
  }

  body[id="事業所・関連会社"] .p-contents-body__content--tabs .c-campany__content-nav--buttton:not(.is-active):hover {
    background-color: #555;
  }

  .p-contents-body__content .c-campany__content--map .c-campany__content--link::after {
    transition: transform .25s ease;
  }

  .p-contents-body__content .c-campany__content--map .c-campany__content--link:hover::after {
    transform: translateX(.4rem);
  }
}

/* ==========================================================================
   TABLET: 768px–1279px
   ========================================================================== */
@media only screen and (width >= 768px) and (width <= 1279px) {


  .p-index-lists>.p-index-lists__list>.c-index-lists__card .c-index-lists__card--image {
    width: calc(50% - 1rem);
  }

  .p-index-lists>.p-index-lists__list>.c-index-lists__card .c-index-lists__card--title {
    font-size: 4vw;
  }

  .u-sp-content {
    display: none;
  }

  .p-keyvisual__category.c-keyvisual .c-keyvisual__caption>.c-title {
    font-size: 5vw;
  }

}

/* ==========================================================================
   DESKTOP: 1280px and above (also used for print, as in the original)
   ========================================================================== */
@media print, screen and (width >= 1280px) {

  .p-index-lists>.p-index-lists__list>.c-index-lists__card {
    width: clamp(1152px, 1152px, 91vw);
  }

  .p-index-lists>.p-index-lists__list>.c-index-lists__card .c-index-lists__card--image {
    width: calc(clamp(1152px, 1152px, 91vw) / 2);
  }

  .p-index-lists>.p-index-lists__list>.c-index-lists__card .c-index-lists__card--title {
    font-size: 36px;
  }

  #product-list .p-product-index-lists__list .c-product-index-lists__card {
    width: clamp(1152px, 1152px, 91vw);
  }

  .u-sp-content {
    display: none;
  }

  .p-keyvisual__category.c-keyvisual .c-keyvisual__caption {
    margin-bottom: calc(-1 * max(5vh, 106px));
  }

  .p-keyvisual__category.c-keyvisual .c-keyvisual__caption>.c-title {
    width: clamp(1152px, 1152px, 91vw);
    font-size: 50px;
  }

  .p-contents__header--body>* {
    width: clamp(1152px, 1152px, 91vw);
  }

  .p-keyvisual__category.c-keyvisual {
    grid-template-rows: calc(2 * max(5vh, 106px));
    width: 100vw;
  }

  

  

  
}

/* ==========================================================================
   MOBILE: 767px and below
   ========================================================================== */
@media only screen and (width <= 767px) {

  .p-contents-header__title {
    font-size: 10vw;
  }

  .p-index-lists>.p-index-lists__list>.c-index-lists__card {
    flex-flow: column;
    gap: 12px;
  }

  .p-index-lists>.p-index-lists__list:nth-child(2n)>.c-index-lists__card {
    flex-flow: column;
  }

  .p-index-lists>.p-index-lists__list:nth-child(odd)>.c-index-lists__card {
    flex-flow: column;
  }

  .flexbox {
    flex-flow: column;
    display: block;
  }

  .flexbox>[style*="width"] {
    width: fit-content !important;
  }

  #product-list .p-product-index-lists__list .c-product-index-lists__card--wrap {
    grid-template-rows: auto 1fr;
    grid-template-columns: 6px 1fr 5rem;
    gap: 12px;
  }

  #product-list .p-product-index-lists__list .c-product-index-lists__card--wrap:before {
    grid-area: 1/1/3/2;
  }

  #product-list .p-product-index-lists__list .c-product-index-lists__card--wrap.processed {
    grid-template-columns: 1fr 20% 1fr;
  }

  #product-list .p-product-index-lists__list .c-product-index-lists__card--wrap.processed:before {
    display: none;
  }

  #product-list .p-product-index-lists__list .c-product-index-lists__card--text-wrap {
    flex-flow: column;
    grid-area: 1/2/2/3;
    justify-content: start;
    align-items: start;
    height: 100%;
    display: flex;
  }

  #product-list .p-product-index-lists__list .c-product-index-lists__card--number-wrap {
    grid-area: 1/3/2/4;
    justify-content: start;
    align-items: start;
    height: 100%;
  }

  #product-list .p-product-index-lists__list .c-product-index-lists__card--types-wrap {
    grid-area: 2/2/3/4;
  }

  #product-list .p-product-index-lists__list .c-product-index-lists__card--types {
    flex-flow: wrap;
    justify-content: left;
    align-items: start;
    gap: 12px;
    display: flex;
  }

  .u-pc-content {
    display: none;
  }

  .p-contents-body__content>.p-contents-body__content--image {
    flex-flow: column;
    justify-content: center;
    width: 100%;
    height: auto;
    display: flex;
    overflow-x: scroll;
  }

  .p-contents-body__content>.p-contents-body__content--image>img {
    border: 2px solid #e6e6e6;
    width: max-content;
    max-width: max-content;
    height: auto;
  }

  

  body[id="伸銅品事業 概要"] .p-contents-body__content--image {
    overflow-x: hidden;
  }

  body[id="伸銅品事業 概要"] .p-contents-body__content--image>img {
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: contain;
  }

  

  

  .p-contents-body__content--company {
    grid-template: "address"1fr "button"/1fr;
    gap: 12px;
  }

  .p-contents-body__content--tabs {
    grid-template-rows: repeat(2, 1fr);
    grid-template-columns: repeat(2, 1fr);
  }

  .p-contents-body__content--history {
    --history-year-width: 6rem;
    --history-gap: .75rem;
  }

  .p-contents-body__content--history .c-history__list--title {
    grid-template-columns: 1fr;
  }

  .p-contents-body__content--history .c-history__list--title h2 {
    padding: .5rem 0;
    text-align: left;
    font-size: 1rem;
  }

  .p-contents-body__content--history .c-history__list--title h2::before {
    content: "■ ";
    color: #999;
  }

  .p-contents-body__content--history .c-history__list--list::after {
    display: none;
  }

  .p-contents-body__content--history .c-history__list--list>dl,
  .p-contents-body__content--history .c-history__list--sameyear>dl {
    grid-template-columns: var(--history-year-width) minmax(0, 1fr);
    min-height: 5rem;
  }

  .p-contents-body__content--history .c-history__list--list-copper .c-history__list--year,
  .p-contents-body__content--history .c-history__list--list-old .c-history__list--year,
  .p-contents-body__content--history .c-history__list--list-copper .c-history__list--history,
  .p-contents-body__content--history .c-history__list--list-old .c-history__list--history {
    grid-column: auto;
  }

  .p-contents-body__content--history .c-history__list--sameyear {
    grid-template-columns: 1fr;
  }

  .p-contents-body__content--history .c-history__list--year {
    padding-right: 1rem;
    font-size: 1.5rem;
  }

  .p-contents-body__content--history .c-history__list--year span {
    font-size: .875rem;
  }

  .p-contents-body__content--history .c-history__list--history {
    padding: 1rem 0 1rem .5rem;
    font-size: .9375rem;
  }

  .p-contents-body__content--history .c-history__list--year-space::after {
    right: -0.5rem;
  }

  body[id="事業所・関連会社"] .p-contents-body__content--company.c-main {
    padding-top: 1.25rem;
  }

  body[id="事業所・関連会社"] .c-campany__content--map {
    grid-area: button;
  }

  .p-network-map {
    display: none;
  }

  .p-network-map__guide {
    display: none;
  }

  .p-network-list {
    display: grid;
    width: 100%;
    box-sizing: border-box;
    gap: 0;
    margin: 1.25rem 0 0;
    padding: 0;
    border-top: 1px solid #ddd;
    list-style: none;
  }

  .p-network-list li {
    margin: 0;
    border-bottom: 1px solid #ddd;
  }

  .p-network-list button,
  .p-network-list a,
  .p-network-list>li>span {
    position: relative;
    display: block;
    width: 100%;
    padding: .875rem 2rem .875rem 1.5rem;
    border: 0;
    color: #282828;
    background: transparent;
    font: inherit;
    font-size: .875rem;
    line-height: 1.55;
    text-align: left;
    text-decoration: none;
    box-sizing: border-box;
  }

  .p-network-list button,
  .p-network-list a {
    cursor: pointer;
  }

  .p-network-list button::before,
  .p-network-list a::before {
    content: "";
    position: absolute;
    top: 1.18rem;
    left: 0;
    width: .85rem;
    height: .85rem;
    border-radius: 50%;
    background: #740000;
  }

  .p-network-list button::after,
  .p-network-list a::after {
    content: "";
    position: absolute;
    top: 1.46rem;
    left: .29rem;
    width: .28rem;
    height: .28rem;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(45deg);
  }

  .p-network-list--world a {
    color: #18487a;
  }

  .p-network-list--world button span {
    display: block;
    color: #333;
    font-size: .75rem;
  }

  .p-network-modal {
    width: calc(100dvw - 2rem);
    max-width: calc(100dvw - 2rem);
  }

  .p-network-modal__panel {
    padding: 1.25rem;
  }

  .p-network-modal__close {
    top: 8px;
    right: 8px;
    border-width: 0;
  }

  .p-network-modal__title {
    padding-right: 2.75rem;
    font-size: 1.05rem;
  }

  .p-network-modal__address {
    font-size: .8125rem;
  }

  .p-network-modal__map {
    aspect-ratio: 4 / 3;
    min-height: 190px;
  }
}

/* ==========================================================================
   FULL-BLEED KEY VISUAL
   Keep the main image at 1280px and extend a blurred backdrop beyond it.
   Excludes the Business index key visual (.is-category-keyvisual).
   ========================================================================== */

@media print, screen and (width >= 1280px) {
  .p-keyvisual__category.c-keyvisual:not(.is-category-keyvisual) {
    position: relative;
    isolation: isolate;
    width: 100vw !important;
    max-width: none !important;
    margin-right: calc(50% - 50vw) !important;
    margin-left: calc(50% - 50vw) !important;
    overflow: hidden;
  }

  .p-keyvisual__category.c-keyvisual:not(.is-category-keyvisual)::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: -20px;
    background-image:
      url("../images/business/jumbotron_business.webp");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    filter: blur(20px);
    pointer-events: none;
  }

  .p-keyvisual__category.c-keyvisual:not(.is-category-keyvisual)::after {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    background-color: rgb(0 0 0 / 15%);
    pointer-events: none;
  }

  .p-keyvisual__category.c-keyvisual:not(.is-category-keyvisual)
  > .c-keyvisual__image {
    position: relative;
    z-index: 1;
    justify-self: center;
    width: 100% !important;
    max-width: 1280px !important;
    height: 100% !important;
    margin-inline: auto;
    object-fit: cover;
  }

  .p-keyvisual__category.c-keyvisual:not(.is-category-keyvisual)
  > .c-keyvisual__caption {
    position: relative;
    z-index: 3;
    width: min(100%, 1280px);
    margin-inline: auto;
  }
}