.flex-spacebet {
  justify-content: space-between;
}
.just-center {
  justify-content: center;
}
.flex-ali-center {
  align-items: center;
}

.page-img {
  background-size: cover;
  background-position: center center;
}
.page-img01 {
  background-image: url("../img/pageimg01.jpg");
}
.page-img02 {
  background-image: url("../img/pageimg02.jpg");
}
.page-img03 {
  background-image: url("../img/pageimg03.jpg");
}
.page-img04 {
  background-image: url("../img/pageimg04.jpg");
}
.page-img05 {
  background-image: url("../img/pageimg05.jpg");
}
.page-img06 {
  background-image: url("../img/pageimg06.jpg");
}

.kage {
  background: rgba(0, 0, 0, 0.3);
  padding-top: 240px;
  padding-bottom: 180px;
}

.pagetitle {
  max-width: 85rem;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 0 5%;
  justify-content: space-between;
}

.pagetitle h2 {
  font-size: 320%;
  font-weight: bold;
  color: #fff;
}
.pagetitle h6 {
  font-size: 160%;
  font-family: Arial, Helvetica, "sans-serif";
  font-weight: bold;
  color: #fff;
  margin-top: 0px;
}

.page-submenu {
  max-width: 85rem;
  margin: 0 auto;
  box-sizing: border-box;
  margin-top: -40px;
  padding: 0 5%;
}
.page-submenu ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  background-color: #fff;
  padding: 20px;
  border-radius: 4px;
  box-shadow: rgba(17, 12, 46, 0.06) 0px 48px 100px 0px;
  border: 1px solid #f0f2f6;
}
.page-submenu ul li a {
  padding: 10px 20px 10px 25px;
  display: block;
  color: #000000;
  position: relative;
  font-weight: bold;
}

.page-submenu ul li a::before,
.page-submenu ul li a::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}
.page-submenu ul li a::before {
  width: 16px;
  height: 16px;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  background: #f4f4f4;
  border: 1px solid #d4d4d4;
}
.page-submenu ul li a::after {
  left: 6px;
  width: 4px;
  height: 4px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}

.subtitle h2 {
  font-size: 220%;
  font-weight: bold;
  padding-bottom: 20px;
  position: relative;
}

.contents-box-seco {
  max-width: 85rem;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 120px 5%;
}

.gre-bg {
  background-color: #f6f7f9;
}

.rekisi {
  width: 70%;
}
.rekisi-img {
  width: 25%;
}
.rekisi {
  border-top: 1px solid #dee6e4;
}
.rekisi li {
  display: flex;
  padding-bottom: 10px;
  padding-top: 10px;
  border-bottom: 1px solid #dee6e4;
}
.rekisi li h4 {
  font-size: 114%;
  line-height: 1.5;
  letter-spacing: 0.02em;
  font-weight: 500;
  font-weight: bold;
  position: relative;
  padding-left: 20px;
  padding-right: 20px;
}
.rekisi li h4::after {
  position: absolute;
  content: "◉";
  color: #54a88e;
  left: 0;
}
.sosiki-img {
  border: 1px solid #dee6e4;
  padding: 5% 10%;
  background-color: #fff;
}
.sosiki-img p {
  text-align: center;
  font-weight: bold;
  margin-bottom: 20px;
}
.sosikilink {
  margin-top: 20px;
}
.sosikilink li {
  border-left: 1px solid #dee6e4;
}
.sosikilink li:last-child {
  border-right: 1px solid #dee6e4;
}
.sosikilink li a {
  font-size: 114%;
  line-height: 1.5;
  letter-spacing: 0.02em;
  font-weight: 500;
  font-weight: bold;
  padding: 5px 15px;
  display: block;
  color: #000000;
}

.company-logo {
  width: 30%;
  box-sizing: border-box;
  padding-left: 5%;
  padding-right: 5%;
}
.company-txt {
  width: 65%;
}

