@charset "UTF-8";

.LB1205 {
  --font_en-01: "big-caslon-fb", serif;
  --font_en-02: "neue-haas-grotesk-display", sans-serif;
  --font_jp: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  color: #000;
  text-align: center;
  background: #9FC0CC;
  overflow: hidden;
}

.main-inner {
  /* margin-top: 8rem; */
  width: 100% !important;
}

html {
  font-size: 62.5%;
  box-sizing: border-box;
}

@media (max-width: 1400px) and (min-width: 768px) {
  html {
    font-size: 0.7142857143vw;
  }
}

@media only screen and (min-width: 1401px) {
  html {
    font-size: 62.5%;
  }
}

@media screen and (max-width: 767px) {
  .header__navBody+.category__navBody {
    display: none;
  }

  .pc {
    display: none !important;
  }

  .main-area.lp {
    overflow: unset;
  }

}

@media only screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }
}

.LB1205 {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic", "メイリオ", sans-serif;
  width: 100%;
  font-feature-settings: normal;
}

.LB1205 li {
  list-style: none;
}

.LB1205 img,
.LB1205 svg {
  position: relative;
  width: 100%;
  height: auto;
  z-index: 1;
}

.LB1205 picture,
.LB1205 span {
  display: block;
}

.LB1205 .heading {
  position: relative;
  width: 100%;
  margin: 0 auto;
}

.LB1205 section,
.contnet_img {
  position: relative;
}

.js_fade:not(.item_wrap) {
  position: relative;
  background: #A0C0CD;
}

.sec .sec_inner {
  position: relative;
}

.sec .sec_inner::before {
  content: "";
  position: absolute;
  z-index: -1;
}

/* ▽_____________ credit ______________▽ */
.LB1205 .credit_block {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  margin-top: calc(30* (100vw / 750));
}

.LB1205 .credit_block::after {
  content: "";
  width: 100%;
}

.LB1205 .credit_block::before {
  content: "";
  order: 2;
  width: 100%;
}

