.section__lead {
  margin-top: 4rem;
}
.section__lead .copy {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.5;
}
@media (720px <= width) {
  .section__lead .copy {
    font-size: 4.6rem;
  }
}
.section__lead .text {
  margin-top: 3rem;
}
@media (720px <= width) {
  .section__lead .text {
    margin-top: 4rem;
  }
}
.section__lead .text p {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.8;
}
@media (720px <= width) {
  .section__lead .text p {
    font-size: 2.2rem;
  }
}
.section__lead .text .note {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.6;
  color: #999;
}
@media (720px <= width) {
  .section__lead .text .note {
    font-size: 2rem;
  }
}
.section__lead .img {
  margin-top: 8rem;
}
@media (720px <= width) {
  .section__lead .img {
    margin-top: 12rem;
  }
}
.section__lead.white {
  color: #fff;
}

.machine {
  margin: 10rem 2rem;
}
@media (720px <= width) {
  .machine {
    max-width: 170rem;
    margin: 0;
    padding-top: 20rem;
    padding-bottom: 20rem;
    margin-left: max(50% - 85rem, 6rem);
    margin-right: max(50% - 85rem, 6rem);
  }
}
@media (1024px <= width) {
  .machine__header {
    display: grid;
    grid-template-columns: auto clamp(50rem, 50vw, 75rem);
    gap: 0 4rem;
  }
}
@media (720px <= width) {
  .machine__title {
    grid-row: span 2;
  }
}
@media (720px <= width) {
  .machine__lead {
    display: contents;
  }
  .machine__lead .img {
    grid-column: span 2;
    margin-top: 12rem;
  }
}
.machine__lists {
  display: grid;
  gap: 2rem 0;
  margin-top: 4rem;
  grid-column: span 2;
}
@media (720px <= width) {
  .machine__lists {
    display: block;
    position: relative;
    padding-left: min(35%, 54rem);
  }
}
.machine__lists__index {
  display: none;
}
@media (720px <= width) {
  .machine__lists__index {
    display: grid;
    grid-template-rows: repeat(6, 1fr);
    max-width: 46rem;
    width: 30%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }
  .machine__lists__index a {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 0 2rem;
    font-weight: 700;
    padding-left: 2rem;
    padding-right: 2rem;
    border-bottom: 1px solid var(--clr-line);
  }
  .machine__lists__index a:first-child {
    border-top: 1px solid var(--clr-line);
  }
  .machine__lists__index a.current {
    background-color: var(--clr-bg);
  }
  .machine__lists__index a .num {
    font-size: 1.6rem;
    color: #fff;
    width: 3rem;
    line-height: 3rem;
    aspect-ratio: 1;
    background: var(--clr-main);
    text-align: center;
    border-radius: 100rem;
  }
  .machine__lists__index a .text {
    font-size: 1.6rem;
    line-height: 1.3333;
  }
}
@media (1024px <= width) {
  .machine__lists__index a .num {
    width: 4rem;
    font-size: 2rem;
    line-height: 4rem;
  }
  .machine__lists__index a .text {
    font-size: 2.4rem;
    line-height: 1.3333;
  }
}
.machine__item {
  background-color: var(--clr-bg);
  padding: 4rem 2rem;
}
@media (720px <= width) {
  .machine__item {
    padding: 2rem 4rem;
  }
  .machine__item:not(.current) {
    display: none;
  }
}
@media (1280px <= width) {
  .machine__item {
    display: grid;
    grid-template-columns: 37.9310344828% 43.1034482759%;
    gap: 0 6.8965517241%;
    justify-content: center;
    padding-left: 0;
    padding-right: 0;
  }
}
@media (720px <= width) {
  .machine__item .swiper {
    max-width: 32rem;
  }
}
@media (1280px <= width) {
  .machine__item .swiper {
    grid-column: 2/3;
    grid-row: span 3;
    align-self: start;
    max-width: 100rem;
  }
}
.machine__item .swiper img {
  width: 100%;
}
.machine__item .swiper-pagination {
  width: 4rem;
  aspect-ratio: 1;
  border: 1px solid var(--clr-line);
  color: #999;
  font-size: 1.2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 0.25em;
  border-radius: 100rem;
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  left: auto;
}
@media (720px <= width) {
  .machine__item .swiper-pagination {
    width: 5rem;
    font-size: 1.6rem;
    line-height: 1;
    gap: 0 0.2em;
  }
}
.machine__item .name {
  margin-top: 3rem;
  border-bottom: 1px solid var(--clr-line);
  padding-bottom: 2rem;
}
@media (720px <= width) {
  .machine__item .name {
    grid-row: 1/2;
    margin-top: 2rem;
    padding-bottom: 4rem;
  }
}
.machine__item .label {
  background-color: var(--clr-main);
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2.4rem;
  width: 10.7rem;
  text-align: center;
  border-radius: 100rem;
}
@media (720px <= width) {
  .machine__item .label {
    font-size: 2rem;
    width: 13.3rem;
    line-height: 3rem;
  }
}
.machine__item .ja {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 150%;
  margin-top: 1.5rem;
}
@media (720px <= width) {
  .machine__item .ja {
    font-size: 3.6rem;
    line-height: 1.3333;
    margin-top: 3rem;
  }
}
.machine__item .en {
  margin-top: 1rem;
  font-size: 1.4rem;
  line-height: 1em;
  color: var(--clr-main);
}
@media (720px <= width) {
  .machine__item .en {
    font-size: 1.6rem;
    margin-top: 1.5rem;
  }
}
.machine__item .text {
  padding-top: 2rem;
  font-size: 1.6rem;
  font-weight: 700;
}
@media (720px <= width) {
  .machine__item .text {
    padding-top: 4rem;
    font-size: 2rem;
    line-height: 1.8;
  }
}
.machine__areas {
  margin-top: 8rem;
  padding-top: 8rem;
  border-top: 1px solid var(--clr-line);
}
@media (720px <= width) {
  .machine__areas {
    grid-column: span 2;
    margin-top: 16rem;
    padding-top: 12rem;
  }
  .machine__areas .headline {
    font-size: 3.6rem;
  }
}
.machine__areas .headline + p {
  margin-top: 4rem;
}
.machine__areas p {
  font-size: 1.6rem;
  line-height: 175%;
}
@media (720px <= width) {
  .machine__areas p {
    font-size: 2rem;
    line-height: 180%;
  }
}
.machine__areas p.note {
  font-size: 1.4rem;
  line-height: 160%;
  color: #999;
  margin-top: 1.5rem;
}
@media (720px <= width) {
  .machine__areas p.note {
    font-size: 2rem;
  }
}
.machine__area {
  margin-top: 6rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem 1.5rem;
}
@media (720px <= width) {
  .machine__area {
    margin-top: 8rem;
    grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
    gap: 0 3.5294117647%;
  }
}
.machine__area .name {
  margin-top: 1rem;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 150%;
}
@media (720px <= width) {
  .machine__area .name {
    font-size: 2.4rem;
    line-height: 166.6667%;
  }
}

