@charset "utf-8";

/*------------------------------ 共通 ------------------------------*/
.sp {
  display: none;
}

.container {
  max-width: 136.6rem;
}

.inner {
  max-width: 120rem;
}

.small-inner {
  max-width: 86.4rem;
}

.set-heading {
  font-size: 3rem;
  line-height: 1.6;
}

.sub-heading {
  font-size: 1.4rem;
  margin-top: 0.4rem;
  line-height: 1.857;
  letter-spacing: 0.05em;
}

.underline-link {
  line-height: 1.33;
}

.invert-btn {
  padding: 1.2rem 3.1rem;
}

main {
  padding-top: 10rem;
}

#news,
#business,
#line-up,
#outline,
#contact {
  scroll-margin-top: 100px;
}

/*------------------------------ header ------------------------------*/
header {
  height: 10rem;
  gap: 0 2rem;
  padding: 0 2%;
}

header .menu {
  gap: 0 3rem;
}

header .menu ul {
  gap: 0 3rem;

}

/*------------------------------ hero ------------------------------*/
#top .hero .container {
  height: calc(100vh - 10rem);
}

#top .hero .container .hero-title {
  width: 33%;
  background-color: #911010;
}

#top .hero .container .hero-title h2 {
  font-size: 3.6rem;
  line-height: 1.138;
  letter-spacing: 0.12em;
}

#top .hero .container .hero-title h2 wbr {
  display: none;
}

#top .hero .container .scroll-down {
  position: absolute;
  padding-bottom: 11rem;
  bottom: 0;
  right: 6.4rem;
  font-family: "Roboto", sans-serif;
  font-size: 1.4rem;
  color: #fff;
  line-height: 1;
  letter-spacing: .2em;
  writing-mode: vertical-lr;
  transition: .2s;
}

#top .hero .container .scroll-down::before {
  position: absolute;
  content: "";
  bottom: 0;
  left: 50%;
  background-color: #8B806E;
  width: 0.1rem;
  height: 10rem;
}

#top .hero .container .scroll-down::after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 50%;
  background-color: #fff;
  width: 0.1rem;
  height: 10rem;
  animation: sdl01 3s ease-in-out infinite;
}

@keyframes sdl01 {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  40% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  60% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}

/*------------------------------ news ------------------------------*/
#top .news {
  margin-top: 8rem;
}

#top .news .small-inner .news-wrap {
  margin-top: 8rem;
}

#top .news .small-inner .news-wrap .each-news {
  padding: 1.5rem;
  gap: 0 7%;
}

#top .news .small-inner .news-wrap .each-news p {
  width: calc(93% - 11rem);
}

#top .news .small-inner .news-wrap .each-news time {
  width: 11rem;
}

/*------------------------------ business ------------------------------*/
#top .business {
  margin-top: 12.8rem;
}

#top .business .inner .tab-list {
  gap: 0 3rem;
  height: 10rem;
}

#top .business .inner .tab-list .tab-item {
  font-size: 2rem;
  line-height: 1.2;
}

#top .business .inner .business-main .content.active .img {
  width: 52%;
}

#top .business .inner .business-main .content.active .text-wrap {
  padding: 9.4rem 7%;
  width: 48%;
}

#top .business .inner .business-main .content.active .text-wrap h3 {
  font-size: 3rem;
  line-height: 1.6;
}

#top .business .inner .business-main .content.active .text-wrap p {
  margin-top: 2rem;
  line-height: 1.875;
}

#top .business .inner .business-main .content.active .text-wrap .small-text {
  margin-top: 2.6rem;
}

/*------------------------------ line-up ------------------------------*/
#top .line-up {
  margin-top: 15.2rem;
}

#top .line-up .inner .line-up-group {
  gap: 5.3rem 5.4rem;
  margin-top: 5.6rem;
}

#top .line-up .inner .line-up-group .line-up-card {
  width: calc((100% - 10.8rem) / 3);
}

#top .line-up .inner .line-up-group .line-up-card p:first-of-type {
  font-size: 2rem;
  margin-top: 1.8rem;
}

#top .line-up .inner .line-up-group .line-up-card p:nth-of-type(2) {
  margin-top: 1.2rem;
  line-height: 2;
}

#top .line-up .inner .line-up-group .line-up-card p:nth-of-type(3) {
  margin-top: 1.8rem;
}

#top .line-up .inner .invert-btn {
  margin-top: 5.6rem;
  padding: 1.2rem 7.8rem 1.3rem;
  width: fit-content;
}

/*------------------------------ outline ------------------------------*/
#top .outline {
  margin-top: 15.2rem;
}

