@charset "UTF-8";
/**** lity **********************/
@import url("https://fonts.googleapis.com/css2?family=League+Gothic&family=Noto+Sans+JP:wght@100..900&display=swap");
body .lity {
  background: rgba(255, 255, 255, 0.8);
}

.lity-content {
  padding: 4% 3%;
  background-color: #ffffff;
}

.lity-image img {
  height: 85vh;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 769px) {
  .lity-image img {
    height: auto;
  }
}

.lity {
  -webkit-backdrop-filter: blur(3px);
          backdrop-filter: blur(3px);
}

/* ///////////////////////////// */
@font-face {
  font-weight: normal;
  font-style: normal;
  font-family: "LINE SEED";
  src: url("../font/LINESeedJP_OTF_Rg.woff") format("woff"), url("../font/LINESeedJP_OTF_Rg.woff2") format("woff2");
}
@font-face {
  font-weight: bold;
  font-style: normal;
  font-family: "LINE SEED";
  src: url("../font/LINESeedJP_OTF_Bd.woff") format("woff"), url("../font/LINESeedJP_OTF_Bd.woff2") format("woff2");
}
@font-face {
  font-weight: 900;
  font-style: normal;
  font-family: "LINE SEED";
  src: url("../font/LINESeedJP_OTF_Eb.woff") format("woff"), url("../font/LINESeedJP_OTF_Eb.woff2") format("woff2");
}
/* ///// variable ///////////////////////////////// */
:root {
  --f-font-base: "Noto Sans JP", sans-serif;
  --f-font-02: "LINE SEED", sans-serif;
  --f-font-03: "League Gothic", sans-serif;
  /* bg */
  --bg: #f7e0e0;
  --bg-main: #ffffff;
  --bg-cont: #ffffff;
  /* color */
  --c-txt-base: #000000;
  --c-txt-link: #ca235b;
  --c-01: #ebd4a5;
  --c-01-con: #272920;
  --c-02: #646060;
  --c-02-con: #ffffff;
  --c-03: #ffe2e8;
  --c-03-con: #d13755;
  --c-04: #e2ecff;
  --c-04-con: #3346a3;
  --c-05: #f3e6fb;
  --c-05-con: #75478a;
  --c-06: #ffffff;
  --c-06-con: #ffffff;
  --c-07: #a50942;
  --c-08: #005286;
  --c-09: #cc0769;
  --c-10: #148edb;
  --c-11: #005286;
  --c-12: #fff9d8;
  --c-12-con: #b3a558;
  --c-13: #db185f;
  --c-13-con: #ffffff;
}

/* ///// founfation /////////////////////////////////  ****/
body {
  font-weight: 400;
  font-size: clamp(14px, 1.8vw, 18px);
  font-family: var(--f-font-base);
  line-height: 1.6;
}

main * {
  box-sizing: border-box;
  color: var(--c-txt-base);
  letter-spacing: 0.1rem;
  font-weight: inherit;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
  font-feature-settings: "palt";
}

main a {
  padding-bottom: 0.2em;
  background: linear-gradient(transparent 95%, var(--c-txt-link) 0%);
  color: var(--c-txt-link);
}

/* ///// layout /////////////////////////////////  ****/
body {
  background-color: var(--bg);
}

.l_main {
  background-color: var(--bg-main);
}

.l_main,
.l_width_main {
  position: relative;
  margin: 0 auto;
  width: min(100%, 1200px);
}

.l_width_full {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
}

.l_container {
  position: relative;
  z-index: 1;
  padding-bottom: 4.44em;
  background: var(--bg-cont);
}

[class*=l_container] {
  display: flex;
  align-items: center;
  flex-direction: column;
  margin: 0 auto;
}

.l_container {
  width: 92.3%;
}

.l_container-l {
  width: 92.3%;
}

@media (max-width: 769px) {
  [class*=l_container] {
    width: 95%;
  }
}
.l_content {
  display: flex;
  gap: 3em;
  flex-direction: column;
  margin-top: 1em;
  width: 95%;
}
@media (max-width: 769px) {
  .l_content {
    gap: 2em;
    width: 100%;
  }
}

/* ///// component ///////////////////////////////// */
/**** text **********************/
/* text-size */
.c_txts-l {
  font-size: clamp(16px, 1.8vw, 22px);
}

.c_txts-xl {
  font-size: clamp(18px, 1.8vw, 28px);
}

.c_txts-xxl {
  font-size: clamp(22px, 1.8vw, 30px);
}

/**** ttl **********************/
.c_ttl-chapter {
  padding: 0.5em;
  width: 100%;
  background-color: var(--c-01);
  color: var(--c-01-con);
  font-weight: 700;
  font-family: var(--f-font-02);
  line-height: 1;
}

.c_ttl-section {
  margin-bottom: 0.5em;
  padding-bottom: 0.2em;
  border-bottom: solid 2px;
}

/**** btn **********************/
.c_btn-a a {
  display: inline-block;
  position: relative;
  padding: 0.5em 6em 0.5em 5em;
  background: none;
  background-color: var(--c-13);
  color: var(--c-13-con);
  text-align: center;
  font-weight: bold;
  filter: drop-shadow(0px 2px 3px var(--c-13));
}

.c_btn-a a::before,
.c_btn-a a::after {
  position: absolute;
  top: 0;
  right: 8%;
  bottom: 0;
  margin: auto;
  width: 0.2rem;
  height: 0.8rem;
  border: 0;
  border-radius: 10rem;
  background-color: var(--c-02-con);
  content: "";
}

.c_btn-a a:before {
  top: 0.4rem;
  transform: rotate(45deg);
}

.c_btn-a a:after {
  top: -0.4rem;
  transform: rotate(-45deg);
}

/**** attention **********************/
[class*=c_attention] {
  display: flex;
  gap: 0.6em;
  flex-direction: column;
}
[class*=c_attention] p {
  margin-top: 0.4em;
  margin-left: 1em;
  text-indent: -1em;
  font-size: inherit;
  line-height: 1.2;
}
[class*=c_attention] p::before {
  content: "※";
}

.c_attention-a p {
  margin-top: 0.4em;
  margin-left: 1em;
  text-indent: -1em;
  font-size: inherit;
  line-height: 1.4;
}
.c_attention-a p::before {
  padding-right: 0.3em;
  content: "・";
}

/* ///// project ///////////////////////////////// */
/**** lead **********************/
.p_campaign_lead {
  padding-top: 3em;
  text-align: center;
  font-weight: 700;
}

.p_campaign_attention {
  margin-top: 2em;
}

.p_campaign_entryBtn {
  margin-top: 5em;
  text-align: center;
}

/* ///// footer ///////////////////////////////// */
/* ///// responsive ///////////////////////////////// */
.sp {
  display: none;
}

.pc {
  display: block;
}

.br_pc {
  display: block;
}

@media (max-width: 769px) {
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
  .br {
    display: block;
  }
  .br_pc {
    display: none;
  }
}
/* /////////////////////////////////////////////////// */