@charset "UTF-8";

/* ---------------------------------------------------------------------------
  ★共通
--------------------------------------------------------------------------- */

html {
  font-size: 62.5%;
}

object {
  pointer-events: none;
}

.sp,
.header_sp {
  display: none !important;
}

a[href^="tel:"] {
  pointer-events: none;
}

a {
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.img_r,
.img_l {
  overflow: hidden;
}

.img_r > img {
  float: right;
  width: 40%;
  margin-left: 15px;
  margin-bottom: 15px;
}

.img_l > img {
  float: left;
  width: 40%;
  margin-right: 15px;
  margin-bottom: 15px;
}

#partner .modal .cl7_3 > *:nth-child(even) {
  width: 31%;
}

@media screen and (max-width: 1100px) {
  .gacha03 .cl3_7 {
    align-items: flex-start;
    position: relative;
    z-index: 0;
    background: none;
    margin-top: 4%;
  }
  .round {
    background: radial-gradient(
        circle at 0% 100%,
        rgba(204, 0, 0, 0) 14px,
        #fff 15px
      ),
      radial-gradient(circle at 100% 100%, rgba(204, 0, 0, 0) 14px, #fff 15px),
      radial-gradient(circle at 100% 0%, rgba(204, 0, 0, 0) 14px, #fff 15px),
      radial-gradient(circle at 0% 0%, rgba(204, 0, 0, 0) 14px, #fff 15px);
    background-position: bottom left, bottom right, top right, top left;
    background-size: 50% 50%;
    background-repeat: no-repeat;
    z-index: 0;
    position: relative;
  }
  .round::before {
    content: "";
    position: absolute;
    background: radial-gradient(
        circle at 0% 100%,
        rgba(204, 0, 0, 0) 14px,
        #af814b 15px
      ),
      radial-gradient(
        circle at 100% 100%,
        rgba(204, 0, 0, 0) 14px,
        #af814b 15px
      ),
      radial-gradient(circle at 100% 0%, rgba(204, 0, 0, 0) 14px, #af814b 15px),
      radial-gradient(circle at 0% 0%, rgba(204, 0, 0, 0) 14px, #af814b 15px);
    background-position: bottom left, bottom right, top right, top left;
    background-size: 50% 50%;
    background-repeat: no-repeat;
    z-index: -1;
    border-radius: 0;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
  }
  .round::after {
    content: "";
    position: absolute;
    background: radial-gradient(
        circle at 0% 100%,
        rgba(204, 0, 0, 0) 13.5px,
        #fff 14px
      ),
      radial-gradient(circle at 100% 100%, rgba(204, 0, 0, 0) 13.5px, #fff 14px),
      radial-gradient(circle at 100% 0%, rgba(204, 0, 0, 0) 13.5px, #fff 14px),
      radial-gradient(circle at 0% 0%, rgba(204, 0, 0, 0) 13.5px, #fff 14px);
    background-position: bottom left, bottom right, top right, top left;
    background-size: 50% 50%;
    background-repeat: no-repeat;
    z-index: -1;
    border-radius: 0;
    width: calc(100% - 6px);
    height: calc(100% - 6px);
    top: 3px;
    left: 3px;
  }
  .round_u {
    position: relative;
    z-index: 0;
  }
  .round_u::before {
    content: "";
    position: absolute;
    display: inline-block;
    left: 50%;
    top: 50%;
    border: 2px solid #b37b3f;
    width: 96%;
    height: 91%;
    z-index: -1;
    transform: translateY(-50%) translateX(-50%);
  }
  .gacha03 .cl3_7 > *:nth-child(even) {
    margin-top: 5% !important;
  }
}

@media screen and (max-width: 1200px) {
  .home02 .sticky-image.img01 .cl50 {
    align-items: center;
  }
  .home02 .home01_bg_sub {
    height: 9.9vw;
  }
  .home03 .cl33 {
    padding-bottom: 15vw;
  }
  .home06 .submit_wrap {
    margin-right: 0;
    margin-left: auto;
  }
  .f_bloonArea .h06_bl2 {
    top: 10%;
  }

  .anatomy02 .item3 {
    top: 86%;
    left: 0%;
  }
  .anatomy02 .timelineWrapper.l_ps2 .timeline,
  .anatomy02 .timelineWrapper.r_ps .timeline {
    height: 245px;
  }
  .anatomy02 .items a {
    width: 42vw;
  }
  .anatomy02 .item1 a {
    width: 52vw;
  }

  .history01 .timeline-10 {
    --target-height: 17vw;
  }
  .history01 .timeline-1,
  .history01 .timeline-3,
  .history01 .timeline-9,
  .history01 .timeline-15 {
    --target-height: 18vw;
  }
  .history01 .timeline-2,
  .history01 .timeline-17 {
    --target-height: 19vw;
  }
  .history01 .timeline-14 {
    --target-height: 29vw;
  }
  .history01 .timeline-4,
  .history01 .timeline-7 {
    --target-height: 30vw;
  }

  .gratitude01 .w_bg::after {
    bottom: -3.45%;
  }
}

@media screen and (max-width: 1401px) {
  .fv .balloon {
    bottom: -15%;
  }
}

@media screen and (max-width: 1400px) {
  .home01 .w_bg::before {
    background: url(../img/home01_bg_top.png) no-repeat center top / cover;
    height: 17vw;
  }
  .home01 .w_bg2::after {
    top: calc(17vw - 1px);
    height: calc(100% - 40.5vw);
  }
}

@media screen and (min-width: 1401px) {
  .inner_1400_w.no1 {
    position: absolute;
    width: 100%;
    max-width: none !important; /* ←ここ大事 */
    display: flex;
    justify-content: center; /* ←中身を中央寄せ */
    pointer-events: none; /* 任意。スクロール固定要素なら */
  }
  .home01 .w_bg2::after {
    top: calc(18% - 1px);
    height: calc(83.1% - 24.6vw);
  }
  .home01::before {
    top: 21%;
  }
  .home01 .w_bg::before {
    height: 18%;
  }
  .home01 .w_bg::after {
    bottom: -1%;
  }
  .home02 .home01_bg_sub {
    height: 11.6vw;
  }
  .home04_bg_ht {
    top: 0;
  }
  .gratitude01 .w_bg2::after {
    top: calc(18% - 1px);
    height: calc(82.1% - 27.5vw);
  }
  .gratitude01 .w_bg::after {
    bottom: -0%;
  }
}

/* @media screen and (min-width: 1600px) {
  .home02 .home01_bg_sub {
    height: 11.6vw;
  }
} */

@media screen and (min-width: 1500px) {
  .home04 .rela::before,
  .home04 .rela::after {
    top: 0;
  }
  .home02 .home02_bg_ht {
    top: 2.6vw;
  }
  .g_fv_main .gacha_fv_img img {
    width: 58.8%;
    margin-right: auto;
    margin-left: auto;
  }
}

@media (max-aspect-ratio: 1.397) and (min-aspect-ratio: 1.504) {
  .home02 .home03_bg_sub2 {
    height: 10%;
  }
}

@media (min-aspect-ratio: 1.505) {
  .home02 .home03_bg_sub2 {
    display: none;
  }
}