#top .outline .small-inner dl {
  margin-top: 5.6rem;
}

#top .outline .small-inner dl .company-detail {
  padding-top: 1.8rem;
  padding-bottom: 1.8rem;
}

#top .outline .small-inner dl .company-detail dt {
  width: 15%;
}

#top .outline .small-inner dl .company-detail dd {
  width: 79%;
}

#top .outline .small-inner .google-map {
  margin-top: 1.8rem;
}

/*------------------------------ contact ------------------------------*/
#top .contact {
  margin-top: 15.2rem;
}

#top .contact .small-inner {
  padding: 5.6rem 12.1rem 6.4rem;
  width: 100%;
}

#top .contact .small-inner .contact-form {
  margin-top: 5.6rem;
}

#top .contact .small-inner .contact-form .dl-wrap dl {
  align-items: center;
}

#top .contact .small-inner .contact-form .dl-wrap dl:not(:first-of-type) {
  margin-top: 4rem;
}

#top .contact .small-inner .contact-form .dl-wrap dl:last-of-type {
  align-items: flex-start;
}

#top .contact .small-inner .contact-form .dl-wrap dl dt {
  width: 22rem;
}

#top .contact .small-inner .contact-form .dl-wrap dl:last-of-type dt {
  padding-top: 1.4rem;
}

#top .contact .small-inner .contact-form .dl-wrap dl dd {
  width: calc(100% - 22rem);
}

#top .contact .small-inner .contact-form .privacy {
  max-width: 40rem;
}

#top .contact .small-inner .contact-form .privacy-check {
  margin-top: 1.8rem;
}

#top .contact .small-inner .contact-form .invert-btn {
  margin-top: 5.6rem;
}

#top .contact .confirm-modal .small-inner {
  max-width: 71.5rem;
  width: 100%;
}

#top .contact .confirm-modal .small-inner .content {
  padding: 5.6rem 12.1rem 6.4rem;
}

#top .contact .confirm-modal .small-inner .dl-wrap {
  margin-top: 5.6rem;
}

#top .contact .confirm-modal .small-inner .dl-wrap dl:not(:first-of-type) {
  margin-top: 4rem;
}

#top .contact .confirm-modal .small-inner .dl-wrap dl dt {
  width: 20rem;
}

#top .contact .confirm-modal .small-inner .dl-wrap dl dd {
  width: calc(100% - 20rem);
}

#top .contact .confirm-modal .small-inner .btns p {
  margin-top: 5.6rem;
  gap: 0 1.6rem;
  justify-content: center;
}

#top .contact .confirm-modal .small-inner .btns .fix-btn {
  width: 16.6rem;
}

#top .contact .confirm-modal .small-inner .btns .submit-btn {
  width: 27.2rem;
}

#top .contact .thanks-modal .small-inner {
  max-width: 71.5rem;
  width: 100%;
}

#top .contact .thanks-modal .small-inner p:first-of-type {
  margin-top: 5.6rem;
}

#top .contact .thanks-modal .small-inner .close-btn {
  width: 27.2rem;
  margin-top: 5.6rem;
}

/*------------------------------ footer ------------------------------*/
footer {
  margin-top: 15.2rem;
  padding: 4.8rem 0 4rem;
}

footer .inner .footer-top {
  align-items: center;
}

footer .inner .footer-top .menu {
  gap: 0 4.5rem;
}

footer .inner .footer-top .menu ul {
  gap: 0 4.5rem;
}

footer .inner .footer-top .menu ul li a {
  letter-spacing: 0.05em;
}

footer .inner small {
  text-align: right;
  margin-top: 14.2rem;
}

@media screen and (max-width: 1000px) {
  header .logo img {
    width: 8rem;
  }

  header .menu {
    gap: 0 1.8rem;
  }

  header .menu ul {
    gap: 0 1.8rem;
  }

  #top .line-up .inner .line-up-group .line-up-card {
    width: calc((100% - 5.4rem) / 2);
  }

  header .menu ul li a {
    font-size: 1.4rem;
  }

  footer .inner .footer-top {
    gap: 3rem 0;
    align-items: flex-start;
  }

  footer .inner .footer-top .menu ul {
    gap: 0 2.6rem;
  }

  footer .inner .footer-top .menu ul li a {
    font-size: 1.4rem;
  }

  footer .inner .footer-top .menu .invert-btn {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 1100px) {
  footer .inner .footer-top .menu {
    gap: 0 3rem;
  }

  footer .inner .footer-top .menu ul {
    gap: 0 3rem;
  }
}

/*------------------------------ 404 ------------------------------*/
#not-found {
  padding-top: 18rem;
}