@charset "UTF-8";

#quality_P .note {
  max-width: 1200px;
}

.pagettl {
  background-image: url(../img/page_ttl.png);
}

.lead {
  padding: 100px 0 0 0;
}

.lead p {
  font-size: 20px;
  line-height: 1.8;
  letter-spacing: 2px;
  text-align: center;
}

.caption {
  font-size: 12px;
  letter-spacing: 0;
  text-align: right;
}

.tab {
  margin-top: 100px;
}

.tab_flex {
  gap: 2%;
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}

.tab_flex li {
  width: 18.4%;
}

.tab_flex li a {
  display: block;
  color: #00696c;
  text-align: center;
  border: 1px solid #00696c;
  background: #fff;
  padding: 14px 0;
  position: relative;
}

.tab_flex li a::before {
  content: "";
  position: absolute;
  top: 55%;
  right: 10px;
  transform: translateY(-50%);
  border: 6px solid transparent;
  border-top: 7px solid #00696c;
}

.tab_flex li a:hover {
  color: #fff;
  background: #00696c;
}

.tab_flex li a:hover::before {
  border-top: 7px solid #fff;
}

.tab_flex li.here a {
  color: #fff;
  background: #00696c;
}

.tab_flex li.here a::before {
  border-top: 7px solid #fff;
}

[class$="_box"] {
  margin-top: 100px;
}

[class$="_item"] {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}

.ttl {
  background: #276381;
  padding: 20px 0;
  margin-bottom: 60px;
}

.ttl span {
  display: block;
  max-width: 1200px;
  width: 90%;
  font-size: 36px;
  font-weight: 400;
  color: #fff;
  margin: 0 auto;
}

.column2 {
  gap: 4%;
  row-gap: 60px;
}

.column2 li {
  width: 48%;
}

.column3 {
  gap: 2%;
  row-gap: 60px;
}

.column3 li {
  width: 32%;
}

.column4 {
  gap: 2%;
  row-gap: 60px;
}

.column4 li {
  width: 23.5%;
}

.column_item {
  width: 100%;
}

.column_item:nth-of-type(n+2) {
  margin-top: 30px;
}

.harf_flex {
  gap: 4%;
}

.harf_flex .text,
.harf_flex figure {
  width: 48%;
}

.item_ttl {
  font-size: 18px;
  color: #2e6282;
  margin-top: 10px;
}

.item_ttl.mini {
  font-size: 16px;
  letter-spacing: 0;
  position: relative;
  top: -4px;
}

.item_ttl.nomargin {
  margin-top: 0;
}

.item_txt {
  font-size: 14px;
  margin-top: 10px;
}

small {
  font-size: 12px;
  display: block;
}


.pc_only {
  display: block;
}

/*---------------------------
tab
---------------------------*/
@media only screen and (max-width: 1024px) {
  .pc_only {
    display: none;
  }

   .tab_flex {
    row-gap: 10px;
  }

  .tab_flex li {
    width: 48%;
  }

  .tab_flex li a {
    font-size: 14px;
    letter-spacing: 0;
  }

  .tab_flex li a::before {
    right: 4px;
  }
}

/*---------------------------
sp
---------------------------*/
@media only screen and (max-width: 768px) {
  .tab {
    margin-top: 50px;
  }

  .lead {
    padding: 50px 0 0 0;
  }

 

  [class$="_box"] {
    margin-top: 50px;
  }

  .ttl {
    padding: 10px 0;
    margin-bottom: 20px;
  }

  .ttl span {
    font-size: 24px;
  }

  .column2 {
    gap: 0;
    row-gap: 40px;
  }

  .column2 li {
    width: 100%;
  }

  .column3 {
    gap: 0;
    row-gap: 40px;
  }

  .column3 li {
    width: 100%;
  }

  .column4 {
    gap: 0;
    row-gap: 40px;
  }

  .column4 li {
    width: 100%;
  }

  .column_item:nth-of-type(n+2) {
    margin-top: 40px;
  }
}