.LB1205 .credit_block li {
  font-family: "Pragmatica", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: calc(22* (100vw / 750));
  line-height: 1.9166666;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.LB1205 .item_wrap {
  position: absolute;
  z-index: 1;
}

.LB1205 .item_wrap::before {
  content: "";
  position: absolute;
  background: url(../img/tx.svg) center/contain no-repeat;
  width: calc(320* (100vw / 750));
  height: calc(148* (100vw / 750));
  z-index: 2;
  pointer-events: none;
}

@media screen and (min-width: 768px) {
  .LB1205 .credit_block {
    position: relative;
    margin-top: 2.3rem;
    flex-direction: column;
    gap: 0 1rem;
  }

  .LB1205 .credit_block li {
    font-size: 1.2rem;
    line-height: 1.9166666;
  }

  .LB1205 .item_wrap::before {
    width: 27.4rem;
    height: 12.7rem;
  }

}




/* ▽_____________ sec01 ______________▽ */
@media screen and (max-width: 767px) {
  .LB1205 .img01 {
    width: calc(650* (100vw / 750));
    margin: calc(120* (100vw / 750)) auto 0;
  }

  .LB1205 .img02 {
    margin-top: calc(110* (100vw / 750));
  }

  .LB1205 .img02 .img_inner {
    width: calc(560* (100vw / 750));
  }

  .LB1205 .img02 .item_wrap {
    width: calc(406* (100vw / 750));
    bottom: calc(-320* (100vw / 750));
    right: 0;
  }

  .LB1205 .img02 .item_wrap::before {
    top: calc(194* (100vw / 750));
    left: calc(-284* (100vw / 750));
  }

  .LB1205 .img03 {
    margin-top: calc(419* (100vw / 750));
  }

  .LB1205 .img04 {
    width: calc(640* (100vw / 750));
    margin: calc(60* (100vw / 750)) auto 0;
  }

  .LB1205 .img04 .item_wrap {
    width: calc(430* (100vw / 750));
    bottom: calc(-379* (100vw / 750));
    left: calc(-34* (100vw / 750));
  }

  .LB1205 .img04 .item_wrap::before {
    top: calc(40* (100vw / 750));
    right: calc(-249* (100vw / 750));
  }

  .LB1205 .img05 {
    width: calc(362* (100vw / 750));
    margin: calc(440* (100vw / 750)) 0 0 auto;
    z-index: 2;
  }

  .LB1205 .img06 .img_inner {
    width: calc(490* (100vw / 750));
    margin: calc(-240* (100vw / 750)) 0 0 0;
  }

}




@media screen and (min-width: 768px) {
  .LB1205 .img01 {
    width: 50rem;
    margin: 10rem auto 0;
  }

  .content_list.__1 {
    display: grid;
    width: 140rem;
    margin: 11.7rem auto 0;
    grid-template-columns: 15rem 10rem 28.6rem 30.5rem 9rem auto;
    grid-template-rows: 43.8rem 31rem 43.8rem 35rem auto;
  }

  .LB1205 .img02 {
    width: 47rem;
    grid-area: 1/2/2/3;
  }

  .LB1205 .img02 .item_wrap {
    width: 28.6rem;
    top: -8.6rem;
    right: -38rem;
  }

  .LB1205 .img02 .item_wrap::before {
    bottom: -2.4rem;
    right: -20.4rem;
  }

  .LB1205 .img03 {
    width: 40rem;
    height: 53.44rem;
    grid-area: 2/5/3/6;
  }

  .LB1205 .img04 {
    width: 51rem;
    height: 68.1rem;
    grid-area: 3/3/4/4;
    z-index: 2;
  }

  .LB1205 .img04 .item_wrap {
    width: 33.6rem;
    bottom: -42.3rem;
    left: 0.6rem;
  }

  .LB1205 .img04 .item_wrap::before {
    bottom: -7rem;
    left: -15.6rem;
  }

  .LB1205 .img05 {
    width: 37rem;
    height: 49rem;
    z-index: 2;
    grid-area: 4/6/5/7;
  }

  .LB1205 .img06 {
    width: 47rem;
    height: 63.79rem;
    grid-area: 5/4/7/5;
  }
}



/* ===============================================
* content_list __2 *
=============================================== */
.content_list.__2 {
  width: calc(710* (100vw / 750));
  margin: calc(140* (100vw / 750)) auto 0;
  background: #fff;
  padding: calc(82* (100vw / 750)) 0 calc(78* (100vw / 750));
}

.content_list.__2 h3 {
  position: relative;
  font-family: "Pragmatica", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: calc(56* (100vw / 750));
  letter-spacing: 0.01em;
  z-index: 1;
}

.content_list.__2 h3::before {
  content: "";
  position: absolute;
  background: url(../img/item03.png) center/contain no-repeat;
  width: calc(204* (100vw / 750));
  height: calc(133* (100vw / 750));
  top: calc(-30* (100vw / 750));
  right: calc(50* (100vw / 750));
  z-index: -1;
}

.content_list.__2 .img07 {
  width: calc(580* (100vw / 750));
  margin: calc(30* (100vw / 750)) auto 0;
}

.content_list.__2 p {
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W6", sans-serif;
  font-weight: 600;
  text-align: center;
  line-height: 2;
  font-size: calc(22* (100vw / 750));
  letter-spacing: 0.08em;
  margin-top: calc(59* (100vw / 750));
  font-feature-settings: "palt";
}

.content_list.__2 p+p {
  margin-top: calc(17* (100vw / 750));
}

@media screen and (min-width: 768px) {
  .content_list.__2 {
    width: 80rem;
    margin: 17.4rem auto 0;
    padding: 7.1rem 0 6.3rem;
  }

  .content_list.__2 h3 {
    width: fit-content;
    margin: auto;
    font-size: 3.8rem;
    letter-spacing: 0.01em;
  }

  .content_list.__2 h3::before {
    width: 13.1rem;
    height: 10rem;
    top: -3.8rem;
    right: -10.7rem;
  }

  .content_list.__2 .img07 {
    width: 41rem;
    margin: 3.3rem auto 0;
  }

  .content_list.__2 p {
    font-size: 1.3rem;
    margin-top: 3.3rem;
  }

  .content_list.__2 p+p {
    margin-top: 1.4rem;
  }
}






/* ===============================================
* all_item_btn *
=============================================== */
.all_item_btn {
  position: relative;
  font-family: "Pragmatica", sans-serif;
  font-weight: 900;
  font-style: normal;
  font-size: calc(36* (100vw / 750));
  width: fit-content;
  margin: calc(122* (100vw / 750)) auto 0;
  letter-spacing: 0.02em;
}

.all_item_btn .img_wrap {
  margin: 0 auto calc(31* (100vw / 750));
  width: calc(106 * (100vw / 750));
  height: calc(104* (100vw / 750));
}

.archiveimg {
  width: calc(710* (100vw / 750));
  margin: calc(150* (100vw / 750)) auto calc(200* (100vw / 750));
  padding-bottom: calc(160* (100vw / 750));
}

@media screen and (min-width: 768px) {
  .all_item_btn {
    font-size: 1.8rem;
    margin: 7rem auto 0;
  }

  .all_item_btn .img_wrap {
    margin: auto;
    padding-bottom: 2.9rem;
    width: 6rem;
    height: 5.8rem;
  }

  .archiveimg {
    width: 60rem;
    margin: 9.7rem auto 15rem;
    padding-bottom: 12rem;
  }
}

/***************************** animation *****************************/
.LB1205 .js_fade,
.LB1205 .js_d_fade {
  opacity: 0;
  transition: opacity 1s;
}

.LB1205 .js_fade.active,
.LB1205 .js_d_fade.active {
  opacity: 1;
}

.LB1205 span.js_fade.active,
.LB1205 span.js_d_fade.active {
  opacity: 0.5;
}


/* ===============================================
* snow *
=============================================== */

.footer .footer-menu,
.application,
.footer-txt,
#content__archive {
  position: relative;
  z-index: 10;
  margin-top: 0;
}

#content__archive {
  overflow: hidden;
}

.for_snow {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 0;
  pointer-events: none;
}

.snow1 {
  background: url(../img/snow1.svg) center center / cover no-repeat;
  /* border-radius: 50%; */
  position: absolute;
  animation: animate-snow 30s linear;
}

.snow2 {
  background: url(../img/snow2.svg) center center / cover no-repeat;
  border-radius: 50%;
  position: absolute;
  animation: animate-snow 20s linear;
}

.snow3 {
  background: url(../img/snow2.svg) center center / cover no-repeat;
  border-radius: 50%;
  position: absolute;
  animation: animate-snow 25s linear;
}

.snow4 {
  background: url(../img/snow2.svg) center center / cover no-repeat;
  border-radius: 50%;
  position: absolute;
  animation: animate-snow 28s linear;
}

.snow5 {
  background: url(../img/snow2.svg) center center / cover no-repeat;
  border-radius: 50%;
  position: absolute;
  animation: animate-snow 22s linear;
}

@keyframes animate-snow {
  0% {
    opacity: 0;
    top: 0;
  }

  10% {
    opacity: 1;
  }

  90% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    top: 100vh;
  }
}

/***************************** animation *****************************/