:root {
  scroll-padding: 100px;
  scroll-behavior: smooth;
}

.w-barrier-info {
  line-height: 1.5;
  counter-reset: number 0;
}
.w-barrier-info dt {
  position: relative;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  padding-left: 40px;
  border-bottom: 1px solid #ccc;
  font-weight: bold;
  font-size: 1.1em;
  line-height: 1.5;
}
.w-barrier-info dt:before {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 30px;
  height: 30px;
  margin-top: -15px;
  border-radius: 50%;
  background: #db6f31;
  color: #fff;
  font-size: 20px;
  line-height: 30px;
  text-align: center;
  content: counter(number, upper-alpha);
  counter-increment: number 1;
}
.w-barrier-info dt.info-b::before {
  background: #3c8563;
}
.w-barrier-info dt.info-c::before {
  background: #5dad4f;
}
.w-barrier-info dt.info-d::before {
  background: #1f3d8f;
}
.w-barrier-info dd {
  margin-bottom: 1rem;
  font-size: 0.9em;
}

.tec_airtight > *:not(:last-child) {
  margin-bottom: clamp(3rem, 1.9819004525rem + 2.7149321267vw, 6rem);
}
@media screen and (max-width: 768px) {
  .tec_airtight > *:not(:last-child) {
    padding-inline: 3%;
  }
}

.tec_airtight_lead .inner {
  display: grid;
  position: relative;
  margin-bottom: 20px;
  gap: clamp(2.5rem, 1.6515837104rem + 2.2624434389vw, 5rem);
}
@media screen and (min-width: 769px) {
  .tec_airtight_lead .inner {
    grid-template-columns: 1fr clamp(30rem, 23.5520361991rem + 17.1945701357vw, 49rem);
  }
}
@media screen and (min-width: 769px) {
  .tec_airtight_lead .inner .mv {
    width: 100%;
    height: 100%;
  }
  .tec_airtight_lead .inner .mv img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
}
@media screen and (max-width: 768px) {
  .tec_airtight_lead .inner .mv {
    margin-inline: calc(50% - 50vw);
  }
}
.tec_airtight_lead .inner .col {
  flex-shrink: 0;
  align-self: center;
}
.tec_airtight_lead .inner .col p {
  margin-bottom: 1em;
  font-weight: bold;
  font-size: clamp(1.6rem, 1.4303167421rem + 0.4524886878vw, 2.1rem);
}
.tec_airtight_lead .inner .col .illust {
  width: fit-content;
  padding: 20px;
  border: 1px solid #eb5e00;
}
.tec_airtight_lead .icon {
  position: absolute;
  top: min(2.027027027vw, 30px);
  left: min(3.3783783784vw, 50px);
  width: min(15.7432432432vw, 233px);
}
@media screen and (max-width: 768px) {
  .tec_airtight_lead .icon {
    width: 100px;
  }
}

.tec_airtight_lead_caution {
  font-size: clamp(1.2rem, 1.1321266968rem + 0.1809954751vw, 1.4rem);
}

.tec_airtight_cont .images {
  display: flex;
  justify-content: center;
  margin-block: clamp(2.5rem, 1.6515837104rem + 2.2624434389vw, 5rem);
  gap: clamp(2.5rem, 1.6515837104rem + 2.2624434389vw, 5rem);
}
.tec_airtight_cont p {
  font-size: clamp(1.4rem, 1.3321266968rem + 0.1809954751vw, 1.6rem);
}