.environment {
  background: #292929 url(../images/facility/environment_bg_sp.webp) center top/100% auto no-repeat;
  padding: 10rem 2rem;
  container-type: inline-size;
  container-name: environment;
}
@media (720px <= width) {
  .environment {
    padding: 20rem max(50% - 85rem, 11rem);
    background-image: url(../images/facility/environment_bg.webp);
    display: flex;
    flex-wrap: wrap;
  }
}
@media (720px <= width) {
  .environment__title {
    padding-right: 4rem;
  }
}
@media (720px <= width) {
  .environment__lead {
    margin-top: 0;
    width: min(50%, 75rem);
    margin-left: auto;
  }
}
@container environment (max-width:1266px) {
  .environment__lead {
    width: 100%;
    margin-top: 5rem;
    margin-left: 0;
  }
}
.environment__items {
  margin-top: 8rem;
  color: #fff;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
}
@media (720px <= width) {
  .environment__items {
    grid-column: span 2;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
  }
}
@container environment (max-width:1266px) {
  .environment__items {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  }
}
.environment__items .item {
  background-color: rgba(255, 255, 255, 0.1);
  padding: 1.5rem 1rem 2rem;
}
@media (720px <= width) {
  .environment__items .item {
    padding: 3.5rem 3.5rem 4rem;
  }
}
.environment__items .num {
  background-color: var(--clr-main);
  color: #fff;
  width: 6.5rem;
  text-align: center;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6rem;
  border-radius: 100rem;
  margin-top: 1.5rem;
}
@media (720px <= width) {
  .environment__items .num {
    width: 10.4rem;
    line-height: 2.6rem;
    font-size: 1.6rem;
    margin-top: 3rem;
  }
}
.environment__items .name {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 150%;
  margin-top: 1rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--clr-line);
}
@media (720px <= width) {
  .environment__items .name {
    font-size: 2.4rem;
    line-height: 166.6667%;
    padding-bottom: 2rem;
  }
}
.environment__items p {
  font-size: 1.6rem;
  line-height: 160%;
  margin-top: 1.5rem;
}
@media (720px <= width) {
  .environment__items p {
    margin-top: 2rem;
    font-size: 2rem;
    line-height: 160%;
  }
}
.environment__items p.note {
  font-size: 1.4rem;
  line-height: 160%;
  color: #999;
  margin-top: 1rem;
}
@media (720px <= width) {
  .environment__items p.note {
    font-size: 1.8rem;
    line-height: 155.5556%;
  }
}

