@charset "UTF-8";

/* 共通 */
img {
  image-rendering: -webkit-optimize-contrast;
}
#quality #contentWrap p {
  letter-spacing: 0.08em;
  line-height: 1.5;
}
.page_block {
  margin: 100px auto 0;
}
.page_ttl {
  font-size: 30px;
  letter-spacing: 0.3em;
  text-align: center;
  margin-bottom: 100px;
}
.page_block .ttl {
  font-size: 22px;
  font-weight: 600;
  color: #686d71;
  letter-spacing: 0.2em;
  line-height: 1.8;
  text-align: center;
}
.page_block .ttl+.lead_Txt {
  margin: 20px 0 60px;
  font-size: 18px;
  text-align: center;
}
#quality #contentWrap {
  color: #686d71;
}
#quality #contentWrap sup {
  font-size: 0.7em;
  vertical-align: super;
}
figure {
  position: relative;
}
.quality_Area {
  width: 90%;
  max-width: 1160px;
  margin: 0 auto;
  overflow: hidden;
}
p.lead_Txt {
  font-size: 20px;
  color: #686d71;
  letter-spacing: 0.25em;
  line-height: 1.8;
  text-align: center;
}
h4 {
  font-size: 18px;
  color: #686d71;
  letter-spacing: 0.1em;
  line-height: 1.6;
  margin-top: 10px;
}
p.item_txt {
  font-size: 14px;
  color: #686d71;
  letter-spacing: 0.08em;
  line-height: 1.6;
  margin-top: 2px;
}
p.ttl {
  align-items: center;
  font-size: 20px;
  margin-bottom: 40px;
}
p.ttl .en {
  display: inline-block;
}
p.ttl .line {
  flex: 1;
  display: inline-block;
  height: 1px;
  background: #686d71;
  margin-left: 15px;
}
p.con_ttl {
  font-size: 18px;
  letter-spacing: 0.1em;
  line-height: 1.6;
}
small {
  font-size: 12px;
}
.big {
  display: inline-block;
  font-size: 17px;
  margin-bottom: 5px;
}
.description li {
  width: 100% !important;
  font-size: 12px;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-indent: -1em;
  padding-left: 1em;
  margin-top: 0 !important;
}
.small_txt {
  font-size: 12px;
}
p.item_ttl {
  margin-bottom: 10px;
}
.page_block {
  margin: 100px auto 0;
}

/* flex */
.main_Box02 {
  flex-wrap: wrap;
}
.main_Box02 li:nth-of-type(1) {
  width: 72.85%;
  max-width: 845px;
  margin-right: 3.44%;
}
.main_Box02 li:nth-of-type(2) {
  width: 23.71%;
  max-width: 275px;
}
.main_Box02 li .main_column li {
  width: 100%;
  margin-right: 0;
}
.main_Box02 li .main_column li:not(:first-of-type) {
  margin-top: 30px;
}
.content_Block.sub_Box {
  margin-top: 150px;
}
.sub_Box {
  margin-top: 60px;
}
.sub_flex02 {
  flex-wrap: wrap;
}
.sub_flex02 li {
  width: calc((100% - 40px) / 2);
  max-width: 560px;
  margin-right: 40px;
}
.sub_flex02 li:nth-of-type(2n) {
  margin-right: 0;
}
.sub_flex02 li:nth-of-type(n+3) {
  margin-top: 60px;
}
.sub_flex04 {
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 60px;
}
.sub_flex04 li {
  width: calc((100% - 5%) / 4);
  margin-right: 1.66%;
}
.sub_flex04 li:nth-of-type(4n) {
  margin-right: 0;
}
.sub_flex04 li:nth-of-type(n+5) {
  margin-top: 60px;
}
.sub_flex04 li figure {
  max-width: 275px;
}
.sub_flex03 {
  flex-wrap: wrap;
}
.sub_flex03 li {
  width: calc((100% - 3.52%) / 3);
  margin-right: 1.76%;
}
.sub_flex03 li:nth-of-type(3n) {
  margin-right: 0;
}
.sub_flex03 li:nth-of-type(n+4) {
  margin-top: 60px;
}
.item02_flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.item02_flex p {
  width: 46%;
}
.item02_flex figure {
  width: 51.5%;
  max-width: 280px;
  margin: 0 0 20px 2.5%;
}

