@charset "UTF-8";
/*=============================================*/
/* config : 変数・mixin定義                     */
/*=============================================*/
/****************************/
/* カラー */
/****************************/
/****************************/
/* フォント */
/****************************/
/****************************/
/* ブレイクポイント */
/****************************/
/*=============================================*/
/* Layout : ユーティリティ(スリム版)            */
/* ※参考サイトのlayout.cssと命名互換           */
/*   使用する範囲のみループ生成                 */
/*=============================================*/
/********************************************/
/* Fonts Style */
/********************************************/
.fs-10 {
  font-size: 1rem;
}

.fs-11 {
  font-size: 1.1rem;
}

.fs-12 {
  font-size: 1.2rem;
}

.fs-13 {
  font-size: 1.3rem;
}

.fs-14 {
  font-size: 1.4rem;
}

.fs-15 {
  font-size: 1.5rem;
}

.fs-16 {
  font-size: 1.6rem;
}

.fs-17 {
  font-size: 1.7rem;
}

.fs-18 {
  font-size: 1.8rem;
}

.fs-19 {
  font-size: 1.9rem;
}

.fs-20 {
  font-size: 2rem;
}

.fs-21 {
  font-size: 2.1rem;
}

.fs-22 {
  font-size: 2.2rem;
}

.fs-23 {
  font-size: 2.3rem;
}

.fs-24 {
  font-size: 2.4rem;
}

.fs-25 {
  font-size: 2.5rem;
}

.fs-26 {
  font-size: 2.6rem;
}

.fs-27 {
  font-size: 2.7rem;
}

.fs-28 {
  font-size: 2.8rem;
}

.fs-29 {
  font-size: 2.9rem;
}

.fs-30 {
  font-size: 3rem;
}

.fs-31 {
  font-size: 3.1rem;
}

.fs-32 {
  font-size: 3.2rem;
}

.fs-33 {
  font-size: 3.3rem;
}

.fs-34 {
  font-size: 3.4rem;
}

.fs-35 {
  font-size: 3.5rem;
}

.fs-36 {
  font-size: 3.6rem;
}

.fs-37 {
  font-size: 3.7rem;
}

.fs-38 {
  font-size: 3.8rem;
}

.fs-39 {
  font-size: 3.9rem;
}

.fs-40 {
  font-size: 4rem;
}

/********************************************/
/* Margin / Padding (0〜100 / 10刻み) */
/********************************************/
.mt-0 {
  margin-top: 0px;
}

.mb-0 {
  margin-bottom: 0px;
}

.pt-0 {
  padding-top: 0px;
}

.pb-0 {
  padding-bottom: 0px;
}

.mt-10 {
  margin-top: 10px;
}

.mb-10 {
  margin-bottom: 10px;
}

.pt-10 {
  padding-top: 10px;
}

.pb-10 {
  padding-bottom: 10px;
}

.mt-20 {
  margin-top: 20px;
}

.mb-20 {
  margin-bottom: 20px;
}

.pt-20 {
  padding-top: 20px;
}

.pb-20 {
  padding-bottom: 20px;
}

.mt-30 {
  margin-top: 30px;
}

.mb-30 {
  margin-bottom: 30px;
}

.pt-30 {
  padding-top: 30px;
}

.pb-30 {
  padding-bottom: 30px;
}

.mt-40 {
  margin-top: 40px;
}

.mb-40 {
  margin-bottom: 40px;
}

.pt-40 {
  padding-top: 40px;
}

.pb-40 {
  padding-bottom: 40px;
}

.mt-50 {
  margin-top: 50px;
}

.mb-50 {
  margin-bottom: 50px;
}

.pt-50 {
  padding-top: 50px;
}

.pb-50 {
  padding-bottom: 50px;
}

.mt-60 {
  margin-top: 60px;
}

.mb-60 {
  margin-bottom: 60px;
}

.pt-60 {
  padding-top: 60px;
}

.pb-60 {
  padding-bottom: 60px;
}

.mt-70 {
  margin-top: 70px;
}

.mb-70 {
  margin-bottom: 70px;
}

.pt-70 {
  padding-top: 70px;
}