.safetysecurity {
  padding: 10rem 2rem;
  background: url(../images/facility/safetysecurity_bg_sp.webp) center top/contain no-repeat;
}
@media (720px <= width) {
  .safetysecurity {
    padding: 20rem max(50% - 85rem, 6rem);
    background-image: url(../images/facility/safetysecurity_bg.webp);
  }
}
@media (1024px <= width) {
  .safetysecurity__header {
    display: grid;
    grid-template-columns: auto clamp(50rem, 50vw, 75rem);
    gap: 0 4rem;
  }
}
.safetysecurity__items {
  margin-top: 8rem;
  padding: 4rem 3rem;
  background: linear-gradient(180deg, rgba(0, 155, 255, 0.05) 0%, rgba(255, 71, 174, 0.05) 100%);
}
@media (720px <= width) {
  .safetysecurity__items {
    grid-column: span 2;
    margin-top: 12rem;
    padding: 10rem 8rem 8rem;
    background: linear-gradient(90deg, rgba(0, 155, 255, 0.05) 0%, rgba(255, 71, 174, 0.05) 100%);
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
    gap: 3rem 3.2467532468%;
  }
}
.safetysecurity__items .item {
  background: #fff;
  padding: 2rem 2rem 3rem;
}
@media (width < 720px) {
  .safetysecurity__items .item + .item {
    margin-top: 1.5rem;
  }
}
@media (720px <= width) {
  .safetysecurity__items .item {
    padding: 4rem 4rem 6rem;
  }
}
.safetysecurity__items .tag {
  margin-top: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}
