@charset "UTF-8";
/**** lity **********************/
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: "LINE SEED", sans-serif;
  /* bg */
  --bg: #ffffff;
  --bg-01: #f2f4f4;
  --bg-02: #ffffff;
  --bg-main: #ffffff;
  --bg-cont: #ffffff;
  /* color */
  --c-txt-base: #3d4347;
  --c-btn-shadow: #b8a1a19d;
  --c-01: #ff5474;
  --c-01-con: #ffffff;
  --c-02: #316ab1;
  --c-02-con: #ffffff;
  --c-03: #8da197;
  --c-03-con: #ffffff;
}

/* ///// founfation /////////////////////////////////  ****/
body {
  background-color: var(--bg);
  font-weight: 400;
  font-size: clamp(14px, 2vw, 20px);
  font-family: var(--f-font-base);
  line-height: 1.6;
}

main {
  background-color: var(--bg-main);
  background-image: linear-gradient(
    -45deg,
    var(--bg-01) 0%,
    var(--bg-01) 25%,
    var(--bg-02) 25%,
    var(--bg-02) 50%,
    var(--bg-01) 50%,
    var(--bg-01) 75%,
    var(--bg-02) 75%,
    var(--bg-02) 100%
  );
  background-size: 10px 10px;
}

main * {
  box-sizing: border-box;
  color: var(--c-txt-base);
  word-break: keep-all;
  letter-spacing: 0.1em;
  font-weight: inherit;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;

  overflow-wrap: break-word;
  font-feature-settings: "palt";
}
@media (max-width: 769px) {
  main * {
    word-break: normal;
  }
}
/* ///// layout /////////////////////////////////  ****/
.l_main {
  background-color: var(--bg-main);
}

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

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

.l_container {
  position: relative;
  z-index: 1;
  background: var(--bg-cont);

  padding-block-start: 0;
  padding-block-end: 3.5em;
}
.l_main section:first-child .l_container {
  padding-block-start: 2.5em;
}

[class*="l_container_inner"] {
  display: flex;
  align-items: center;
  flex-direction: column;
  margin: 0 auto;
  text-align: center;
}
[class*="l_container_inner"] > div {
  width: 100%;
}

.l_container_inner {
  width: 88.5%;
}

.l_container_inner-l {
  width: 88.5%;
}

@media (max-width: 769px) {
  [class*="l_container_inner"] {
    width: 90%;
  }
}
/* ///// component ///////////////////////////////// */
/**** text **********************/
/* text-weight */
.c_txtw-b {
  font-weight: bold;
}

.c_txtw-eb {
  font-weight: 900;
}

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

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

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

.c_txts-xxl {
  font-size: clamp(19px, 3vw, 42px);
}

/**** btn **********************/
.c_btn-a a {
  display: inline-block;
  position: relative;
  border-radius: 5px;
  background-color: var(--c-02);
  color: var(--c-02-con);
  text-align: center;
  font-weight: bold;
  filter: drop-shadow(0px 2px 2px var(--c-btn-shadow));
}

.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"] p {
  margin-top: 0.4em;
  margin-left: 1em;
  text-indent: -1em;
  font-size: inherit;
  line-height: 1.4;
}
[class*="c_attention"] p::before {
  margin-right: 0.2em;
  content: "・";
}

/* ///// project ///////////////////////////////// */
.p_leadTxt {
  color: var(--c-01);
}
@media (max-width: 769px) {
  .p_leadTxt {
    letter-spacing: 0.05em;
  }
}

.p_leadTxt_data {
  margin-top: 1em;
}

.p_leadTxt_txt {
  margin-top: 2em;
}

.p_leadTxt_data {
  display: inline-block;
  padding: 0.5em 2em 0.3em;
  border-radius: 10vw;
  background-color: var(--c-01);
  color: var(--c-01-con);
}

