@charset "UTF-8";
/* ブレイクポイント */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 色 */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
:root {
  --opacity: 1.0;
}

/* mixin*/
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* flex */
/* position */
/* font-size */
/* vw */
/* font */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
@font-face {
  font-family: "nsl";
  src: url("../font/NotoSansJP-Light.ttf") format("truetype");
}
@font-face {
  font-family: "nsr";
  src: url("../font/NotoSansJP-Regular.ttf") format("truetype");
}
@font-face {
  font-family: "nsm";
  src: url("../font/NotoSansJP-Medium.ttf") format("truetype");
}
body {
  font-family: "nsl";
  line-height: 1.6;
  letter-spacing: 0.05em;
  color: #343434;
  -webkit-text-size-adjust: 100%;
  font-size: 88%;
}

.txt_med {
  font-family: "nsm";
}

.txt_reg {
  font-family: "nsr";
}

.en_l {
  font-family: "Outfit", sans-serif;
  font-weight: 400;
}

.en_r {
  font-family: "Outfit", sans-serif;
  font-weight: 500;
}

.en_m {
  font-family: "Outfit", sans-serif;
  font-weight: 600;
}

/* layout */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#wrapper {
  position: relative;
  max-width: 2000px;
  min-width: 1100px;
  margin: 0 auto;
}
@media (max-width: 1100px) {
  #wrapper {
    min-width: unset;
    width: 100%;
  }
}

.inner {
  position: relative;
  width: 1000px;
  height: 100%;
  margin: 0 auto;
}
@media (max-width: 1100px) {
  .inner {
    position: static;
    padding: 0 5vw;
    width: 100%;
    height: auto;
  }
}

.sec_pd {
  padding: 100px 0;
}
@media (max-width: 767px) {
  .sec_pd {
    padding: 20vw 0;
  }
}

.sec_pdb {
  padding-bottom: 100px;
}
@media (max-width: 767px) {
  .sec_pdb {
    padding-bottom: 20vw;
  }
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb0 {
  margin-bottom: initial !important;
}

.pcn {
  display: none !important;
}
@media (max-width: 767px) {
  .pcn {
    display: block !important;
  }
}

.tbn {
  display: block;
}
@media (max-width: 1100px) {
  .tbn {
    display: none !important;
  }
}

.spn {
  display: block;
}
@media (max-width: 767px) {
  .spn {
    display: none !important;
  }
}

/* 共通 */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
.col-bl {
  color: #4183c4;
}

.col-gr {
  color: #63a800;
}

.sec_tit {
  letter-spacing: 0.1em;
  text-align: center;
  line-height: 1.4;
  margin-bottom: 60px;
  font-size: clamp(29.92px, 2.3611111111vw, 34px);
}
@media (max-width: 767px) {
  .sec_tit {
    font-size: clamp(22.88px, 1.8055555556vw, 26px);
    margin-bottom: 10vw;
  }
}
.sec_tit_flex {
  display: flex;
  align-items: center;
}
.sec_tit_flex span {
  position: relative;
  padding-left: 40px;
}
.sec_tit_flex span::before {
  position: absolute;
  content: "";
  width: 1px;
  height: 100%;
  background-color: #343434;
  transform: rotate(20deg);
  left: 20px;
  top: 0;
}
.sec_tit span {
  font-family: "nsm";
  display: block;
  letter-spacing: 0.1em;
  font-size: clamp(14.08px, 1.1111111111vw, 16px);
}

h2 {
  font-family: "nsr";
  font-size: clamp(15.84px, 1.25vw, 18px);
}

.btn {
  font-family: "nsm";
  letter-spacing: 0.2em;
  background-color: #4183c4;
  color: #fff;
  width: 220px;
  height: 38px;
  position: relative;
  transition: all ease 0.4s;
}
@media (max-width: 767px) {
  .btn {
    width: 200px;
  }
}
.btn a {
  display: block;
  display: flex;
  align-items: center;
  justify-content: center;
}
.btn_arrow {
  padding-right: 15px;
}
.btn_arrow::after {
  position: absolute;
  width: 23px;
  top: 40%;
  right: 24px;
  transform: translateY(-50%);
  content: url(../img/top/arrow_wh.svg);
  background-size: contain;
  background-repeat: no-repeat;
  transition: all ease 0.4s;
}
.btn_arrow:hover::after {
  right: 16px;
}

/* アニメーション */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
.fadein,
.fadein_t,
.fadein_b,
.fadein_l,
.fadein_r,
.fadein_blur {
  opacity: 0;
  transition-duration: 1s;
  transition-delay: 0.2s;
}

.fadein_b {
  transform: translateY(10px);
}

.fadein_t {
  transform: translateY(-10px);
}

.fadein_l {
  transform: translateX(-10px);
}

.fadein_r {
  transform: translateX(10px);
}

.fadein_blur {
  filter: blur(6px);
}

.fadein.on,
.fadein_t.on,
.fadein_b.on,
.fadein_l.on,
.fadein_r.on,
.fadein_blur.on {
  opacity: 1;
  transform: translate(0, 0);
  filter: blur(0);
}

.fadein_delay_item {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.fadein_delay_item.on {
  opacity: 1;
  transform: translateY(0);
}/*# sourceMappingURL=base.css.map */