@media (720px <= width) {
  .safetysecurity__items .tag {
    margin-top: 3rem;
    gap: 0.5rem;
  }
}
.safetysecurity__items .tag span {
  display: inline-flex;
  gap: 0 0.3rem;
  justify-content: center;
  padding: 0 0.8rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6rem;
  color: #fff;
  border-radius: 100em;
}
@media (720px <= width) {
  .safetysecurity__items .tag span {
    gap: 0 0.5rem;
    padding: 0 1.5rem;
    font-size: 1.6rem;
    line-height: 2.6rem;
  }
}
.safetysecurity__items .tag span::before {
  content: "";
  background: center/contain no-repeat;
  display: inline-block;
}
.safetysecurity__items .tag .Security {
  background: var(--clr-main);
}
.safetysecurity__items .tag .Security::before {
  background-image: url('data:image/svg+xml;charset=utf8, <svg width="8" height="10" viewBox="0 0 8 10" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4 8.98734C4.80833 8.73418 5.48333 8.23426 6.025 7.4876C6.56667 6.74093 6.88333 5.90751 6.975 4.98734H4V1L1 2.13924V4.75949C1 4.81857 1.00833 4.89452 1.025 4.98734H4V8.98734ZM4 10C3.94167 10 3.8875 9.99578 3.8375 9.98734C3.7875 9.9789 3.7375 9.96624 3.6875 9.94937C2.5625 9.56962 1.66667 8.86717 1 7.84203C0.333333 6.81688 0 5.71342 0 4.53165V2.13924C0 1.92827 0.0605 1.7384 0.1815 1.56962C0.3025 1.40084 0.458667 1.27848 0.65 1.20253L3.65 0.0632911C3.76667 0.021097 3.88333 0 4 0C4.11667 0 4.23333 0.021097 4.35 0.0632911L7.35 1.20253C7.54167 1.27848 7.698 1.40084 7.819 1.56962C7.94 1.7384 8.00033 1.92827 8 2.13924V4.53165C8 5.71308 7.66667 6.81654 7 7.84203C6.33333 8.86751 5.4375 9.56996 4.3125 9.94937C4.2625 9.96624 4.2125 9.9789 4.1625 9.98734C4.1125 9.99578 4.05833 10 4 10Z" fill="white"/></svg>');
  width: 0.8rem;
  aspect-ratio: 8/10;
}
@media (720px <= width) {
  .safetysecurity__items .tag .Security::before {
    width: 1.3rem;
  }
}
.safetysecurity__items .tag .Safety {
  background: var(--clr-pink);
}
.safetysecurity__items .tag .Safety::before {
  background-image: url('data:image/svg+xml;charset=utf8, <svg width="10" height="9" viewBox="0 0 10 9" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.0625 0C7.89583 0 8.59383 0.299768 9.1565 0.899305C9.71917 1.49884 10.0003 2.2118 10 3.03819C10 3.18403 9.99167 3.32792 9.975 3.46986C9.95833 3.6118 9.92917 3.75148 9.8875 3.88889H6.7625L5.9125 2.6493C5.87083 2.58449 5.8125 2.53183 5.7375 2.49132C5.6625 2.45081 5.58333 2.43055 5.5 2.43055C5.39167 2.43055 5.29383 2.46296 5.2065 2.52778C5.11917 2.59259 5.05867 2.67361 5.025 2.77083L4.35 4.73958L3.9125 4.10764C3.87083 4.04282 3.8125 3.99016 3.7375 3.94965C3.6625 3.90914 3.58333 3.88889 3.5 3.88889H0.1125C0.0708333 3.75116 0.0416666 3.61148 0.025 3.46986C0.00833331 3.32824 0 3.1884 0 3.05035C0 2.21586 0.279167 1.49884 0.8375 0.899305C1.39583 0.299768 2.09167 0 2.925 0C3.325 0 3.70217 0.0769675 4.0565 0.230903C4.41083 0.384838 4.72533 0.599537 5 0.875C5.26667 0.599537 5.57717 0.384838 5.9315 0.230903C6.28583 0.0769675 6.66283 0 7.0625 0ZM5 8.75C4.85 8.75 4.70633 8.72375 4.569 8.67125C4.43167 8.61875 4.30867 8.53967 4.2 8.43402L0.85 5.16493C0.8 5.11632 0.754167 5.06771 0.7125 5.0191C0.670833 4.97048 0.629167 4.91782 0.5875 4.86111H3.225L4.075 6.10069C4.11667 6.16551 4.175 6.21817 4.25 6.25868C4.325 6.29919 4.40417 6.31944 4.4875 6.31944C4.59583 6.31944 4.69583 6.28703 4.7875 6.22222C4.87917 6.15741 4.94167 6.07639 4.975 5.97917L5.65 4.01042L6.075 4.64236C6.125 4.70717 6.1875 4.75984 6.2625 4.80035C6.3375 4.84086 6.41667 4.86111 6.5 4.86111H9.4L9.275 5.00694L9.15 5.15278L5.7875 8.43402C5.67917 8.53935 5.55833 8.61842 5.425 8.67125C5.29167 8.72407 5.15 8.75032 5 8.75Z" fill="white"/></svg>');
  width: 1rem;
  aspect-ratio: 10/8.75;
}
@media (720px <= width) {
  .safetysecurity__items .tag .Safety::before {
    width: 1.6rem;
  }
}
.safetysecurity__items .name {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 150%;
}
@media (720px <= width) {
  .safetysecurity__items .name {
    margin-top: 1.5rem;
    font-size: 2.8rem;
    line-height: 157.1429%;
  }
}
.safetysecurity__items .txt {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--clr-line);
}
@media (720px <= width) {
  .safetysecurity__items .txt {
    margin-top: 2rem;
    padding-top: 2rem;
  }
}
.safetysecurity__items .txt p {
  font-size: 1.6rem;
  line-height: 160%;
}
@media (720px <= width) {
  .safetysecurity__items .txt p {
    font-size: 2rem;
    line-height: 160%;
  }
}

