/*! Writen  by SCSS */
@media screen and (max-width: 480px) {
  .w10_sp {
    width: 10%;
    margin: 0 auto; } }

@media screen and (max-width: 480px) {
  .w20_sp {
    width: 20%;
    margin: 0 auto; } }

@media screen and (max-width: 480px) {
  .w30_sp {
    width: 30%;
    margin: 0 auto; } }

@media screen and (max-width: 480px) {
  .w40_sp {
    width: 40%;
    margin: 0 auto; } }

@media screen and (max-width: 480px) {
  .w50_sp {
    width: 50%;
    margin: 0 auto; } }

@media screen and (max-width: 480px) {
  .w60_sp {
    width: 60%;
    margin: 0 auto; } }

@media screen and (max-width: 480px) {
  .w70_sp {
    width: 70%;
    margin: 0 auto; } }

@media screen and (max-width: 480px) {
  .w80_sp {
    width: 80%;
    margin: 0 auto; } }

@media screen and (max-width: 480px) {
  .w90_sp {
    width: 90%;
    margin: 0 auto; } }

@media screen and (max-width: 480px) {
  .w100_sp {
    width: 100%;
    margin: 0 auto; } }

.fr10 {
  font-size: 10%; }

.fr20 {
  font-size: 20%; }

.fr30 {
  font-size: 30%; }

.fr40 {
  font-size: 40%; }

.fr50 {
  font-size: 50%; }

.fr60 {
  font-size: 60%; }

.fr70 {
  font-size: 70%; }

.fr80 {
  font-size: 80%; }

.fr90 {
  font-size: 90%; }

.fr100 {
  font-size: 100%; }

.fr110 {
  font-size: 110%; }

.fr120 {
  font-size: 120%; }

.fr130 {
  font-size: 130%; }

.fr140 {
  font-size: 140%; }

.fr150 {
  font-size: 150%; }

.fr160 {
  font-size: 160%; }

.fr170 {
  font-size: 170%; }

.fr180 {
  font-size: 180%; }

.fr190 {
  font-size: 190%; }

.fr200 {
  font-size: 200%; }

.fr210 {
  font-size: 210%; }

.fr220 {
  font-size: 220%; }

.fr230 {
  font-size: 230%; }

.fr240 {
  font-size: 240%; }

.fr250 {
  font-size: 250%; }

.fr260 {
  font-size: 260%; }

.fr270 {
  font-size: 270%; }

.fr280 {
  font-size: 280%; }

.fr290 {
  font-size: 290%; }

.fr300 {
  font-size: 300%; }

.main:before {
  background-image: url("../images/main_img.jpg"); }
  @media screen and (max-width: 480px) {
    .main:before {
      background-image: url("../images/main_img_sp.jpg"); } }

.equipment_wrap {
  color: #464646; }

.lead_wrap {
  margin-bottom: clamp(40px, 7.82%, 80px); }
  .lead_wrap .sec_head {
    margin-top: 0;
    margin-bottom: 1em; }
    @media screen and (max-width: 480px) {
      .lead_wrap .sec_head {
        letter-spacing: 0.05em; } }
  .lead_wrap .lead {
    letter-spacing: 0.1em; }

.lead {
  font-size: clamp(15px, 1.37vw, 18px);
  letter-spacing: 0.1em;
  line-height: 2.23; }
  @media screen and (max-width: 480px) {
    .lead {
      letter-spacing: 0;
      line-height: 1.8; } }

.item_head {
  font-size: clamp(16px, 1.78vw, 20px);
  color: #247073;
  letter-spacing: 0.1em;
  line-height: 1.4; }
  @media screen and (max-width: 480px) {
    .item_head {
      letter-spacing: 0.05em; } }
  .item_head.lt {
    letter-spacing: normal; }
  .item_head .small {
    font-size: 80%; }
    @media screen and (max-width: 480px) {
      .item_head .small {
        font-size: 70%; } }

.item_head02 {
  font-size: clamp(15px, 1.59vw, 18px);
  color: #247073;
  letter-spacing: 0.1em;
  line-height: 1.4; }
  @media screen and (max-width: 768px) {
    .item_head02 {
      letter-spacing: 0.02em; } }
  .item_head02.white {
    color: #FFF; }

.border_head {
  font-size: clamp(16px, 1.78vw, 20px);
  letter-spacing: 0.1em;
  color: #247073;
  line-height: 1;
  border-bottom: 1px solid;
  padding-bottom: 1em;
  margin-bottom: 1.5em; }
  @media screen and (max-width: 768px) {
    .border_head {
      letter-spacing: 0.05em; } }
  @media screen and (max-width: 480px) {
    .border_head {
      line-height: 1.6; } }

.item_text {
  font-size: clamp(14px, 1.5vw, 16px);
  line-height: 1.88; }
  @media screen and (max-width: 480px) {
    .item_text {
      line-height: 1.6; } }
  .item_text .text_min {
    font-size: 0.75em; }

.item_text_min {
  font-size: clamp(11px, 1.22vw, 14px);
  line-height: 2.15; }
  @media screen and (max-width: 480px) {
    .item_text_min {
      line-height: 1.8; } }
  .item_text_min .text_min {
    font-size: 0.8em; }

.sec_lead {
  padding-top: clamp(40px, 7.82%, 80px); }

.tab_wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 1.95%; }
  @media screen and (max-width: 480px) {
    .tab_wrap {
      width: 90%;
      margin-left: auto;
      margin-right: auto;
      grid-template-columns: 1fr;
      gap: 15px 0; } }
  .tab_wrap .item a {
    transition: opacity 0.3s ease-in-out; }
    .tab_wrap .item a:not(.cr) {
      opacity: 0.4; }
      @media (hover: hover) {
        .tab_wrap .item a:not(.cr):hover {
          opacity: 1; } }