.pb-70 {
  padding-bottom: 70px;
}

.mt-80 {
  margin-top: 80px;
}

.mb-80 {
  margin-bottom: 80px;
}

.pt-80 {
  padding-top: 80px;
}

.pb-80 {
  padding-bottom: 80px;
}

.mt-90 {
  margin-top: 90px;
}

.mb-90 {
  margin-bottom: 90px;
}

.pt-90 {
  padding-top: 90px;
}

.pb-90 {
  padding-bottom: 90px;
}

.mt-100 {
  margin-top: 100px;
}

.mb-100 {
  margin-bottom: 100px;
}

.pt-100 {
  padding-top: 100px;
}

.pb-100 {
  padding-bottom: 100px;
}

/********************************************/
/* SP用 Margin / Padding (0〜60 / 10刻み) */
/********************************************/
@media (max-width: 768px) {
  .sp_mt-0 {
    margin-top: 0px !important;
  }
  .sp_mb-0 {
    margin-bottom: 0px !important;
  }
  .sp_mt-10 {
    margin-top: 10px !important;
  }
  .sp_mb-10 {
    margin-bottom: 10px !important;
  }
  .sp_mt-20 {
    margin-top: 20px !important;
  }
  .sp_mb-20 {
    margin-bottom: 20px !important;
  }
  .sp_mt-30 {
    margin-top: 30px !important;
  }
  .sp_mb-30 {
    margin-bottom: 30px !important;
  }
  .sp_mt-40 {
    margin-top: 40px !important;
  }
  .sp_mb-40 {
    margin-bottom: 40px !important;
  }
  .sp_mt-50 {
    margin-top: 50px !important;
  }
  .sp_mb-50 {
    margin-bottom: 50px !important;
  }
  .sp_mt-60 {
    margin-top: 60px !important;
  }
  .sp_mb-60 {
    margin-bottom: 60px !important;
  }
}
/********************************************/
/* コンテナ中央寄せ幅 */
/********************************************/
.max-w-md {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

/********************************************/
/* text-align */
/********************************************/
.ta-c {
  text-align: center;
}

.ta-l {
  text-align: left;
}

.ta-r {
  text-align: right;
}

/********************************************/
/* letter-spacing (%表記: -ls10 = 10% = 0.1em) */
/********************************************/
.ls-0 {
  letter-spacing: 0;
}

.ls-4 {
  letter-spacing: 0.04em;
}

.ls-5 {
  letter-spacing: 0.05em;
}

.ls-7 {
  letter-spacing: 0.07em;
}

.ls-10 {
  letter-spacing: 0.1em;
}

.ls-15 {
  letter-spacing: 0.15em;
}

.ls-20 {
  letter-spacing: 0.2em;
}

.ls-m1 {
  letter-spacing: -0.01em;
}

.ls-m6 {
  letter-spacing: -0.06em;
}

/********************************************/
/* font-weight */
/********************************************/
.fw-400 {
  font-weight: 400;
}

.fw-500 {
  font-weight: 500;
}

.fw-700 {
  font-weight: 700;
}

.co_navy {
  color: #003153;
}

/********************************************/
/* セクション余白ユーティリティ(可変clamp) */
/* s=60px / m=90px / l=120px / xl=160px 基準 */
/********************************************/
.sec_pt_s {
  padding-top: clamp(3rem, 3.75vw, 6rem);
}

.sec_pt_m {
  padding-top: clamp(4.5rem, 5.63vw, 9rem);
}

.sec_pt_l {
  padding-top: clamp(6rem, 7.5vw, 12rem);
}

.sec_pt_xl {
  padding-top: clamp(8rem, 10vw, 16rem);
}

.sec_pb_s {
  padding-bottom: clamp(3rem, 3.75vw, 6rem);
}

.sec_pb_m {
  padding-bottom: clamp(4.5rem, 5.63vw, 9rem);
}

.sec_pb_l {
  padding-bottom: clamp(6rem, 7.5vw, 12rem);
}

.sec_pb_xl {
  padding-bottom: clamp(8rem, 10vw, 16rem);
}/*# sourceMappingURL=layout.css.map */