@charset "utf-8";
/* -----------------------------------------------------------------
.g_ft
----------------------------------------------------------------- */
.g_ft {
}
@media screen and (max-width: 767px) {

}
@media print, screen and (min-width: 768px) {

}
/* -----------------------------------------------------------------
.sec_contact
----------------------------------------------------------------- */
.sec_contact {
  position: relative;
}
.sec_contact .sec_ttl {
  padding-top: .1em;
  line-height: .6;
  text-align: center;
  cursor: default;
}
@media screen and (max-width: 767px) {
  .sec_contact .sec_ttl {
    padding-bottom: max(.2em,1rem);
    font-size:31vw;
  }
}
@media print, screen and (min-width: 768px) {
  .sec_contact .sec_ttl {
    font-size:31vw;
  }
}
/* -----------------------------------------------------------------
.sec_contact .box_channel
----------------------------------------------------------------- */
.sec_contact .box_channel {
  z-index: 2;
  position: absolute;
  bottom: 0;
  display: flex;
  column-gap: max(2vw, .5rem);
  width: 100%;
}
.sec_contact .box_channel .item {
  display: flex;
  width: 100%;
}
.sec_contact .box_channel .item a {
  display: flex;
  column-gap: 2rem;
  align-items: center;
  width: 100%;
  padding: 1rem min(5vw,2.6rem);
  border-radius: 100rem;
  background: #000;
  color: #fff
}
.sec_contact .box_channel .item .ttl {
  line-height: 1;
  letter-spacing: .05em;
  font-family: var(--font_sans_serif_barlow);
  font-weight: 700;
}
.sec_contact .box_channel .item .cont {
  padding-top: .2em;
  line-height: .8;
}

@media screen and (max-width: 767px) {
  .sec_contact .box_channel .item a {
    overflow: hidden;
    flex-direction: column;
    padding: 1rem 0;
  }
  .sec_contact .box_channel .item .cont {
    padding-top: .6em;
  }
}
@media print, screen and (min-width: 768px) {
  .sec_contact .box_channel .item .ttl {
    font-size: 2vw;
  }
  .sec_contact .box_channel .item .cont {
    font-size: 3vw;
  }
}
@media (hover: hover) and (min-width: 768px) {
  /*----- :hover -----*/
  .sec_contact .box_channel .item a:hover {

  }
}

/* -----------------------------------------------------------------
.for_business
----------------------------------------------------------------- */
.for_business {
  background: #000;
  padding-top: 50vh;
}
.for_business a {
  display: block;
  width: 100%;
  background: #fff;
  line-height: 1;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .for_business a {
    font-size: 4vw;
  }
}
@media print, screen and (min-width: 768px) {
  .for_business a {
    font-size: 3vw;
  }
}

/* -----------------------------------------------------------------
.for_business_hover_area
----------------------------------------------------------------- */
.for_business_hover_area {
  position: relative;
  display: flex;
  align-items: center;
}
.for_business_hover_area {
  height: 4.5vw;
  background: #fff;
}
.for_business_hover_area::before,
.for_business_hover_area::after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 1.6vw;
  background: #000;
  box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.6);
  transition: .5s;
}
.for_business_hover_area::before {
  top: 0;
}
.for_business_hover_area::after {
  bottom: 0;
}

@media screen and (max-width: 767px) {
  .for_business_hover_area {
    height: 5.5vw;
    background: #fff;
  }

}
@media print, screen and (min-width: 768px) {
}
@media (hover: hover) {
  /*----- :hover -----*/
  .for_business_hover_area:hover::before,
  .for_business_hover_area:hover::after {
    height: .2vw;
  }
}
/* -----------------------------------------------------------------
.g_ft copy
----------------------------------------------------------------- */
.g_ft .copy {
  padding-top: 48vh;
  padding-bottom: 1rem;
  display: block;
  text-align: center;
  font-size: 70%;
  color: #fff;
}
@media screen and (max-width: 767px) {

}
@media print, screen and (min-width: 768px) {
  .g_ft .copy {

  }
}

/* -----------------------------------------------------------------
.sentence
----------------------------------------------------------------- */
.sentence {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: calc(100% - .5em);
  width: .51em;
/*
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
*/
  -ms-writing-mode: tb-lr;
  writing-mode: vertical-lr;
  white-space: nowrap;
  line-height: 1;
  font-weight: 700;
  font-family: var(--font_serif_main);
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .sentence {
    font-size: min(10vw,170px);
  }
}
@media print, screen and (min-width: 768px) {
  .sentence {
    font-size: min(10vw,170px);
  }
}

/* -----------------------------------------------------------------
#js_cursor
----------------------------------------------------------------- */
#js_cursor {
  pointer-events: none;
  position: fixed;
  top: -4rem;
  left: -4rem;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0);
  transition: transform 0.2s, top, 0.5s, left 0.5s, width 0.5s, height 0.5s, background-color 0.5s;
  transition-timing-function: ease-out;
  z-index: 999;
}
#js_cursor.hov_ {
  background: #0019b4;
  background: rgba(100, 100, 100, 0.9);
}
#js_cursor.hov_::after {
  content: "click";
  position: absolute;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  color: #fff;
  font-family: var(--font_serif_disp);
  font-size: 2rem;
}