/* -------------
facility
---------------- */
.facility_Box h4 {
  border-bottom: none;
  padding: 0 0 0 16px;
  margin: 0 auto 10px auto;
  position: relative;
}
.facility_Box h4::before {
  content: "";
  display: block;
  width: 5px;
  height: 100%;
  background: #005ca2;
  background-image: linear-gradient(to bottom, #37a7ca, #005ca2);
  position: absolute;
  top: 0;
  left: 0;
}
.facility_Box h4.bdrNone {
  position:static;
  padding: 0 0;
}
.facility_Box h4.produce {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
.facility_Box h4.produce::after {
  content: "";
  display: block;
  width: 200px;
  aspect-ratio: 27/3;
  background: url(../img/produce.svg) no-repeat center center / contain;
}

.facility_Box p.item_ttl {
  font-size: 16px;
  padding-top: 10px;
  margin-bottom: 0px;
}
.facility_Box .item_txt {
  border-top: 1px solid #686d71;
  padding-top: 10px;
}
.facility_Box .item_txt.bdrNone {
  border-top: none;
}

.electric_park {
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 30px;
}
.electric_park li:nth-of-type(1) {
  width: 60%;
  margin-right: 4.73%;
}
.electric_park li:nth-of-type(2) {
  max-width: 600px;
  width: 35%;
}

.park {
  margin-top: 100px;
}
.park .electric_park .b_ttl {
  color:#38a1db;
  font-size: 18px;
  position: relative;
}
.park .electric_park .item_txt {
  padding-bottom: 10px;
  border-bottom: 1px solid #ccc;
  /* display: flex;
  align-items: flex-start; */
}
.park .electric_park .item_txt.bdrNone {
  padding-bottom: 0;
  border-bottom: none;
}
.park .electric_park .item_txt::before {
  content: '';
  display: inline-block;
  width: 12px;
  height: 12px;
  background-color: #38a1db;
  margin-top: 0.2em;
  margin-right: 0.5em;
  flex-shrink: 0;
}
.park .b_ttl:not(:nth-of-type(1)) {
  margin-top: 10px;
}

.park .description {
  margin-top: 20px;
}

.facility_Box .park .item_txt {
  border-top: none;
}
.facility_Box .park .item_txt:nth-of-type(1) {
  border-top:1px solid #686d71;
}

.weev_Box {
  margin-top: 60px;
}
.weev_Box .list_fig {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #686d71;
  padding-top: 20px;
}
.weev_Box .list_fig ul {
  width:48%;
}
.weev_Box .list_fig ul li {
  border:1px solid #9f8b57;
  padding: 15px 30px;
  margin-bottom:0.5em;
  color:#9f8b57;
  font-size: 16px;
  text-align: center;
}
.weev_Box .list_fig .fig {
  width:45%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.fac_weev {
  max-width: 150px;
  margin-right:30px;
}
.fac_02 {
  max-width: 300px;
}


.internet_Box {
  margin-top: 60px;
}
.internet_Box h4 {
  display: flex;
  align-items: center;

}
.internet_Box h4 .qtnet {
  display: inline-block;
  width: 10%;
}
.internet_Box h4 .qtnet_txt {
  display: inline-block;
  margin-left: 15px;
}
.wifi figure {
  align-self: flex-start;
}

.marugoto_flex {
  display: flex;
  justify-content: space-between;

  border-top: 1px solid #686d71;
  padding-top: 20px;
}
.marugoto {
  width:49.5%;
  /* flex-wrap: wrap; */
  /* align-self: flex-start; */
  /* align-items: center; */
}
.marugoto figure {
  width: 50%;
  max-width: 400px;
  margin: 0 0 30px 30px;
}
.marugoto .list_txt {
  /* width: 48.18%; */
}
.marugoto .list_txt p {
  font-size: 14px;
  text-indent: -1em;
  padding-left: 1em;
  margin-bottom: 5px;
}

.marugoto .list_txt p.small_txt {
  font-size: 12px;
}

.internet_Box .txt_fig {
  display:flex;
  justify-content:space-between;
  width:49.5%;
}
.internet_Box .txt_fig .txt {
  width:48.5%;
}
.internet_Box .txt_fig .fig {
  width:48.5%;
  max-height: 278px;
}

.internet_Box .txt_fig .txt h5 {
  background: #5d6970;
  padding: 10px 30px;
  text-align: center;
  color:#FFF;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.08em;
}
.internet_Box .txt_fig .txt .small_txt {
  margin-top: 10px;
}

.service_Box {
  border:1px solid #727171;
  padding:40px;
  margin-top: 60px;
}

.fac_04 {
  margin-bottom: 30px;
}
.fac_05 {

}
.service_Box .small_txt {
  margin-top: 10px;
}

/*--------------------------------------------------------
  tab/sp
--------------------------------------------------------*/
@media only screen and (max-width: 1024px) {}

/*--------------------------------------------------------
  sp
--------------------------------------------------------*/
@media only screen and (max-width: 820px) {
  .page_Ttl {
    max-width: 189px;
    width: 32%;
    margin: 50px auto 40px;
  }
}

@media only screen and (max-width: 767px) {


  .page_block {
    margin: 60px auto 0;
  }
  .content_Block.sub_Box {
    margin-top: 80px;
  }
  .main_Box02 li:nth-of-type(1) {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
  }
  .main_Box02 li:nth-of-type(2) {
    width: 100%;
    max-width: 100%;
  }
  .main_column {
    display: flex;
    flex-wrap: wrap;
    margin-top: 20px;
  }
  .main_Box02 li .main_column li:not(:first-of-type) {
    margin-top: 40px;
  }
  .main_Box02 li .main_column li {
    width: calc((100% - 4%) / 2);
    margin-right: 4%;
  }
  .main_Box02 li .main_column li:nth-of-type(2n) {
    margin-right: 0;
  }
  .main_Box02 li .main_column li:nth-of-type(1),
  .main_Box02 li .main_column li:nth-of-type(2) {
    margin-top: 0;
  }
  .sub_Box {
    margin-top: 40px;
  }
  .sub_flex02 li {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
  }
  .sub_flex02 li:nth-of-type(n+2) {
    margin-top: 40px;
  }
  .sub_flex04 {
    margin-top: 40px;
  }
  .item02_flex p {
    width: 100%;
  }
  .item02_flex figure {
    width: 100%;
    max-width: 100%;
    margin: 0 0 0 0;
  }

  /* facility */
  .facility_Box h4.produce {
    flex-direction: column;
    align-items: baseline;
    gap: 10px;
  }
  .facility_Box h4.produce::after {
    width: 160px;
  }
  .electric_park li:nth-of-type(1) {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
  }
  .electric_park li:nth-of-type(2) {
    width: 100%;
    margin-top: 20px;
  }
  .park {
    margin-top: 80px;
  }
  .park .b_ttl {
    font-size: 16px;
    padding: 0 0 0 0;
  }
  .park .b_ttl::before {
    left: 0;
  }
  .facility_Box .park .item_txt {
    margin: 0px 0 0 0;
  }

  .weev_Box {
    margin-top: 30px;
  }
  .weev_Box .list_fig {
    flex-direction: column;
  }
  .weev_Box .list_fig ul {
    width:100%;
  }
  .weev_Box .list_fig ul li {
    padding: 15px 15px;
    font-size: 14px;
    margin-bottom: 10px;
  }
  .weev_Box .list_fig .fig {
    width:100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .fac_weev {
    max-width: 100%;
    width:35%;
    margin-right:30px;
  }
  .fac_02 {
    max-width: 100%;
    width:60%;
  }


  .internet_Box {
    margin-top: 30px;
  }
  .internet_Box h4 {
    display: flex;
    align-items: center;

  }
  .internet_Box h4 .qtnet {
    display: inline-block;
    width: 30%;
  }
  .internet_Box h4 .qtnet_txt {
    display: inline-block;
    margin-left: 15px;
  }
  /* .wifi figure {
    align-self: flex-start;
  } */

  .marugoto_flex {
    flex-direction: column;
  }
  .marugoto {
    width:100%;
  }
  .marugoto figure {
    width: 80%;
    max-width: 100%;
    margin: 0 auto 30px;
  }
  .marugoto .list_txt {
    /* width: 48.18%; */
  }

  .internet_Box .txt_fig {
    flex-direction: column;
    width:100%;
  }
  .internet_Box .txt_fig .txt {
    width:100%;
    margin-bottom: 30px;
  }
  .internet_Box .txt_fig .fig {
    width:100%;
  }
  .internet_Box .txt_fig .fig figure {
    width:80%;
    margin: 0 auto;
  }

  .internet_Box .txt_fig .txt h5 {
    font-size: 16px;
  }

  .service_Box {
    padding:20px;
    margin-top: 30px;
  }

  .fac_04 {

  }
  .fac_05 {

  }

}