.option {
  background: #f5f5f5;
  padding: 10rem 2rem;
}
@media (720px <= width) {
  .option {
    padding: 20rem max(50% - 85rem, 11rem);
  }
  .option .option__title,
  .option .option__lead {
    grid-column: 1/2;
  }
}
@media (1024px <= width) {
  .option {
    display: grid;
    grid-template-columns: 28.2352941176% 64.7058823529%;
    gap: 0 7.0588235294%;
  }
}
.option__items {
  margin-top: 8rem;
  border-top: 1px solid var(--clr-line);
}
@media (720px <= width) {
  .option__items {
    grid-column: 2/3;
    grid-row: 1/4;
  }
}
@media (1024px <= width) {
  .option__items {
    margin-top: 0;
  }
}
.option__items .item {
  border-bottom: 1px solid var(--clr-line);
  padding: 4rem 0;
}
@media (720px <= width) {
  .option__items .item {
    display: grid;
    grid-template-columns: 41.8181818182% 52.7272727273%;
    gap: 0 5.4545454545%;
    align-items: center;
  }
}
.option__items .name {
  margin-top: 3rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 160%;
}
@media (720px <= width) {
  .option__items .name {
    margin-top: 0;
    font-size: 2.8rem;
    line-height: 157.1429%;
  }
}
.option__items .text {
  margin-top: 1rem;
}
@media (720px <= width) {
  .option__items .text {
    margin-top: 2rem;
  }
}
.option__items .text p {
  font-size: 1.6rem;
  line-height: 175%;
}
@media (720px <= width) {
  .option__items .text p {
    font-size: 2rem;
    line-height: 180%;
  }
}
.option__items .text p.note {
  font-size: 1.4rem;
  line-height: 160%;
  color: #999;
  margin-top: 1rem;
}
@media (720px <= width) {
  .option__items .text p.note {
    font-size: 1.8rem;
    line-height: 155.5556%;
  }
}

.others {
  padding: 10rem 2rem;
}
@media (720px <= width) {
  .others {
    padding: 20rem max(50% - 85rem, 11rem);
  }
  .others .others__title {
    grid-column: 1/2;
  }
}
@media (1024px <= width) {
  .others {
    display: grid;
    grid-template-columns: 28.2352941176% 64.7058823529%;
    gap: 0 7.0588235294%;
  }
}
.others__items {
  margin-top: 4rem;
  border-top: 1px solid var(--clr-line);
}
@media (720px <= width) {
  .others__items {
    grid-column: 2/3;
    grid-row: 1/4;
  }
}
@media (1024px <= width) {
  .others__items {
    margin-top: 0;
  }
}
.others__items .item {
  border-bottom: 1px solid var(--clr-line);
  padding: 4rem 0;
}
@media (720px <= width) {
  .others__items .item {
    display: grid;
    grid-template-columns: 41.8181818182% 52.7272727273%;
    gap: 0 5.4545454545%;
    align-items: center;
  }
}
.others__items .name {
  margin-top: 3rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 160%;
}
@media (720px <= width) {
  .others__items .name {
    margin-top: 0;
    font-size: 2.8rem;
    line-height: 157.1429%;
  }
}
.others__items .text {
  margin-top: 1rem;
}
@media (720px <= width) {
  .others__items .text {
    margin-top: 2rem;
  }
}
.others__items .text p {
  font-size: 1.6rem;
  line-height: 175%;
}
@media (720px <= width) {
  .others__items .text p {
    font-size: 2rem;
    line-height: 180%;
  }
}
.others__items .text p.note {
  font-size: 1.4rem;
  line-height: 160%;
  color: #999;
  margin-top: 1rem;
}
@media (720px <= width) {
  .others__items .text p.note {
    font-size: 1.8rem;
    line-height: 155.5556%;
  }
}