@charset "utf-8";

/*================================================
  business
================================================*/
.page-header {
  background-image: url(../../image/business/page_header_bg.jpg);
}

/*------------------------------------------------
intro
------------------------------------------------*/
.intro {
  background-image: url(../../image/home/business_bg.jpg);
  background-size:contain;
  background-position: top left;
  background-repeat: no-repeat;
}

.intro-title {
  color: var(--secondary-color);
  text-align: center;
  /* font-size: clamp(1.6rem, 0.92rem + 3.4vw, 5rem); */
  font-size: clamp(1.6rem, 1.04rem + 2.8vw, 4.4rem);
  line-height: 1.5;
  margin-bottom: 1em;
}

.page-link {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content:space-around;
  max-width: 650px;
  margin: auto;
}
.page-link .button-label-primary.page-link-button {
  width: 48%;
}

.page-link .button-label-primary.page-link-button > a::after {
  transform: rotate(90deg);
  top: inherit;
}
.page-link .button-label-primary.page-link-button > a:hover::after {
  right: 12.5px;
}

@media print, screen and (min-width: 960px) {
  .intro-text {
    text-align: center;
  }
  .page-link {
    justify-content: space-between;
  }
  .page-link .button-label-primary.page-link-button > a:hover {
    box-shadow: 0 3px 6px rgba(var(--color-black-rgb), 0.46);
    transition:  box-shadow 0.2s ease-in;
  }
  .page-link .button-label-primary.page-link-button > a:hover::after {
    right: 20px;
  }
}
@media print, screen and (min-width: 1200px) {

}

/*.business-lis*/
.business-list {
  margin: var(--layout-gap) auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 15px;
    max-width: 1000px;
}
.business-item {
  background-color: var(--color-white);
  width: calc(100% /2 - 7.5px);
  position: relative;
  box-shadow: 0 3px 6px rgba(var(--color-black-rgb), 0.16);
}
.business-item::before {
  content: "";
  display: block;
  position: absolute;
  border-style: solid;
  border-width: 14px;
  left: -5px;
  top: -5px;
}

.business-item:nth-of-type(1)::before {
  border-color: #E77F4F transparent transparent #E77F4F;
}
.business-item:nth-of-type(2)::before {
  border-color: #8F82BC transparent transparent #8F82BC;
}
.business-item:nth-of-type(3)::before {
  border-color: #BCD4DF transparent transparent #BCD4DF;
}
.business-item:nth-of-type(4)::before {
  border-color: #BA6969 transparent transparent #BA6969;
}
.business-item:nth-of-type(5)::before {
  border-color: #BFC1A0 transparent transparent #BFC1A0;
}
.business-item:nth-of-type(6)::before {
  border-color: #63A4C2 transparent transparent #63A4C2;
}
.business-item:nth-of-type(7)::before {
  border-color: #8EBA69 transparent transparent #8EBA69;
}
.business-item:nth-of-type(8)::before {
  border-color: #BE8B55 transparent transparent #BE8B55;
}
.business-item:nth-of-type(9)::before {
  border-color: #E7E24F transparent transparent #E7E24F;
}

.business-item-label {
  font-size: clamp(1rem, 0.84rem + 0.8vw, 1.8rem);
  font-weight: 700;
  line-height: 1.5;
  padding: 1em 0.25em 1em 1em;
  display: block;
}

@media print, screen and (min-width: 769px) {
  .business-list {
    margin:  calc(var(--layout-gap)*2) auto;
  }
  .business-item {
    width: calc(100% /3 - 15px);
    max-width: 350px;
  }
  .business-item-label {
    padding: 1.5em 0.25em 1.5em 1.5em;
  }
}
@media print, screen and (min-width: 1200px) {
  .business-item::before {
    border-width: 20px;
  }
}
@media print, screen and (min-width: 1600px) {
  .business-item-label {
    padding: 2em 0.25em 2em 2em;
  }
  .business-list {
    gap: 25px;
  }
  .business-item {
    width: calc(100% /3 - 17px);
  }
}

/*------------------------------------------------
Materials
------------------------------------------------*/

.material-pic + .material-type {
  margin-top:  calc(var(--layout-gap)*2) ;
}

.material-type {
  color: var(--secondary-color);
  font-size: clamp(1.6rem, 1.52rem + 0.4vw, 2rem);
  font-weight: 700;
  line-height: 1;
  text-align: left;
  width: 100%;
}
.material-type::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  border-radius: 3px;
  background-color: var(--secondary-color);
  box-shadow: 0 3px 6px rgba(var(--color-black-rgb),0.16);
  margin-right: 1em;
}

.material-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(80px, 1fr)); /* 横幅に応じて並び数自動調整 */
  gap: 1rem;
  margin: calc(var(--layout-gap)/1.5) 0;
}
.material-item {
  border: 2px solid #E2E2E2;
  border-radius: 5px;
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  background-image: url(../../image/business/material_item_bg_gray.jpg);
  background-size: cover;
  background-position: right bottom;
  aspect-ratio: 1 / 1;       /* ← 正方形を維持 */
  width: 100%;               /* グリッド幅にフィット */
}
.material-item.main-material {
  border: 2px solid #5ED5EE;
  background-image: url(../../image/business/material_item_bg_blue.jpg);
}
.material-item-inner {
  text-align: center;
  line-height: 1.25
}
.material-item-inner > span.font-poppins {
  color: rgba(var(--color-black-rgb),0.5);
  font-size: clamp(1.6rem, 1.52rem + 0.4vw, 2rem);
  display: block;
}
.material-item-inner > span.material-item-name {
  font-size: clamp(0.9rem, 0.78rem + 0.6vw, 1.5rem);
  font-weight: 700;
  display: block;
}
.material-item.main-material .material-item-inner > span.font-poppins {
  color: rgba(var(--secondary-color-rgb), 0.75);
}

.material-pic {
  max-width: 650px;
  margin: auto;
}

.material-pic > img {
  border: 1px solid var(--color-gray);
}

@media print, screen and (min-width: 560px) {
  .material-list {
    grid-template-columns: repeat(6, 1fr);
  }
  .material-item {
  border: 4px solid #E2E2E2;
  border-radius: 10px;
  }
  .material-item.main-material {
    border: 4px solid #5ED5EE;
  }
}

@media print, screen and (min-width: 769px) {
  .material-list {
    margin: calc(var(--layout-gap)*1.25) 0;
  }
  .material-pic + .material-type {
    margin-top:  calc(var(--layout-gap)*3) ;
  }
}

@media print, screen and (min-width: 1600px) {
  .material-list {
    gap: 16px;
  }
}

/*------------------------------------------------
Shipping Process
------------------------------------------------*/
.shipping-process {
  background-color: var(--primary-bg-color);
}
.flow-img {
    max-width: 1000px;
  margin-left: auto;
}