.table {
  width: 100%;
  border-left: 1px solid #f0f2f6;
  border-top: 1px solid #f0f2f6;
}
.table td {
  border-right: 1px solid #f0f2f6;
  border-bottom: 1px solid #f0f2f6;
  padding: 10px;
  font-size: 114%;
  line-height: 1.5;
  letter-spacing: 0.02em;
  font-weight: 500;
  background-color: #fff;
}
.table .td01 {
  background-color: #7d7d7d;
  font-weight: bold;
  color: #fff;
}

.sec-inner01 {
  margin-top: 40px;
  border: 10px solid #f0f2f6;
  background-color: #fff;
}
.sec-inner01 li {
  padding: 4%;
}
.sec-inner01 li:last-child {
  border-top: 1px solid #f0f2f6;
}

.busi01 {
  width: 370px;
}
.busi02 {
  width: 60%;
}

.busi02 h3 {
  font-size: 180%;
  font-weight: bold;
  margin-bottom: 30px;
  position: relative;
  padding-bottom: 20px;
}
.busi02 h3::after {
  content: "";
  position: absolute;
  width: 40px;
  height: 2px;
  background: linear-gradient(to right, #56a98f 0%, #8ec6b5 100%);
  bottom: 0;
  left: 0;
}
.yuryo-k {
  margin-bottom: 20px;
  margin-top: 20px;
}
.yuryo-k h4 {
  background: linear-gradient(to right, #56a98f 0%, #8ec6b5 100%);
  padding: 10px;
  text-align: center;
  color: #fff;
  font-size: 110%;
  font-weight: bold;
}

.eco21 {
  width: 210px;
  border: 1px solid #58aa90;
  background-color: #fff;
  margin: 0 auto;
}
.anzennintei {
  margin-top: 30px;
  text-align: center;
}
.anzennintei img {
  width: 80%;
}

.syousai-txt {
  margin-top: 30px;
}
.syousai-txt p {
  font-size: 90%;
}
.subsub-title01 {
  font-size: 115%;
  font-weight: bold;
  position: relative;
  padding-left: 1em;
  margin-bottom: 10px;
}
.subsub-title01::after {
  position: absolute;
  content: "";
  height: 10px;
  width: 10px;
  background: linear-gradient(to right, #56a98f 0%, #8ec6b5 100%);
  border-radius: 10px;
  top: 0.5em;
  left: 0;
}

.l-47 {
  width: 47%;
}
.r-47 {
  width: 47%;
}

.point li {
  display: flex;
  background: linear-gradient(to right, #56a98f 0%, #8ec6b5 100%);
  border-radius: 4px;
  padding: 15px 20px;
  align-items: center;
  color: #fff;
  margin-bottom: 10px;
}

.point li:last-child {
  margin-bottom: 0px;
}
.point01 {
  text-align: center;
  border-right: 1px solid #fff;
  padding-right: 20px;
  margin-right: 20px;
}
.point01 h6 {
  font-family: Arial, Helvetica, "sans-serif";
  font-size: 80%;
  font-weight: bold;
  line-height: 1;
}
.point01 h5 {
  font-family: Arial, Helvetica, "sans-serif";
  font-size: 160%;
  font-weight: bold;
  line-height: 1;
}
.point02 h4 {
  font-size: 140%;
  font-weight: bold;
}
.hinnmoku {
  flex-wrap: wrap;
}
.hinnmoku li {
  width: 360px;
  box-sizing: border-box;
  margin-top: 40px;
}

.hinnmoku li h3 {
  font-size: 140%;
  font-weight: bold;
  margin-top: 15px;
}

.flow-re-box {
  border: 1px solid #f0f2f6;
  padding: 5% 5%;
  background-color: #fff;
  border-radius: 4px;
  box-sizing: border-box;
}
.flow-re-boximg {
  max-width: 960px;
  margin: 0 auto;
}

.w-40 {
  width: 40%;
}
.w-55 {
  width: 55%;
}
.w-30 {
  width: 30%;
}
.w-65 {
  width: 65%;
}

.ue-gree-box {
  box-sizing: border-box;
  border-radius: 4px;
  border: 1px solid #d8d8d8;
  background-color: #f4f4f4;
}
.ue-gree-title {
  background: linear-gradient(to right, #56a98f 0%, #8ec6b5 100%);
  font-size: 130%;
  font-weight: bold;
  padding: 10px 20px;
  color: #fff;
  border-radius: 4px 4px 0px 0px;
}
.greebox-inner {
  padding: 20px 20px 20px 20px;
}
.greebox-inner02 {
  padding: 0px 20px 20px 20px;
}

.greebox-txt {
  font-size: 105%;
  position: relative;
  padding-left: 1em;
}
.greebox-txt::after {
  position: absolute;
  content: "";
  height: 10px;
  width: 10px;
  background: linear-gradient(to right, #56a98f 0%, #8ec6b5 100%);
  border-radius: 10px;
  top: 0.4em;
  left: 0;
}

.eco21-1 {
  border: 1px solid #54a88e;
  padding: 10%;
  background-color: #fff;
  border-radius: 4px;
  box-sizing: border-box;
}

.magintop40px {
  margin-top: 40px;
}
.dwnlist {
  margin-top: 10px;
}
.dwnlist li {
  margin-left: 20px;
}
.dwnlist li p {
  font-size: 100%;
  position: relative;
  padding-left: 20px;
}
.dwnlist li p::after {
  position: absolute;
  content: "ー";
  left: 0;
  color: #54a88e;
}
.dwnr-a {
  color: #000;
  text-decoration: underline;
}

.btn02 {
  max-width: 600px;
  margin: 0 auto;
}

.btn02 a {
  background: linear-gradient(to right, #56a98f 0%, #8ec6b5 100%);
  padding: 15px 60px 15px 20px;
  border-radius: 4px;
  color: #ffffff;
  font-size: 120%;
  font-weight: bold;
  position: relative;
  display: block;
  text-align: center;
}
.btn02 a::after {
  position: absolute;
  content: "";
  right: 20px;
  width: 6px;
  height: 6px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 0;
  bottom: 0;
  margin: auto;
  vertical-align: middle;
}
.btn02 a h4 {
  font-size: 140%;
  font-weight: bold;
}
.btn02 a h6 {
  font-size: 80%;
  font-family: Arial, Helvetica, "sans-serif";
}

.sanapai-t {
  text-align: center;
  margin-bottom: 20px;
}

.set-img2 li {
  width: 582px;
}
.set-img2 li h3 {
  font-size: 140%;
  font-weight: bold;
  margin-top: 15px;
}

.setuimgs {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.setuimgs li:nth-child(1) {
  width: 100%;
  margin-bottom: 3%;
}
.setuimgs li:nth-child(2) {
  width: 369px;
}
.setuimgs li:nth-child(3) {
  width: 369px;
}
.setuimgs li:nth-child(4) {
  width: 369px;
  margin-top: 3%;
}
.setuimgs li:nth-child(5) {
  width: 369px;
  margin-top: 3%;
}
.setu-ttt {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
  margin-top: 20px;
}
.setu-ttt h3 {
  font-size: 200%;
  font-weight: bold;
  border-left: 1px solid #54a88e;
  margin-left: 10px;
  padding-left: 10px;
}
.setu-ttt h6 {
  font-size: 160%;
  font-weight: bold;
  color: #54a88e;
}

.matome {
  border-top: 1px solid #e0e0e0;
  margin-top: 20px;
  padding-top: 20px;
}

.sec-inner-face {
  margin-bottom: 80px;
}
.syaryou li {
  width: 360px;
}
.syaryou::after {
  content: "";
  width: 360px;
}
.syaryou li h3 {
  font-size: 140%;
  font-weight: bold;
  margin-top: 10px;
}
.syaryo-list {
  display: flex;
  justify-content: space-between;
}
.syaryo-list li {
  width: 48%;
  margin-top: 60px;
}

.page-sub-cati {
  font-size: 160%;
  font-weight: bold;
  margin-bottom: 20px;
}
.kaitori {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.kaitori li {
  width: 360px;
  margin-bottom: 40px;
}
.kaitori li h4 {
  font-size: 140%;
  font-weight: bold;
  margin-top: 15px;
}

.map {
  border: 1px solid #f0f2f6;
  margin-top: 20px;
  box-sizing: border-box;
  background-color: #fff;
  padding: 10px;
  border-radius: 4px;
}

.contact-box-w {
  max-width: 900px;
  margin: 0 auto;
}
.contact-box-w02 {
  max-width: 900px;
  margin: 0 auto;
  margin-top: 60px;
}

.tel-cente {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
}
.tel-cente h4 a {
  font-size: 320%;
  font-family: Arial, Helvetica, "sans-serif";
  font-weight: bold;
  color: #000000;
}

.teleigyo {
  text-align: center;
  font-weight: bold;
  margin-bottom: 20px;
}
.boder-b {
  border: 1px solid #f0f2f6;
  box-sizing: border-box;
}

.k-map-box {
  border: 1px solid #f0f2f6;
  border-radius: 4px;
  margin-top: 40px;
  margin-bottom: 40px;
  position: relative;
  width: 100%;
  box-sizing: border-box;
}
.k-map {
  max-width: 1000px;
  margin: 0 auto;
}

.k-map-box h4 {
  font-size: 140%;
  color: #fff;
  background: linear-gradient(to right, #56a98f 0%, #8ec6b5 100%);
  padding: 15px 20px;
  display: inline-block;
  font-weight: bold;
  position: absolute;
}
.k-map img {
}
.k-date {
  position: absolute;
  background-color: #fff;
  border-radius: 4px;
  padding: 20px;
  bottom: 23%;
  left: 6%;
}

.keiyaku-flow {
  border: 1px solid #f0f2f6;
  border-radius: 4px;
  margin-bottom: 40px;
  padding: 10%;
  background-color: #fff;
}

.pegelink-fa {
  display: block;
  padding-top: 60px;
  margin-top: -60px;
}

.setuimgs {
  width: 780px;
}
.setuimgs li p {
  font-weight: bold;
  position: absolute;
  bottom: 0;
  background-color: #54a88e;
  color: #fff;
  padding: 5px 10px;
}

.beforimg {
  position: relative;
}

.dairiseki01 {
  width: 420px;
}
.dairiseki02 {
  width: 3%;
}
.dairiseki03 {
  width: 730px;
}

.area_de {
  position: absolute;
}
.area_de a {
  display: block;

  width: 100%;
  height: 100%;
}
.area_de a:hover {
  opacity: 1;
}
.area_de a h6 {
  color: #54a88e;
  font-size: 120%;
  font-family: Arial, Helvetica, "sans-serif";
  font-weight: bold;
  display: none;
}
.area_de a h6 span {
  background-color: #fff;
  padding: 3px 5px;
  border-radius: 4px;
  border: 1px solid #54a88e;
  display: inline-block;
}
.area_de a h3 {
  color: #000;
  font-size: 90%;
  font-weight: bold;
  white-space: nowrap;
  margin-top: 5px;
  line-height: 1.3;
  display: none;
}
.area01 {
  top: 24%;
  left: 38%;
  width: 8%;
  height: 7%;
}
.area02 {
  top: 16%;
  left: 42%;
  width: 8%;
  height: 7%;
}
.area03 {
  top: 9%;
  left: 60%;
  width: 8%;
  height: 5%;
}
.area04 {
  top: 16%;
  left: 62%;
  width: 6%;
  height: 5%;
}
.area05 {
  top: 23%;
  left: 63%;
  width: 6%;
  height: 5%;
}
.area06 {
  top: 31%;
  left: 70%;
  width: 10%;
  height: 8%;
}
.area07 {
  top: 42%;
  left: 59%;
  width: 16%;
  height: 10%;
}
.area08 {
  top: 15%;
  left: 73%;
  width: 6%;
  height: 10%;
}
.area09 {
  top: 60%;
  left: 64%;
  width: 12%;
  height: 6%;
}
.area10 {
  top: 30%;
  left: 50%;
  width: 3.2%;
  height: 10%;
}

.tejyun {
  margin: 0 auto;
  max-width: 600px;
  margin-top: 40px;
}
.tejyun p {
}
.oogatabox {
  width: 570px;
}
.sasbaki01 {
  width: 790px;
}

.revruit-box {
  margin-bottom: 40px;
  border: 1px solid #d8d8d8;
  padding: 5% 10%;
  background-color: #f4f4f4;
  border-radius: 4px;
}
.recruit-inner {
  max-width: 900px;
  padding: 20px 20px 20px 20px;
}
.recruit-txt {
}

@media screen and (max-width: 1200px) {
  .hinnmoku li {
    width: 280px;
  }
  .kaitori li {
    width: 280px;
  }
  .busi01 {
    width: 270px;
  }
  .oogatabox {
    width: 370px;
  }
  .set-img2 li {
    width: 382px;
  }
  .syaryou li {
    width: 280px;
  }
  .syaryou::after {
    width: 280px;
  }
  .sasbaki01 {
    width: 590px;
  }

  .setuimgs li:nth-child(2) {
    width: 300px;
  }
  .setuimgs li:nth-child(3) {
    width: 300px;
  }
  .setuimgs li:nth-child(4) {
    width: 300px;
  }
  .setuimgs li:nth-child(5) {
    width: 300px;
  }
}

@media screen and (max-width: 800px) {
  .contents-box-seco {
    padding: 80px 5%;
  }
  .kage {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .pagetitle h2 {
    font-size: 200%;
  }
  .pagetitle h6 {
    font-size: 100%;
  }
  .w-40 {
    width: 100%;
  }
  .w-55 {
    width: 100%;
  }
  .w-30 {
    width: 100%;
  }
  .w-65 {
    width: 100%;
  }
  .kaitori li {
    width: 100%;
    margin-bottom: 40px;
  }
  .l-47 {
    width: 100%;
  }
  .l-47:first-child {
    margin-bottom: 40px;
  }

  .page-submenu ul {
    justify-content: flex-start;
    background-color: #fff;
    padding: 10px;
  }
  .page-submenu ul li a {
    font-size: 90%;
    padding: 5px 10px 5px 25px;
  }
  .subtitle h2 {
    font-size: 180%;
  }
  .r-47 {
    width: 100%;
  }
  .hinnmoku li {
    width: 100%;
  }

  .dairiseki01 {
    width: 100%;
  }
  .dairiseki02 {
    width: 10%;
    margin: 0 auto;
  }
  .dairiseki02 img {
    transform: rotate(90deg);
  }

  .dairiseki03 {
    width: 100%;
  }
  .sp-majintop40 {
    margin-top: 40px;
  }
  .btn02 a h4 {
    font-size: 100%;
    font-weight: bold;
  }
  .k-map-box {
    position: inherit;
  }
  .k-map-box h4 {
    font-size: 120%;
    position: inherit;
  }

  .k-date {
    position: inherit;
    background-color: #fff;
    border-radius: 4px;
    padding: 20px;
    bottom: 23%;
    left: 6%;
  }
  .k-map {
    padding-left: 0%;
    padding-right: 0%;
  }
  .k-date p {
    font-size: 90%;
  }

  .area_de {
    display: none;
  }

  .set-img2 li {
    width: 100%;
  }
  .set-img2 li:first-child {
    margin-bottom: 40px;
  }
  .setuimgs {
    margin-top: 40px;
  }

  .setuimgs li:nth-child(2) {
    width: 100%;
    margin-bottom: 3%;
  }
  .setuimgs li:nth-child(3) {
    width: 100%;
    margin-bottom: 3%;
  }
  .setuimgs li:nth-child(4) {
    width: 100%;
    margin-bottom: 3%;
  }
  .setuimgs li:nth-child(5) {
    width: 100%;
    margin-bottom: 3%;
  }
  .syaryou li {
    width: 100%;
    margin-bottom: 40px;
  }
  .syaryou li:last-child {
    margin-bottom: 0px;
  }
  .syaryou::after {
    display: none;
  }
  .syaryo-list {
    display: inherit;
    justify-content: space-between;
  }
  .syaryo-list li {
    width: 100%;
    margin-top: 40px;
  }

  .rekisi {
    width: 100%;
  }

  .rekisi li h4 {
    width: 20%;
  }
  .rekisi li p {
    width: 80%;
  }
  .rekisi-img {
    width: 100%;
    margin-top: 40px;
  }

  .company-logo {
    width: 100%;
    margin-bottom: 40px;
  }
  .company-txt {
    width: 100%;
  }
  .busi01 {
    width: 100%;
    margin-bottom: 20px;
  }
  .busi02 {
    width: 100%;
  }
  .busi02 h3 {
    font-size: 140%;
  }
  .tel-cente h4 a {
    font-size: 220%;
  }

  .setuimgs {
    width: 100%;
  }

  .eco21 {
    width: 100%;
  }

  .oogatabox {
    width: 100%;
  }
  .sasbaki01 {
    width: 100%;
  }
}

/* 2026-09 test revision */
.registration-table { width:62%; margin-right:auto; margin-left:auto; border-collapse:collapse; line-height:1.8; }
.registration-table th,.registration-table td { padding:18px 24px; border:1px solid #dce7e2; text-align:left; font-size:16px; }
.registration-table th { width:45%; background:linear-gradient(to right,#56a98f 0%,#8ec6b5 100%); color:#fff; font-weight:bold; }
.document-pending { display:inline-block; margin-left:12px; color:#767676; font-size:85%; }
.solar-thumbnails li:nth-child(1),.solar-thumbnails li:nth-child(2) { width:47.3%; margin-bottom:0; }
.syaryou img { aspect-ratio:800/530; object-fit:cover; }
.syaryou { flex-wrap:wrap; row-gap:32px; }
.hero-visual { position:relative; }
.hero-panels { position:absolute; z-index:6; right:2%; top:96px; bottom:18px; width:clamp(240px,22vw,420px); display:grid; grid-template-rows:1fr 2.5fr 4.1fr 1.1fr; gap:clamp(10px,1vw,16px); color:#508f78; font-weight:bold; }
.hero-panel { box-sizing:border-box; display:flex; flex-direction:column; justify-content:center; min-height:0; background:rgba(255,255,255,.85); border:2px solid #609d86; border-radius:3px; padding:12px 18px; text-align:center; }
.hero-panel h2 { font-size:clamp(18px,1.35vw,26px); font-weight:700; margin:0 0 10px; }
.hero-panel ul { width:max-content; max-width:100%; margin:0 auto; }
.hero-panel li a,.recruit-link { display:flex; flex-direction:row; align-items:center; gap:clamp(8px,.7vw,12px); }
.hero-panel li a { justify-content:space-between; width:100%; }
.hero-panel li a { padding:clamp(3px,.45vh,7px) 0; font-size:clamp(15px,1.05vw,21px); white-space:nowrap; }
.recruit-link { position:relative; justify-content:center; font-size:clamp(18px,1.35vw,26px); font-weight:700; }
.recruit-link > .hero-arrow-icon { position:absolute; right:8%; }
.hero-panel a,.hero-panels .recruit-link { color:#508f78; }
.hero-hours h2,.hero-contact { background:#508f78; color:white; border-radius:5px; padding:7px 24px; font-size:clamp(15px,1vw,18px); display:table; margin:0 auto 6px; }
.hero-hours p { font-size:clamp(20px,1.45vw,28px); font-family:"Helvetica Neue",Arial,"Hiragino Sans",sans-serif; font-weight:700; line-height:1.6; white-space:nowrap; }
.hero-hours small { font-size:clamp(11px,.8vw,15px); display:block; }
.hero-hours .hero-contact { margin:clamp(14px,2.5vh,34px) auto 8px; color:#fff; }
.hero-phone { display:block; font-size:clamp(20px,1.45vw,28px); font-family:"Helvetica Neue",Arial,"Hiragino Sans",sans-serif; line-height:1.5; white-space:nowrap; }
.hero-security { box-sizing:border-box; display:flex; align-items:stretch; min-height:0; }
#btn_animation.hero-security .security-button { box-sizing:border-box; display:flex; align-items:center; justify-content:center; width:100%; padding:8px 6px; text-align:center; font-size:clamp(13px,1vw,19px); white-space:nowrap; }
.main-img .cati-box { max-width:68%; box-sizing:border-box; }
.main-img .cati-box h4 { font-size:clamp(28px,3vw,56px); }
.main-img .req-imgbox li,.main-img .cati { height:max(75vh,550px); }
@media screen and (max-width:1180px) and (min-width:801px) {
 .syaryou li { width:31%; }
 .syaryou::after { width:31%; }
}
@media screen and (max-width:800px) {
 .main-img .req-imgbox li,.main-img .cati { height:45vh; min-height:300px; }
 .main-img .cati-box { max-width:100%; padding-right:5%; }
 .main-img .cati-box h4 { font-size:190%; }
 .hero-panels { position:static; display:flex; flex-direction:column; width:auto; padding:14px 5%; background:#edf5f1; gap:10px; }
 .hero-panel { padding:12px 18px; }
 #btn_animation.hero-security .security-button { min-height:68px; padding:14px 6px; }
 .registration-table { width:100%; }
 .registration-table th,.registration-table td { padding:12px 10px; overflow-wrap:anywhere; }
 .solar-thumbnails { width:100%; margin-top:40px; }
 .solar-thumbnails li:nth-child(1),.solar-thumbnails li:nth-child(2) { width:100%; margin-bottom:3%; }
}
@media screen and (max-width:800px) {
 .hinnmoku { display:flex; flex-direction:column; }
}

/* WordPress document lists: numbered labels are entered in the editor. */
.group-documents { margin-top:40px; scroll-margin-top:120px; }
.documents { padding:20px; }
.documents-entry + .documents-entry { margin-top:16px; }
.documents-heading { font-size:105%; font-weight:bold; line-height:1.8; margin:0; padding:0; }
.documents-list { list-style:none; margin:0; padding:0; }
.documents-list li { list-style:none; line-height:1.8; margin:0; padding:0; overflow-wrap:anywhere; }
.documents-list li + li { margin-top:8px; }
.documents-list-nested { margin-top:8px; padding-left:20px; }
.documents-list-nested li { position:relative; padding-left:20px; }
.documents-list-nested li::before { content:"−"; position:absolute; left:0; color:#54a88e; }
.documents-heading a { overflow-wrap:anywhere; }
.documents-empty { line-height:1.8; }

@media screen and (max-width:800px) {
 .group-documents { margin-top:24px; scroll-margin-top:80px; }
}

/* Supplied TOP icons */
.hero-arrow-icon { display:block; width:clamp(14px,1.05vw,20px); height:clamp(14px,1.05vw,20px); object-fit:contain; flex-shrink:0; }
.hero-phone { display:flex; align-items:center; justify-content:center; gap:12px; }
.hero-phone-icon { display:block; width:1em; height:1em; object-fit:contain; flex-shrink:0; transform:translateY(.08em); }

/* 2026-09-30: 金属スクラップの届出表・お問い合わせ */
#metal-registration .registration-table th,
#metal-registration .registration-table td,
#recycling03 .registration-table th,
#recycling03 .registration-table td { border-color:#000; }
#metal-registration .registration-table th,
#recycling03 .registration-table th { background:#fff9cc; color:#000; }
.contact-fax { text-align:center; font-size:20px; font-weight:bold; margin:10px 0; }
#mail_form .company-note { color:#c00; font-size:14px; line-height:1.6; margin-top:8px; }
