.scroll-indicator {
  bottom: 100px;
  right: 0;
}

@media (min-width:768px) and (max-width:1023px) {
  .c-heading__title {
    font-size: min(1.61vw + 1rem, 2.0rem);
  }
}

@media (hover: hover) {

  a[href*="mailto:"]:hover,
  a:not([class]):hover {
    color: var(--accent-1-color);
    filter: brightness(120%);
    transition: 0.6s;
  }
}

/**************************************************************
* 追従ボタン
**************************************************************/
.followArea {
  position: fixed;
  right: 0;
  bottom: 0;
  width: 100%;
  z-index: 999;
}

@media (min-width: 1024px) {
  .followArea {
    right: 20px;
    bottom: 20px;
    width: 700px;
  }
}

.followArea .followArea-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(1, 1fr);
  gap: 0px;
  width: 100%;
}

@media (min-width: 1024px) {
  .followArea .followArea-list {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(1, 1fr);
    gap: 20px;
  }
}

.followArea .followArea-item {
  width: 100%;
}

.followArea .followArea-btn {
  background-color: var(--accent-1-color);
  display: inline-block;
  padding: 3vw 0;
  position: relative;
  width: 100%;
}

@media (min-width: 1024px) {
  .followArea .followArea-btn {
    padding: 17px 0 15px;
  }
}

.followArea .followArea-btn .followArea-btn__body {
  text-align: center;
  width: 100%;
}

.followArea .followArea-btn .followArea-btn__text {
  color: #fff;
  font-weight: bold;
  font-size: 3vw;
  letter-spacing: 0.15rem;
}

@media (min-width: 1024px) {
  .followArea .followArea-btn .followArea-btn__text {
    font-size: 16px;
  }
}

.followArea .followArea-btn::after {
  content: '';
  border: 0;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  right: 5vw;
  bottom: 0;
  margin: auto;
  height: 2vw;
  width: 2vw;
}

@media (min-width: 1024px) {
  .followArea .followArea-btn::after {
    right: 40px;
    height: 10px;
    width: 10px;
  }
}

.followArea .followArea-iconBtn {
  display: inline-block;
  padding: 2vw 0;
  width: 100%;
}

@media (min-width: 1024px) {
  .followArea .followArea-iconBtn {
    padding: 17px 0 15px;
  }
}

.followArea .followArea-iconBtn .followArea-iconBtn__body {
  display: flex;
  align-items: center;
  flex-direction: row;
  justify-content: center;
  width: 100%;
}

.followArea .followArea-iconBtn .followArea-iconBtn__icon {
  background-image: url(../images/common/line.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  margin-right: 2vw;
  height: 4vw;
  width: 4vw;
}

@media (min-width: 1024px) {
  .followArea .followArea-iconBtn .followArea-iconBtn__icon {
    margin-right: 20px;
    height: 25px;
    width: 25px;
  }
}

.followArea .followArea-iconBtn .followArea-iconBtn__text {
  color: #fff;
  font-weight: bold;
  font-size: 3vw;
  letter-spacing: 0.15rem;
}

@media (min-width: 1024px) {
  .followArea .followArea-iconBtn .followArea-iconBtn__text {
    font-size: 16px;
  }
}

.followArea .lineBtn {
  background-color: #00b900;
}

.followArea .webBtn {
  background-color: #856d47;
}

.followArea-btn.skyblue.skyblue {
  background-color: var(--accent-2-color);
}


/**************************************************************
* HEADER
**************************************************************/


@media (min-width: 1024px) {
  .g-nav__item:not(:last-child):after {
    content: '';
    position: absolute;
    bottom: -2rem;
    left: 0;
    right: 0;
    width: 1.5rem;
    height: 1px;
    margin-left: auto;
    margin-right: auto;
    background-color: currentColor;
  }
}

@media (hover: hover) {
  .g-nav__link:hover {
    background: var(--accent-1-color);
  }
}


/**************************************************************
* CONCEPT
**************************************************************/
.concept-movie-mask {
  opacity: .7;
}


/**************************************************************
* CONCEPT
**************************************************************/

@media (min-width: 1024px) {
  .business-points {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 1023px) {
  .business-points {
    grid-template-columns: repeat(1, 1fr);
  }
}


/**************************************************************
* ABOUT
**************************************************************/

.about-link__area {
  display: flex;
  justify-content: center;
  margin-top: 4rem;
}

.about-link__area>a {
  border-bottom: 1px solid var(--accent-1-color);
  font-size: 1.6rem;
  width: 20%;
  color: var(--accent-1-color);
  text-align: center;
}

.about-strong {
  font-size: 2.0rem;
  color: var(--accent-1-color);
  margin-right: 4rem;
}

.about-item__data>dd {
  display: flex;
  justify-content: center;
}


@media screen and (max-width:1439px) {
  .about-link__area>a {
    width: 30%;
  }
}

@media screen and (max-width:900px) {
  .about-link__area>a {
    width: 40%;
  }
}

@media screen and (max-width:768px) {
  .about-strong {
    font-size: 1.6rem;
    margin-right: 2rem;
  }

  .about-link__area>a {
    font-size: 1.4rem;

  }
}

@media screen and (max-width:425px) {
  .concept__heading>h2 {
    font-size: 2.0rem;
  }
}


@media (hover: hover) {
  .about-link__area>a:hover {
    border-bottom: 1px solid #1e5bb1;
    color: #1e5bb1;
  }
}


/**************************************************************
* message
**************************************************************/

.message-article__heading {
  margin-top: 6rem;
  margin-bottom: 4rem;
}

.message__subtitle {
  font-size: 2rem;
  margin-bottom: 1rem;
}

.message-text {
  margin-bottom: 4rem;
}

@media screen and (max-width:1024px) {
  .message-visual::after {
    background-position: bottom;
  }
}

@media screen and (max-width:768px) {
  .message-article__heading {
    font-size: 1.6rem;
    text-align: center;
  }

  .message__subtitle {
    font-size: 1.4rem;
  }
}

@media screen and (max-width:425px) {
  .message-visual::after {
    bottom: -13rem;
  }
}

/**************************************************************
* FOOTER
**************************************************************/

@media screen and (max-width:1024px ){
  .g-footer {
    padding-bottom: 5%;
  }
}

@media screen and (max-width:425px ){
  .g-footer {
    padding-bottom: 15%;
  }
}