.tec_airtight_cont2 {
  padding: clamp(2.5rem, 1.6515837104rem + 2.2624434389vw, 5rem);
  background-color: #f5f5f5;
}
.tec_airtight_cont2 p {
  font-size: clamp(1.4rem, 1.3321266968rem + 0.1809954751vw, 1.6rem);
}
.tec_airtight_cont2 .cont {
  display: grid;
  margin-top: 30px;
  gap: clamp(2.5rem, 1.6515837104rem + 2.2624434389vw, 5rem);
}
@media screen and (min-width: 769px) {
  .tec_airtight_cont2 .cont {
    grid-template-columns: repeat(2, 1fr);
  }
}
.tec_airtight_cont2 .thumb figure {
  width: 100%;
  height: 100%;
}
.tec_airtight_cont2 .thumb figure img {
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.tec_airtight_cont2 .thumb img {
  width: 100%;
  max-width: none;
}

.tec_airtight_cont3 {
  padding: 25px;
  background-color: #fcefce;
}
.tec_airtight_cont3 .pages-ttl-md {
  color: #f15a24;
}
.tec_airtight_cont3 p {
  font-size: clamp(1.4rem, 1.3321266968rem + 0.1809954751vw, 1.6rem);
}
.tec_airtight_cont3 .cont {
  display: grid;
  align-items: center;
  margin-top: clamp(2rem, 1.6606334842rem + 0.9049773756vw, 3rem);
  padding: clamp(2rem, 1.6606334842rem + 0.9049773756vw, 3rem);
  background-color: #fff;
  gap: clamp(2.5rem, 1.9909502262rem + 1.3574660633vw, 4rem);
}
@media screen and (min-width: 769px) {
  .tec_airtight_cont3 .cont {
    grid-template-columns: repeat(2, 1fr);
  }
}
.tec_airtight_cont3 .cont .ttl {
  margin-bottom: 0.5em;
  color: #f15a24;
  font-weight: bold;
  font-size: clamp(1.6rem, 1.3963800905rem + 0.5429864253vw, 2.2rem);
}

@media screen and (max-width: 768px) {
  .section-dannetsu {
    padding-inline: 20px;
  }
}

.hp-block-layout > *:not(:last-child) {
  margin-bottom: clamp(3rem, 1.9819004525rem + 2.7149321267vw, 6rem);
}

.dannetsu-subtitle {
  margin-top: 0.6em;
  font-size: clamp(1.5rem, 1.3303167421rem + 0.4524886878vw, 2rem);
  text-align: center;
}

.dannetsu-lead {
  margin-top: 1em;
  font-size: clamp(1.4rem, 1.1963800905rem + 0.5429864253vw, 2rem);
  text-align: center;
}
.dannetsu-lead__title {
  color: #e95710;
  font-size: 1.3em;
  margin-bottom: 0.3em;
  font-weight: 500;
}

.dannetsu-columns {
  display: grid;
  gap: clamp(2.5rem, 1.6515837104rem + 2.2624434389vw, 5rem);
}
@media screen and (min-width: 769px) {
  .dannetsu-columns {
    grid-template-columns: repeat(2, 1fr);
  }
}
.dannetsu-columns__col {
  display: grid;
  gap: 10px;
  grid-template-rows: subgrid;
  grid-row: span 4;
}
.dannetsu-columns__title {
  padding: 5px;
  background-color: #f7931e;
  color: #fff;
  font-weight: bold;
  font-size: clamp(1.6rem, 1.4642533937rem + 0.3619909502vw, 2rem);
  text-align: center;
}
.dannetsu-columns__title--area2 {
  background-color: #85b1de;
}
.dannetsu-columns__copy {
  color: #f29600;
  font-weight: bold;
  font-size: clamp(1.6rem, 1.4642533937rem + 0.3619909502vw, 2rem);
  line-height: 1.5;
}
.dannetsu-columns__name {
  font-weight: bold;
  font-size: clamp(1.5rem, 1.3981900452rem + 0.2714932127vw, 1.8rem);
  text-align: center;
}

.dannetsu-spec {
  background-color: #fdeacf;
  margin-block: clamp(3rem, 1.9819004525rem + 2.7149321267vw, 6rem);
}
.dannetsu-spec__title {
  background-color: #e45a24;
  text-align: center;
  font-size: clamp(2rem, 1.6606334842rem + 0.9049773756vw, 3rem);
  color: #fff;
  padding: 10px;
}
.dannetsu-spec__inner {
  padding-bottom: clamp(3rem, 1.9819004525rem + 2.7149321267vw, 6rem);
}
@media screen and (max-width: 768px) {
  .dannetsu-spec__inner {
    padding-inline: 20px;
  }
}

@media screen and (max-width: 768px) {
  .scroll-container {
    overflow-x: scroll;
  }
}
@media screen and (max-width: 768px) {
  .scroll-container img {
    width: 700px;
    max-width: none;
  }
}

.dannetsu-spec-ua {
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .dannetsu-spec-ua {
    padding: 20px;
  }
}
.dannetsu-spec-ua__title {
  gap: 1em;
  display: flex;
  align-items: center;
  color: #1c2787;
  font-weight: bold;
  font-size: clamp(1.8rem, 1.392760181rem + 1.0859728507vw, 3rem);
}
@media screen and (max-width: 768px) {
  .dannetsu-spec-ua__title {
    flex-direction: column;
    margin-bottom: 1em;
  }
  .dannetsu-spec-ua__title img {
    width: 150px;
  }
}
@media screen and (min-width: 769px) {
  .dannetsu-spec-ua__body {
    padding: 20px;
  }
}
.dannetsu-spec-ua__body .text-small {
  margin-top: 0.5em;
}
@media screen and (min-width: 769px) {
  .dannetsu-spec-ua__body .text-small {
    text-align: right;
  }
}

.dannetsu-btn {
  text-align: center;
}
.dannetsu-btn a {
  display: inline-block;
  padding: 0.6em 1em;
  border-radius: 2em;
  box-sizing: border-box;
  color: #f7931e;
  border: 2px solid #f7931e;
  font-size: clamp(1.6rem, 1.4642533937rem + 0.3619909502vw, 2rem);
  line-height: 1;
  background-color: #fff;
}
@media screen and (min-width: 769px) {
  .dannetsu-btn a {
    min-width: clamp(23rem, 17.2307692308rem + 15.3846153846vw, 40rem);
  }
}
.dannetsu-btn a:hover {
  background-color: #f7931e;
  color: #fff;
}

.dannetsu-modal {
  max-width: 750px;
  padding: 20px;
  background-color: #fff;
  outline: 1px solid;
  font-size: clamp(1.4rem, 1.3660633484rem + 0.0904977376vw, 1.5rem);
  position: relative;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .dannetsu-modal {
    margin-inline: 20px;
  }
}
.dannetsu-modal__title {
  color: #1c2787;
  font-weight: bold;
  font-size: clamp(1.8rem, 1.392760181rem + 1.0859728507vw, 3rem);
  line-height: 1.3;
  margin-bottom: clamp(0.5rem, 0.3303167421rem + 0.4524886878vw, 1rem);
}
.dannetsu-modal__note {
  font-weight: bold;
  font-size: 1.2em;
  margin-bottom: clamp(0.5rem, 0.3303167421rem + 0.4524886878vw, 1rem);
}
.dannetsu-modal__map {
  margin-bottom: clamp(0.5rem, 0.3303167421rem + 0.4524886878vw, 1rem);
}
@media screen and (min-width: 769px) {
  .dannetsu-modal__map {
    margin-top: -200px;
  }
}
.dannetsu-modal__titlebox {
  display: flex;
  gap: 20px;
  justify-content: space-between;
  margin-bottom: clamp(1.5rem, 0.9909502262rem + 1.3574660633vw, 3rem);
}
@media screen and (max-width: 768px) {
  .dannetsu-modal__titlebox img {
    width: 80px;
  }
}

.dannetsu-btns {
  display: flex;
  gap: 20px;
  justify-content: center;
}

.dannetsu-kouka {
  display: flex;
  flex-direction: column;
  gap: clamp(3rem, 2.3212669683rem + 1.8099547511vw, 5rem);
}
@media screen and (max-width: 768px) {
  .dannetsu-kouka {
    padding-inline: 20px;
  }
}
.dannetsu-kouka__col {
  display: flex;
  flex-direction: column;
  gap: clamp(1rem, 0.6606334842rem + 0.9049773756vw, 2rem);
}
.dannetsu-kouka__title {
  text-align: center;
  font-size: clamp(2rem, 1.7285067873rem + 0.7239819005vw, 2.8rem);
  font-weight: bold;
}
.dannetsu-kouka__pic {
  text-align: center;
}