.p_detail {
  display: grid;
  grid-template-columns: 30% 1fr;
  border-top: solid 1px var(--c-03);
}
@media (max-width: 769px) {
  .p_detail {
    grid-template-columns: 1fr;
    border-top: none;
  }
}
.p_detail > div {
  display: contents;
}
@media (max-width: 769px) {
  .p_detail > div {
    display: flex;
    flex-direction: column;
  }
}
.p_detail :is(dt, dd) {
  padding: 1em 0 2em;
  border-bottom: solid 1px var(--c-03);
  text-align: left;

  padding-block-start: 1em;
  padding-block-end: 2em;
}
@media (max-width: 769px) {
  .p_detail :is(dt, dd) {
    padding-inline: 0.5em;
  }
}
.p_detail dt {
  font-weight: bold;
}
@media (max-width: 769px) {
  .p_detail dt {
    padding-block-end: 0;
  }
  .p_detail dt h3 {
    font-size: 1.5em;
  }
}
@media (max-width: 769px) {
  .p_detail dd {
    border-bottom: none;
  }
}
.p_detail a:not(.c_btn-a a) {
  display: inline;
  background: linear-gradient(rgba(255, 255, 255, 0) 94%, var(--c-02) 0%);
  color: var(--c-02);
  font-weight: bold;
}

.p_btn_campaign {
  margin-bottom: 1em;
  margin-top: 0.5em;
}
.p_btn_campaign a {
  padding: 0.7em 3em 0.5em 1em;
}

.c_attention {
  display: flex;
  gap: 0.3em;
  flex-direction: column;
}
@media (max-width: 769px) {
  .c_attention p {
    font-size: 0.8em;
  }
}

.p_atoneDetaul_logo {
  margin: 0.5em 0 1.5em;
  width: 30%;
}

/* ///// footer ///////////////////////////////// */

/* ///// Page Top Back Button ///////////////////////////////// */
.b-pageTopBack {
 display:flex;
 flex-direction:row;
 justify-content:flex-end;
 align-items:center;
 position:absolute;
 top:min(1vw, 30px);
 left:min(1vw, 30px);
 z-index:1;
 width:-moz-fit-content;
 width:     fit-content;
 padding:.6em 2em .6em 2em;
 border:1px solid var(--pageTopBack-border);
 border-radius:6px;
 box-sizing:border-box;
 background:no-repeat .8em center/.5em url(../images/icon_top-back.svg), var(--pageTopBack-background);
 color:var(--pageTopBack-text);
 font-weight:600;
 font-size:16px;
 line-height:1;
 text-decoration:none;
 text-box:trim-both cap alphabetic;
 z-index: 10000;
}

@media screen and (max-width: 769px) {
 .b-pageTopBack {
  padding: 1em 1em 0em 1em;
 }
}

:root {
    --font-family-base: "LINE SEED", sans-serif;
    --page-text: #000000;
    --page-textAccent: #119bc5;
    --page-textAccent02: #c51156;
    --page-background: #e4e6ef;
    --container-background: #ffffff;
    --modal-scrollbar-background: #00000067;
    --pageTopBack-background: #ffffff;
    --pageTopBack-text: #000000;
    --pageTopBack-border: #adadad;
    --globalNav-background: #000000;
    --globalNav-text: #ffffff;
    --globalNav-divider: #ffffff;
    --globalNav-spMenu-backgroundArea: #ffffff67;
    --button-primary-background: #e5458b;
    --button-primary-text: #ffffff;
    --fairCard-background: #ffffff;
    --fairCard-text: #000000;
    --fairCard-title-background: #000000;
    --fairCard-title-text: #ffffff;
    --fairCard-label-background: #def0f5;
    --fairCard-label-text: #0061cf;
    --fairCard-labelAccent-background: #e5f5de;
    --fairCard-labelAccent-text: #39833d;
    --fairCard-attention-text: #6d6e70;
    --serviceSlider-content-background: #ffffff;
    --serviceSlider-content-border: #000000;
    --serviceSlider-heading-background: #000000;
    --serviceSlider-heading-text: #ffffff;
    --table-default-border: #000000;
    --campaignTable-header-background: #bfe4e1;
    --shopInfo-header-background-base: #000000;
    --shopInfo-header-background-melonbooks: #31aa6e;
    --shopInfo-header-background-lashinban: #00b8ff;
    --shopInfo-header-background-animate: #3355af;
    --shopInfo-header-text: #ffffff;
}

/* ///// Page Top Back Button ///////////////////////////////// */

/* ///// 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;
  }
}
/* /////////////////////////////////////////////////// */
