#reason,
#products,
#flow,
#voices,
#sample {
  margin: 40px 0;
}

#voices,
#products,
#flow {
  margin-bottom: 120px;
}

#notice .news {
  margin: 0 3%;
}

#hero-title {
  width: 20vh;
}

#hero-text {
  width: 60vw;
}

#hero #hero-img img {
  width: 100%;
  height: calc(100vh - 53px);
  object-fit: cover;
  /* object-position: bottom 0% right 25%; */
  object-position: bottom;
}

#hero-hgroup h1{
  margin-top:0;
  margin-bottom:2em;
  font-size:clamp( 20px, calc( 0.741626794258373px + 5.502392344497608vw ), 43px );
}

#hero-hgroup p{
  letter-spacing: 0.05em;
  line-height: 1.5;
  font-size:clamp( 20px, calc( 3.2535885167464116px + 4.784688995215311vw ), 40px );
  }


#hero-title-group {
  flex-direction: column;
}

#flow i {
  font-size: 0.875em;
}

#flow .vline {
  margin-left: 25px;
}

#reason .flex {
  flex-wrap: nowrap;
}

a.flow-step {
  display: flex;
  align-items: center;
}

.step-text {
  width: 21rem;
  margin-left: 1em;
}

.material-symbols-outlined {
  font-size: 8rem;
  color: var(--beige2);
}

#reason h2 {
  font-size: 3vh;
}

#reason-text {
  margin-left: 3%;
  font-size: 1.2rem;
}

#notice .news .contents {
  padding-bottom:38px;
  font-size: 1.5rem;
}

#products .price {
  text-align: center;
}
#point .swiper-container {
  position: relative;
}

#products .nowrap {
padding-inline:10%;
}

#point .slide-card {
  border: 1px solid var(--beige3);
  background-color: #fff;
  display: flex;
  flex-direction: column;
  gap: 1.15em;
}

#point .slide-card .text {
  padding: 0 25px;
  height: 13.5em;
}

#point .swiper-horizontal {
  padding-top: 12rem;
}

#point .swiper-pagination-bullet {
  font-size: min(4vw, 16px);
  border-radius: 100px;
  width: auto;
  padding: 0 min(4vw, 16px);
  height: 3rem;
  line-height: 3rem;
  background-color: #fff;
  opacity: 1;
  margin-right: 8px;
  color: var(--beige3);
  border: 1px solid var(--beige3);
}

#point .swiper-pagination-bullet span {
  line-height: 1em;
}

#point .swiper-pagination-bullet-active {
  background: var(--beige3);
  color: #fff;
}

#point .swiper-pagination {
  position: absolute;
  top: 30px !important;
  display: flex;
  flex-wrap: wrap;
  height: 80px;
  padding-left: 16px;
}
.tab-label {
  padding: 0 5px 3px 10px;
}
.tab-content {
  padding: 32px 12px;
}

#flow .flex {
  flex-direction: column;
}

h3.text-22.mb-1em {
  margin-bottom: 0.5em;
}
.main-menu button {
  font-size: 1.6rem;
}

#catalog > .flex,
.estimate > .flex {
  flex-direction: column;
}

#sample {
  flex-wrap: wrap;
}

.sample-text {
  flex-basis: 100%;
}

#catalog .flex {
  align-items: center;
}


#products_swiper .swiper-wrapper{
height: auto;
}