@charset "UTF-8";
/*------------------------------
    reset
--------------------------------*/
body, div, dl, dt, dd, h1, h2, h3, h4, h5, h6, p, pre, form, fieldset, input, textarea, blockquote, ul, ol, li, figure {
  margin: 0;
  padding: 0;
}

ul, ol, li {
  list-style: none;
}

body {
  line-height: 1.75;
  font-family: "Noto Sans JP", sans-serif;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

a {
  color: currentColor;
  text-decoration: none;
}

/*------------------------------
    base
--------------------------------*/
body {
  font-family: "Noto Sans JP", sans-serif;
}

.header {
  position: relative;
  z-index: 100;
  padding-left: clamp(0.625rem, -1.2788461538rem + 3.9663461538vw, 2.6875rem);
  animation: fadeIn 2s forwards;
}
@media screen and (max-width: 767px) {
  .header {
    padding-left: 15px;
  }
}
.header__inner {
  display: grid;
  align-items: center;
  gap: clamp(0.625rem, 0.0480769231rem + 1.2019230769vw, 1.25rem);
  grid-template-columns: auto 1fr;
}

.header_logo {
  margin-bottom: auto;
}
.header_logo a {
  display: flex;
  align-items: center;
  align-self: start;
  line-height: 1;
  gap: clamp(0.625rem, 0.0480769231rem + 1.2019230769vw, 1.25rem);
}
.header_logo img {
  width: clamp(12.5rem, 9.3269230769rem + 6.6105769231vw, 15.9375rem);
}
@media screen and (max-width: 767px) {
  .header_logo img {
    width: 190px;
  }
}
.header_logo__ribbon {
  display: grid;
  align-self: start;
  position: relative;
  width: clamp(5rem, 1.8269230769rem + 6.6105769231vw, 8.4375rem);
  aspect-ratio: 135/118;
  margin-bottom: calc(clamp(0.625rem, 0.0480769231rem + 1.2019230769vw, 1.25rem) * -1);
  background: url("../img/shape_ribbon.svg") no-repeat bottom center;
  background-size: cover;
  color: #fff;
  font-size: clamp(0.75rem, 0.2884615385rem + 0.9615384615vw, 1.25rem);
  place-items: center;
}
@media screen and (max-width: 767px) {
  .header_logo__ribbon {
    width: 76px;
    aspect-ratio: 76/50;
    margin-bottom: 0;
    margin-bottom: -5px;
    font-size: 0.8125rem;
  }
}
.header_logo__ribbon span {
  position: relative;
  top: calc(clamp(0.1875rem, -0.2163461538rem + 0.8413461538vw, 0.625rem) * -1);
}

.header_nav {
  display: flex;
  align-items: center;
  height: 100%;
  gap: clamp(0.625rem, -3.125rem + 5vw, 1.875rem);
}
@media screen and (max-width: 767px) {
  .header_nav {
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }
}
@media screen and (min-width: 768px) {
  .header_nav {
    justify-content: end;
  }
}

.header_gnav {
  display: flex;
  flex-wrap: wrap;
  font-size: clamp(0.75rem, 0.3461538462rem + 0.8413461538vw, 1.1875rem);
  letter-spacing: 0.05em;
  column-gap: clamp(0.625rem, -0.5288461538rem + 2.4038461538vw, 1.875rem);
  row-gap: 5px;
}
@media screen and (max-width: 767px) {
  .header_gnav {
    flex-direction: column;
    order: 0;
    position: relative;
    border-top: 1px solid rgba(255, 255, 255, 0.5);
    text-align: center;
    gap: 0;
  }
}
@media screen and (min-width: 768px) {
  .header_gnav {
    font-weight: 500;
  }
}
@media screen and (max-width: 767px) {
  .header_gnav li a {
    display: block;
    justify-content: space-between;
    position: relative;
    width: 280px;
    padding: 15px 25px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
    box-sizing: border-box;
    font-size: 1.125rem;
    text-align: left;
  }
  .header_gnav li a::after {
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%) rotate(45deg);
    width: 7px;
    height: 7px;
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;
    content: "";
  }
}
@media screen and (min-width: 768px) {
  .header_gnav li a {
    position: relative;
    transition: 0.3s;
  }
  .header_gnav li a::after {
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 0;
    height: 1px;
    background-color: #f36b00;
    content: "";
    transition: 0.3s;
  }
  .header_gnav li a:hover {
    color: #f36b00;
  }
  .header_gnav li a:hover::after {
    width: 100%;
  }
}

.header_gnav > li {
    position: relative;
    cursor: pointer;
}
.header_gnav .child {
    display: none;
    position: absolute;
    left: -0.75rem;
    top: 100%;
    background-color: rgba(255,255,255,0.8);
    backdrop-filter: blur(12px);
    list-style: none;
    padding: .5rem 2rem .75rem .25rem;
    margin: 0;
    z-index: 9;
    border-radius: 8px;
    box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 767px) {
    .header_gnav .child {
        background-color: rgba(255,255,255,0.7);
        backdrop-filter: blur(12px);
        border: none;
        border-radius: 8px;
        display: block;
        padding: .25rem 0;
        position: relative;
        top: auto;
        left: auto;
    }
    .header_gnav .parent {
        font-size: 1.125rem;
        text-align: left;
    }
    .header_gnav .parent span{
        display: block;
        padding: 15px 25px 10px;
    }
}
.header_gnav .child li {
    display: block;
    padding: 3px 10px;
    white-space: nowrap;
}
@media screen and (max-width: 767px) {
    .header_gnav .child li {
        padding-left: 2rem;
    }
    .header_gnav .child li a{
        width: calc(280px - 2rem);
    }
}

.header_gnav .child li a {
    border-bottom: none;
    color: #333;
    text-decoration: none;
}
@media screen and (max-width: 767px) {
.header_gnav .child li a {
    padding: 0;
}
}

.header_gnav .child li a:hover {
}

.header_gnav > li:hover .child {
    display: block;
}
        
.header_sns {
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .header_sns {
    margin-block: auto;
    padding-top: 5px;
  }
}
@media screen and (max-width: 767px) {
  .header_sns {
    order: 2;
  }
}
.header_sns a {
  transition: 0.3s;
}
.header_sns a:hover {
  opacity: 0.7;
}
.header_sns .el-icon_instagram {
  width: clamp(1.5rem, 0.2368421053rem + 2.6315789474vw, 2.375rem);
}
@media screen and (max-width: 767px) {
  .header_sns .el-icon_instagram {
    width: 39px;
  }
}

.header_cta {
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  width: clamp(8.125rem, 5.2403846154rem + 6.0096153846vw, 11.25rem);
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .header_cta {
    flex-direction: column;
    order: 1;
    width: 280px;
    gap: 24px;
  }
}
.header_cta a {
  transition: 0.3s;
}
.header_cta a:hover {
  opacity: 0.7;
}
.header_cta__btn {
  display: grid;
  position: relative;
  color: #fff;
  font-size: clamp(0.6875rem, 0.5144230769rem + 0.3605769231vw, 0.875rem);
  text-align: center;
  place-items: center;
}
@media screen and (max-width: 767px) {
  .header_cta__btn {
    border-radius: 6px;
    font-size: 1rem;
  }
}
.header_cta__btn::after {
  position: absolute;
  top: 50%;
  right: 3px;
  transform: translateY(-50%);
  width: clamp(0.5rem, 0.1538461538rem + 0.7211538462vw, 0.875rem);
  aspect-ratio: 1;
  margin-right: clamp(0rem, -0.2884615385rem + 0.6009615385vw, 0.3125rem);
  background: url("../img/icon_arrow2.svg") no-repeat center;
  background-size: cover;
  content: "";
  filter: brightness(0) invert(1);
}
@media screen and (max-width: 767px) {
  .header_cta__btn::after {
    width: 15px;
    margin-right: 15px;
  }
}
.header_cta__btn.header_cta__btn--entry {
  height: clamp(4.6875rem, 3.2451923077rem + 3.0048076923vw, 6.25rem);
  background-color: #941f25;
}
@media screen and (max-width: 767px) {
  .header_cta__btn.header_cta__btn--entry {
    height: 75px;
  }
}
.header_cta__btn.header_cta__btn--company {
  height: clamp(4.6875rem, 3.2451923077rem + 3.0048076923vw, 6.25rem);
  background-color: #5d5d5d;
}
@media screen and (max-width: 767px) {
  .header_cta__btn.header_cta__btn--company {
    height: 53px;
    background-color: #fff;
    color: #000;
  }
  .header_cta__btn.header_cta__btn--company::after {
    filter: brightness(1) invert(0);
  }
}

.site-menu_btn {
  display: block;
  position: absolute;
  top: 13px;
  right: 13px;
  width: 30px;
  height: 20px;
  padding: 0;
  border: none;
  background-color: transparent;
  color: inherit;
  text-align: center;
  outline: none;
  cursor: pointer;
  appearance: none;
}
@media screen and (min-width: 768px) {
  .site-menu_btn {
    display: none;
  }
}
.site-menu_btn .bar {
  display: block;
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 1px;
  margin: 0 auto;
  background: #000;
  text-align: center;
  transition: 0.3s;
}
.site-menu_btn .bar::before, .site-menu_btn .bar::after {
  display: block;
  position: absolute;
  width: 100%;
  height: 1px;
  background: currentColor;
  content: "";
  transition: 0.3s;
}
.site-menu_btn .bar::before {
  top: -10px;
  left: 0;
}
.site-menu_btn .bar::after {
  top: 10px;
  left: 0;
}
.site-menu_btn.is_open {
  position: fixed;
  color: #fff;
}
.site-menu_btn.is_open .bar {
  background: transparent;
}
.site-menu_btn.is_open .bar::before {
  top: 0;
  transform: rotate(-135deg);
}
.site-menu_btn.is_open .bar::after {
  top: 0;
  transform: rotate(135deg);
}

@media screen and (max-width: 767px) {
  .site-menu {
    opacity: 0;
    position: fixed;
    top: 0;
    left: 0;
    inset: 0;
    transform: translateY(-100%);
    overflow-y: auto;
    background-color: #333;
    color: #fff;
    transition: 0.3s;
    pointer-events: none;
    overscroll-behavior: contain;
  }
  .site-menu.is_open {
    opacity: 0.95;
    transform: none;
    pointer-events: all;
  }
  .site-menu__inner {
    width: 100%;
    height: calc(100% + 1px);
  }
  .site-menu__content {
    min-height: 100%;
    padding-top: 40px;
    padding-bottom: 20px;
    box-sizing: border-box;
  }
}
.site-menu__logo {
  width: 190px;
  filter: brightness(0) invert(1);
}
@media screen and (min-width: 768px) {
  .site-menu__logo {
    display: none;
  }
}

.footer {
  font-size: clamp(0.875rem, 0.6945488722rem + 0.3759398496vw, 1rem);
}
@media screen and (max-width: 767px) {
  .footer {
    font-size: 0.8125rem;
  }
}
.footer__inner {
  display: flex;
  flex-direction: column;
  position: relative;
  max-width: 1200px;
  margin-inline: auto;
  padding-block: clamp(1.875rem, 1.6216216216rem + 1.0810810811vw, 2.5rem);
  text-align: center;
  gap: clamp(1.875rem, 1.6216216216rem + 1.0810810811vw, 2.5rem);
}

.footer__copyright {
  background-color: #bf9c1b;
  color: #fff;
  font-weight: 300;
  font-size: 0.75rem;
  text-align: center;
}

.footer_info dt {
  margin-bottom: 20px;
}
.footer_info dt img {
  width: clamp(15.625rem, 12.647556391rem + 6.2030075188vw, 17.6875rem);
}
@media screen and (max-width: 767px) {
  .footer_info dt img {
    width: 244px;
  }
}

.footer_nav {
  display: flex;
  justify-content: center;
  font-weight: 300;
  gap: clamp(1rem, -0.4436090226rem + 3.007518797vw, 2rem);
}
.footer_nav a {
  position: relative;
  transition: 0.3s;
}
.footer_nav a::after {
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 0;
  height: 1px;
  background-color: #f36b00;
  content: "";
  transition: 0.3s;
}
.footer_nav a:hover {
  color: #f36b00;
}
.footer_nav a:hover::after {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .footer_sns {
    position: absolute;
    right: 50px;
    bottom: 40px;
  }
}
.footer_sns a {
  transition: 0.3s;
}
.footer_sns a:hover {
  opacity: 0.7;
}
.footer_sns dt {
  margin-bottom: 10px;
}
.footer_sns dt span {
  margin-left: 0.1em;
  letter-spacing: 0.1em;
}
.footer_sns dd ul {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 20px;
}
.footer_sns .el-icon_facebook {
  width: clamp(2.75rem, 1.3966165414rem + 2.8195488722vw, 3.6875rem);
}
.footer_sns .el-icon_instagram {
  width: clamp(2.3125rem, 1.0493421053rem + 2.6315789474vw, 3.1875rem);
}

/*------------------------------
    layout
--------------------------------*/
.ly-container {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: clamp(0.9375rem, 0.0506756757rem + 3.7837837838vw, 3.125rem);
}

.ly-container_s {
  max-width: 700px;
  margin-inline: auto;
  padding-inline: clamp(0.9375rem, -0.4560810811rem + 5.9459459459vw, 4.375rem);
}

/*------------------------------
    common
--------------------------------*/
@media screen and (max-width: 767px) {
  .lg-visible {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .md-visible {
    display: none;
  }
}

.modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 200;
  overflow-y: auto;
  background-color: rgba(0, 0, 0, 0.5);
  animation: fadeIn 0.3s ease;
  place-items: center;
}
.modal__inner {
  position: relative;
  top: auto;
  left: auto;
  width: calc(100% - 100px);
  max-width: 1200px;
  margin: 50px auto;
}
@media screen and (max-width: 767px) {
  .modal__inner {
    width: calc(100% - 30px);
    margin: 15px auto;
  }
}
.modal__content {
  padding: clamp(1.25rem, 0.4898648649rem + 3.2432432432vw, 3.125rem);
  border: 2px solid #f38e00;
  border-radius: 10px;
  background-color: #fff;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes slideIn {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
.js-slidein {
  opacity: 0;
}
.js-slidein.is-on {
  animation: slideIn 2s forwards;
}

/*------------------------------
    element
--------------------------------*/
.el-icon_facebook {
  display: inline-block;
  width: 59px;
  aspect-ratio: 1;
  background: url("../img/icon_facebook.svg") no-repeat;
  background-size: contain;
  text-indent: -9999px;
}

.el-icon_instagram {
  display: inline-block;
  width: 51px;
  aspect-ratio: 1;
  background: url("../img/icon_instagram@2x.png") no-repeat;
  background-size: contain;
  text-indent: -9999px;
}

.el-heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-weight: bold;
  font-size: clamp(1.0625rem, 0.9358108108rem + 0.5405405405vw, 1.375rem);
  letter-spacing: 0.2em;
}
.el-heading::before {
  font-size: clamp(2.375rem, 1.1081081081rem + 5.4054054054vw, 5.5rem);
  font-family: "Antonio", serif;
  content: attr(data-text);
}
.el-heading__text {
  display: flex;
  gap: 10px;
}
.el-heading__text span {
  min-width: clamp(3.9375rem, 2.847972973rem + 4.6486486486vw, 6.625rem);
  border-radius: 18px;
  background-color: #ea5514;
  color: #fff;
  text-align: center;
}

.el-heading2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-weight: bold;
  font-size: clamp(1.375rem, 1.0962837838rem + 1.1891891892vw, 2.0625rem);
  letter-spacing: 0.2em;
  text-align: center;
  gap: clamp(0.3125rem, 0.1858108108rem + 0.5405405405vw, 0.625rem);
}
.el-heading2::after {
  font-size: clamp(0.625rem, 0.5236486486rem + 0.4324324324vw, 0.875rem);
  font-family: "Antonio", serif;
  letter-spacing: 0.2em;
  content: attr(data-text);
}

.el-lead_text {
  font-size: clamp(0.9375rem, 0.8614864865rem + 0.3243243243vw, 1.125rem);
  letter-spacing: 0.075em;
}

.el-btn {
  display: flex;
  justify-content: center;
  position: relative;
  width: clamp(19.25rem, 15.7787162162rem + 14.8108108108vw, 27.8125rem);
  aspect-ratio: 445/131;
  border-radius: 65px;
  box-sizing: border-box;
  background-color: #ea5514;
  color: #fff;
  font-weight: 700;
  font-size: clamp(1rem, 0.8733108108rem + 0.5405405405vw, 1.3125rem);
  letter-spacing: 0.2em;
  transition: 0.3s;
  place-items: center;
}
.el-btn:hover {
  opacity: 0.7;
}
.el-btn:hover::after {
  right: 20px;
}
.el-btn::after {
  position: absolute;
  right: clamp(1.25rem, 0.9966216216rem + 1.0810810811vw, 1.875rem);
  width: clamp(1.125rem, 0.7956081081rem + 1.4054054054vw, 1.9375rem);
  aspect-ratio: 1;
  margin-left: auto;
  background: url("../img/icon_arrow.svg") no-repeat;
  content: "";
  transition: 0.3s;
}
.el-btn--human::before {
  position: absolute;
  left: clamp(1.5625rem, 0.9290540541rem + 2.7027027027vw, 3.125rem);
  width: clamp(1.875rem, 1.5202702703rem + 1.5135135135vw, 2.75rem);
  aspect-ratio: 44/46;
  margin-right: auto;
  background: url("../img/icon_human.svg") no-repeat;
  content: "";
}
.el-btn--career::before {
  position: absolute;
  left: clamp(1.5625rem, 0.9290540541rem + 2.7027027027vw, 3.125rem);
  width: clamp(3.125rem, 2.6942567568rem + 1.8378378378vw, 4.1875rem);
  aspect-ratio: 67/53;
  margin-right: auto;
  background: url("../img/icon_career.svg") no-repeat;
  content: "";
}
.el-btn--heart::before {
  position: absolute;
  left: clamp(1.5625rem, 0.9290540541rem + 2.7027027027vw, 3.125rem);
  width: clamp(1.875rem, 1.5962837838rem + 1.1891891892vw, 2.5625rem);
  aspect-ratio: 1;
  margin-right: auto;
  background: url("../img/icon_heart.svg") no-repeat;
  content: "";
}

.el-img_link {
  transition: 0.3s;
}
.el-img_link:hover {
  opacity: 0.7;
}

/*------------------------------
    block
--------------------------------*/
.bl-btns {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(2.5rem, 1.4864864865rem + 4.3243243243vw, 5rem);
}
@media screen and (max-width: 767px) {
  .bl-btns {
    flex-direction: column;
  }
}
.bl-btns li {
  width: clamp(19.25rem, 15.7787162162rem + 14.8108108108vw, 27.8125rem);
}
.bl-btns__caption {
  width: clamp(18rem, 16.9358108108rem + 4.5405405405vw, 20.625rem);
  margin-top: 1em;
  margin-inline: auto;
  font-size: clamp(0.9375rem, 0.8868243243rem + 0.2162162162vw, 1.0625rem);
}
.bl-btns .el-btn {
  width: 100%;
}

/*------------------------------
    pages
--------------------------------*/
.top-section {
  padding-block: clamp(1.875rem, -0.4054054054rem + 9.7297297297vw, 7.5rem);
}
.top-section__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(1.0625rem, 0.6064189189rem + 1.9459459459vw, 2.1875rem);
}
.top-section__title::after {
  display: inline-block;
  width: 2px;
  height: clamp(1.375rem, 0.6655405405rem + 3.027027027vw, 3.125rem);
  background-color: currentColor;
  content: "";
}

.top-contents {
  display: flex;
  flex-direction: column;
  position: relative;
  margin-inline: auto;
  padding-block: clamp(2.1875rem, 1.3006756757rem + 3.7837837838vw, 4.375rem) clamp(3.125rem, 1.8581081081rem + 5.4054054054vw, 6.25rem);
  overflow: hidden;
  gap: clamp(3.75rem, 2.2297297297rem + 6.4864864865vw, 7.5rem);
}
.top-contents::before {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: -1;
  transform: translateX(-50%);
  width: 840px;
  height: 100%;
  border-radius: clamp(0.6875rem, 0.4087837838rem + 1.1891891892vw, 1.375rem);
  background-color: #fef6e5;
  content: "";
}
@media screen and (max-width: 767px) {
  .top-contents::before {
    left: 50%;
    transform: translateX(-50%);
    width: 206px;
  }
}
.top-contents--about {
  padding-bottom: clamp(1.875rem, 1.1148648649rem + 3.2432432432vw, 3.75rem);
}
.top-contents--about::before {
  border-radius: clamp(0.6875rem, 0.4087837838rem + 1.1891891892vw, 1.375rem) clamp(0.6875rem, 0.4087837838rem + 1.1891891892vw, 1.375rem) 0 0;
}
.top-contents--works::before {
  border-radius: 0 0 clamp(0.6875rem, 0.4087837838rem + 1.1891891892vw, 1.375rem) clamp(0.6875rem, 0.4087837838rem + 1.1891891892vw, 1.375rem);
}

.top-fv {
  opacity: 0;
  position: relative;
  height: 41.40625vw;
  padding-inline: 23px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .top-fv {
    height: 193.0769230769vw;
  }
}
.top-fv::before {
  position: absolute;
  inset: 0;
  z-index: -3;
  margin-inline: 23px;
  border-radius: 18px;
  background-color: #fef8e3;
  content: "";
}
@media screen and (max-width: 767px) {
  .top-fv::before {
    margin-inline: 15px;
  }
}
.top-fv__keyword {
  display: flex;
  position: absolute;
  inset: 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .top-fv__keyword {
    width: 200%;
  }
}
.top-fv__keyword > div {
  position: relative;
  width: 100%;
  white-space: nowrap;
}
.top-fv__keyword > div:last-child {
  position: absolute;
}
.top-fv__keyword_1 > div:last-child {
  right: -100vw;
}
@media screen and (max-width: 767px) {
  .top-fv__keyword_1 > div:last-child {
    right: -200vw;
  }
}
.top-fv__keyword_2 > div:last-child {
  left: -100vw;
}
@media screen and (max-width: 767px) {
  .top-fv__keyword_2 > div:last-child {
    left: -200vw;
  }
}
@keyframes parapara {
  to {
    background-position: 200% 0;
  }
}
.top-fv__illust {
  position: absolute;
  background-position: 0 0;
  background-size: cover;
  background-repeat: no-repeat;
  animation: parapara 1.2s steps(2) infinite;
}
.top-fv__illust_1 {
  top: 25.3125vw;
  left: 21.7708333333vw;
  width: 15.625vw;
  aspect-ratio: 300/170;
  background-image: url("../img/top/fv_illust@2x.png?20250219");
}
@media screen and (max-width: 767px) {
  .top-fv__illust_1 {
    top: 110.2564102564vw;
    left: 2.8205128205vw;
    width: 38.4615384615vw;
    aspect-ratio: 150/85;
    background-image: url("../img/top/fv_illust_sp.png?20250219");
  }
}
.top-fv__illust_2 {
  top: 13.3333333333vw;
  left: 16.6666666667vw;
  width: 20.0520833333vw;
  aspect-ratio: 385/195;
  background-image: url("../img/top/fv_illust2@2x.png?20250219");
  animation-delay: 0.3s;
}
@media screen and (max-width: 767px) {
  .top-fv__illust_2 {
    top: 57.6923076923vw;
    left: 5.8974358974vw;
    width: 26.9230769231vw;
    aspect-ratio: 105/105;
    background-image: url("../img/top/fv_illust2_sp.png?20250219");
  }
}
.top-fv__illust_3 {
  top: 1.9270833333vw;
  left: 28.9583333333vw;
  width: 13.0208333333vw;
  aspect-ratio: 250/180;
  background-image: url("../img/top/fv_illust3@2x.png?20250219");
}
@media screen and (max-width: 767px) {
  .top-fv__illust_3 {
    top: 11.0256410256vw;
    left: 6.9230769231vw;
    width: 43.5897435897vw;
    aspect-ratio: 170/100;
    background-image: url("../img/top/fv_illust3_sp.png?20250219");
  }
}
.top-fv__illust_4 {
  top: 3.3333333333vw;
  left: 54.21875vw;
  width: 14.3229166667vw;
  aspect-ratio: 275/165;
  background-image: url("../img/top/fv_illust4@2x.png?20250219");
  animation-delay: 0.3s;
}
@media screen and (max-width: 767px) {
  .top-fv__illust_4 {
    top: 2.0512820513vw;
    left: 56.6666666667vw;
    width: 33.3333333333vw;
    aspect-ratio: 130/95;
    background-image: url("../img/top/fv_illust4_sp.png?20250219");
  }
}
.top-fv__illust_5 {
  top: 13.4375vw;
  left: 67.5520833333vw;
  width: 14.3229166667vw;
  aspect-ratio: 275/195;
  background-image: url("../img/top/fv_illust5@2x.png?20250219");
}
@media screen and (max-width: 767px) {
  .top-fv__illust_5 {
    top: 44.8717948718vw;
    left: 65.3846153846vw;
    width: 33.3333333333vw;
    aspect-ratio: 130/80;
    background-image: url("../img/top/fv_illust5_sp.png?20250219");
  }
}
.top-fv__illust_6 {
  top: 25.5208333333vw;
  left: 67.96875vw;
  width: 11.1979166667vw;
  aspect-ratio: 215/220;
  background-image: url("../img/top/fv_illust6@2x.png?20250219");
  animation-delay: 0.3s;
}
@media screen and (max-width: 767px) {
  .top-fv__illust_6 {
    top: 87.4358974359vw;
    left: 66.6666666667vw;
    width: 30.7692307692vw;
    aspect-ratio: 120/85;
    background-image: url("../img/top/fv_illust6_sp.png?20250219");
  }
}
.top-fv__illust_7 {
  top: 4.4270833333vw;
  left: 47.4479166667vw;
  width: 5.0520833333vw;
}
@media screen and (max-width: 767px) {
  .top-fv__illust_7 {
    top: 38.4615384615vw;
    left: 43.3333333333vw;
    width: 12.8205128205vw;
  }
}
.top-fv__illust_8 {
  top: 20vw;
  left: 35.8854166667vw;
  width: 12.1875vw;
}
@media screen and (max-width: 767px) {
  .top-fv__illust_8 {
    top: 127.6923076923vw;
    left: 18.2051282051vw;
    width: 33.5897435897vw;
  }
}
.top-fv__illust_9 {
  top: 20vw;
  left: 52.8645833333vw;
  width: 12.1875vw;
}
@media screen and (max-width: 767px) {
  .top-fv__illust_9 {
    top: 127.6923076923vw;
    left: 49.2307692308vw;
    width: 33.5897435897vw;
  }
}
.top-fv__title_1 {
  top: 12.5520833333vw;
  left: 50.5208333333vw;
  width: 2.7083333333vw;
}
@media screen and (max-width: 767px) {
  .top-fv__title_1 {
    top: 58.4615384615vw;
    left: 51.7948717949vw;
    width: 8.7179487179vw;
  }
}
.top-fv__title_2 {
  top: 12.5520833333vw;
  left: 46.3020833333vw;
  width: 2.7083333333vw;
}
@media screen and (max-width: 767px) {
  .top-fv__title_2 {
    top: 58.4615384615vw;
    left: 38.9743589744vw;
    width: 8.7179487179vw;
  }
}
.top-fv__illust_circle {
  top: 2.7604166667vw;
  left: 27.2395833333vw;
  z-index: -2;
  width: 45.46875vw;
}
@media screen and (max-width: 767px) {
  .top-fv__illust_circle {
    top: 33.3333333333vw;
    left: -23.3333333333vw;
    width: 146.6666666667vw;
  }
}
.top-fv__illust_layer {
  top: 2.96875vw;
  left: 17.1354166667vw;
  z-index: 2;
  width: 70.3125vw;
}
@media screen and (max-width: 767px) {
  .top-fv__illust_layer {
    top: 4.358974359vw;
    left: 4.8717948718vw;
    width: 92.3076923077vw;
  }
}
.top-fv .st0 {
  fill: #231815;
}
.top-fv .st1 {
  fill: #fff;
  stroke: #000;
  stroke-miterlimit: 10;
  stroke-width: 1.8px;
}

.top-topics {
  display: flex;
  flex-direction: column;
  margin-top: calc(clamp(3.125rem, 1.3204887218rem + 3.7593984962vw, 4.375rem) * -1);
  column-gap: clamp(2.5rem, 1.4864864865rem + 4.3243243243vw, 5rem);
  row-gap: clamp(0.9375rem, 0.5574324324rem + 1.6216216216vw, 1.875rem);
}
@media screen and (max-width: 767px) {
  .top-topics {
    margin-top: -45px;
    margin-bottom: 30px;
  }
}
.top-topics__heading {
  display: grid;
  align-items: center;
  position: relative;
  z-index: 2;
  width: clamp(21.875rem, 10.1456766917rem + 24.4360902256vw, 30rem);
  height: clamp(3.125rem, 1.3204887218rem + 3.7593984962vw, 4.375rem);
  padding-inline: clamp(1.25rem, 0.4898648649rem + 3.2432432432vw, 3.125rem);
  border-radius: 20px 20px 0 0;
  box-sizing: border-box;
  background-color: #fff;
  font-weight: 700;
  font-size: clamp(1.0625rem, 0.9864864865rem + 0.3243243243vw, 1.25rem);
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .top-topics__heading {
    width: 280px;
    height: 45px;
    margin-inline: auto;
    text-align: center;
  }
}
.top-topics__inner {
  display: flex;
  align-items: end;
  column-gap: clamp(1.25rem, -0.2702702703rem + 6.4864864865vw, 5rem);
  row-gap: 30px;
}
@media screen and (max-width: 800px) {
  .top-topics__inner {
    flex-direction: column;
    align-items: center;
    row-gap: 50px;
  }
}
.top-topics__inner .col:first-child {
  width: 100%;
}
.top-topics__inner .col:last-child {
  width: clamp(18.125rem, 14.7804054054rem + 14.2702702703vw, 26.375rem);
}
@media screen and (min-width: 768px) {
  .top-topics__inner .col:last-child {
    flex-shrink: 0;
  }
}
.top-topics__list {
  border-bottom: 1px solid rgba(0, 0, 0, 0.5);
}
.top-topics__list li a {
  display: flex;
  align-items: center;
  position: relative;
  padding: clamp(0.625rem, 0.3716216216rem + 1.0810810811vw, 1.25rem);
  transition: 0.3s;
  gap: clamp(0.3125rem, -0.3209459459rem + 2.7027027027vw, 1.875rem);
}
@media screen and (max-width: 767px) {
  .top-topics__list li a {
    flex-direction: column;
    align-items: start;
  }
}
.top-topics__list li a::after {
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%) rotate(45deg);
  width: 7px;
  height: 7px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  content: "";
}
@media screen and (max-width: 767px) {
  .top-topics__list li a::after {
    right: 10px;
  }
}
.top-topics__list li a:hover {
  background-color: #fef8e3;
}
.top-topics__list li:not(:last-child) {
  border-bottom: 1px solid rgba(0, 0, 0, 0.25);
}
.top-topics__list .date {
  font-size: 0.8125rem;
  letter-spacing: 0.1em;
}
.top-topics__list .text {
  font-weight: 700;
  font-size: clamp(1rem, 0.9493243243rem + 0.2162162162vw, 1.125rem);
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .top-topics__list .text {
    padding-right: 15px;
  }
}

@media screen and (min-width: 768px) {
  .top-section_about {
    position: relative;
  }
  .top-section_about::before {
    position: absolute;
    width: 100%;
    height: 1147px;
    background: url("../img/top/about_bg@2x.png") no-repeat center 200px;
    background-size: 1924px auto;
    content: "";
  }
}

.top-about .el-heading2 {
  margin-bottom: clamp(2.8125rem, 1.6722972973rem + 4.8648648649vw, 5.625rem);
}
@media screen and (max-width: 767px) {
  .top-about .el-heading2 {
    font-size: 1.0625rem;
  }
}

.top-about_slide {
  display: block;
  position: relative;
  width: 100%;
  counter-reset: number 0;
}
@media screen and (min-width: 768px) {
  .top-about_slide {
    height: clamp(16.875rem, 10.0337837838rem + 29.1891891892vw, 33.75rem);
    overflow: hidden;
    border-radius: 270px;
  }
}
@media screen and (max-width: 767px) {
  .top-about_slide {
    display: flex;
    flex-direction: column;
    gap: 50px;
  }
}
@media screen and (min-width: 768px) {
  .top-about_slide__item {
    position: absolute;
    inset: 0;
    color: #fff;
  }
}
@media screen and (max-width: 767px) {
  .top-about_slide__item {
    display: flex;
    flex-direction: column-reverse;
    position: relative;
    gap: 15px;
  }
}
.top-about_slide__item .layer {
  position: absolute;
  inset: 0;
  z-index: 1;
  background-color: #f38e00;
}
@media screen and (max-width: 767px) {
  .top-about_slide__item .layer {
    display: none;
  }
}
.top-about_slide__item .title {
  display: grid;
  text-align: center;
  place-items: center;
}
@media screen and (min-width: 768px) {
  .top-about_slide__item .title {
    position: absolute;
    inset: 0;
    z-index: 2;
    text-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3);
  }
}
.top-about_slide__item .title .num {
  display: grid;
  position: absolute;
  top: 15%;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 50%;
  font-weight: 700;
  font-size: clamp(0.8125rem, 0.1283783784rem + 2.9189189189vw, 2.5rem);
  line-height: 1;
  font-family: "Antonio", serif;
  letter-spacing: 0.2em;
  text-align: center;
  counter-increment: number 1;
  place-items: center;
}
@media screen and (max-width: 767px) {
  .top-about_slide__item .title .num {
    top: -25px;
    width: 50px;
    aspect-ratio: 1;
    background-color: #f38e00;
    color: #fff;
  }
}
.top-about_slide__item .title .num::before {
  position: relative;
  top: -5px;
  content: counter(number, decimal-leading-zero);
}
.top-about_slide__item .title .num::after {
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  width: clamp(0.9375rem, 0.1773648649rem + 3.2432432432vw, 2.8125rem);
  height: 2px;
  background-color: #fff;
  content: "";
}
@media screen and (max-width: 767px) {
  .top-about_slide__item .title .num::after {
    bottom: 0;
    bottom: 15px;
    height: 1px;
  }
}
@media screen and (min-width: 768px) {
  .top-about_slide__item .pic {
    position: absolute;
    inset: 0;
  }
}
.top-about_slide__item .pic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .top-about_slide__item .pic img {
    border-radius: 200px;
  }
}
.top-about_slide__item_1 {
  z-index: 3;
}
.top-about_slide__item_2 {
  z-index: 2;
}
.top-about_slide__item_3 {
  z-index: 1;
}
.top-about_slide__heading {
  font-weight: 700;
  font-size: clamp(1.0625rem, 0.3277027027rem + 3.1351351351vw, 2.875rem);
  line-height: 1.4;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .top-about_slide__heading {
    letter-spacing: 0.05em;
  }
}
.top-about_slide__heading span {
  font-weight: normal;
  font-size: clamp(0.9375rem, 0.8108108108rem + 0.5405405405vw, 1.25rem);
  line-height: 1;
  letter-spacing: 0.05em;
}

.top-works_detail {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(3.125rem, 1.8581081081rem + 5.4054054054vw, 6.25rem);
}
.top-works_detail::after {
  width: clamp(7.5rem, 4.4594594595rem + 12.972972973vw, 15rem);
  aspect-ratio: 483/357;
  background: url("../img/top/illust7@2x.png") no-repeat;
  background-size: cover;
  content: "";
}

.top-works_list {
  display: grid;
  width: fit-content;
  margin-inline: auto;
  column-gap: clamp(1.25rem, -0.5545112782rem + 3.7593984962vw, 2.5rem);
  row-gap: clamp(2.5rem, 1.4864864865rem + 4.3243243243vw, 5rem);
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 767px) {
  .top-works_list {
    column-gap: 10px;
    grid-template-columns: repeat(2, 1fr);
  }
}
.top-works_list li a {
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: 0.3s;
}
.top-works_list li a:hover {
  opacity: 0.7;
}
.top-works_list li:nth-child(even) .top-works_list__copy span {
  background-color: #f36b00;
}
.top-works_list li:nth-child(even) .top-works_list__copy::after {
  background-color: #f36b00;
}
.top-works_list__copy {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.top-works_list__copy span {
  display: grid;
  z-index: 1;
  width: clamp(9.375rem, 5.7263513514rem + 15.5675675676vw, 18.375rem);
  aspect-ratio: 294/75;
  border-radius: 37px;
  background-color: #f38e00;
  color: #fff;
  font-weight: 700;
  font-size: clamp(0.9375rem, 0.6668233083rem + 0.5639097744vw, 1.125rem);
  letter-spacing: 0.3em;
  place-items: center;
}
@media screen and (max-width: 767px) {
  .top-works_list__copy span {
    font-size: 0.8125rem;
    letter-spacing: 0.1em;
  }
}
.top-works_list__copy::after {
  rotate: 30deg;
  width: clamp(0.25rem, 0.1233108108rem + 0.5405405405vw, 0.5625rem);
  height: clamp(1.25rem, 0.7432432432rem + 2.1621621622vw, 2.5rem);
  margin-top: calc(clamp(0.625rem, 0.3716216216rem + 1.0810810811vw, 1.25rem) * -1);
  margin-left: clamp(0.625rem, 0.3716216216rem + 1.0810810811vw, 1.25rem);
  border-radius: 5px;
  background-color: #f38e00;
  content: "";
}
.top-works_list__thumb {
  position: relative;
  max-width: 350px;
  margin-bottom: clamp(0.625rem, 0.1182432432rem + 2.1621621622vw, 1.875rem);
}
.top-works_list__thumb img {
  position: relative;
  z-index: 1;
}
.top-works_list__thumb::after {
  position: absolute;
  bottom: calc(clamp(0.625rem, 0.3716216216rem + 1.0810810811vw, 1.25rem) * -1);
  left: 50%;
  transform: translateX(-50%);
  width: 82%;
  aspect-ratio: 290/77;
  border-radius: 50%;
  background-color: #fef4b1;
  content: "";
}
.top-works_list__name {
  position: relative;
  margin-top: 10px;
  font-weight: 700;
  font-size: clamp(1rem, 0.3684210526rem + 1.3157894737vw, 1.4375rem);
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .top-works_list__name {
    font-size: 0.8125rem;
    letter-spacing: 0.1em;
  }
}
.top-works_list__name::after {
  display: inline-block;
  width: clamp(0.5625rem, 0.3344594595rem + 0.972972973vw, 1.125rem);
  aspect-ratio: 1;
  margin-left: clamp(0.3125rem, 0.1858108108rem + 0.5405405405vw, 0.625rem);
  background: url("../img/icon_zoom.svg");
  content: "";
}
.top-works_list__name span {
  position: relative;
}
.top-works_list__name span::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: currentColor;
  content: "";
}
.top-works_list__modal {
  width: 500px;
}

.top-works_modal .modal__inner {
  max-width: 500px;
}
.top-works_modal .modal__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}
.top-works_modal__title {
  font-weight: 700;
  font-size: 1.25rem;
  letter-spacing: 0.2em;
  text-align: center;
}
.top-works_modal__close {
  display: flex;
  margin-top: 2em;
  font-weight: 700;
  font-size: 0.875rem;
  letter-spacing: 0.2em;
  cursor: pointer;
  gap: 10px;
}
.top-works_modal__close:hover {
  opacity: 0.7;
  color: #f36b00;
}
.top-works_modal__close span {
  display: block;
  position: relative;
  width: 20px;
  aspect-ratio: 1;
}
.top-works_modal__close span::before, .top-works_modal__close span::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1px;
  height: 100%;
  background: currentColor;
  content: "";
}
.top-works_modal__close span::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.top-works_modal__close span::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.top-message .el-heading2 {
  margin-bottom: clamp(1.5625rem, 0.9290540541rem + 2.7027027027vw, 3.125rem);
}

.top-message_mv {
  position: relative;
  max-width: 840px;
  margin-bottom: clamp(3.125rem, 1.8581081081rem + 5.4054054054vw, 6.25rem);
  margin-inline: auto;
}
.top-message_mv__pic {
  position: relative;
  margin-inline: -20px;
}
@media screen and (min-width: 768px) {
  .top-message_mv__pic img {
    height: 430px;
    aspect-ratio: 883/430;
    object-fit: cover;
    object-position: top center;
  }
  .top-message_mv__pic::before, .top-message_mv__pic::after {
    clip-path: polygon(0 0, 0 100%, 100% 0);
    position: absolute;
    bottom: -10px;
    z-index: -2;
    width: 20px;
    aspect-ratio: 20/10;
    background-color: #595757;
    content: "";
  }
  .top-message_mv__pic::before {
    clip-path: polygon(100% 0, 0 0, 100% 100%);
    left: 0;
  }
  .top-message_mv__pic::after {
    clip-path: polygon(0 0, 0 100%, 100% 0);
    right: 0;
  }
}
.top-message_mv__name {
  display: flex;
  flex-direction: column;
  align-items: start;
  position: absolute;
  right: clamp(1.875rem, -2.8631756757rem + 20.2162162162vw, 13.5625rem);
  bottom: -60px;
  z-index: 2;
  line-height: 1;
  letter-spacing: 0.05em;
  writing-mode: vertical-rl;
  gap: 5px;
}
.top-message_mv__name > * {
  padding: 5px;
  background-color: #000;
  color: #fff;
}
.top-message_mv__name dt {
  font-size: clamp(0.75rem, 0.6739864865rem + 0.3243243243vw, 0.9375rem);
}
.top-message_mv__name dd {
  margin-top: 20px;
  font-size: clamp(1.25rem, 1.1233108108rem + 0.5405405405vw, 1.5625rem);
}

.top-message_cont {
  display: flex;
  flex-direction: column;
  margin-bottom: clamp(3.125rem, 1.8581081081rem + 5.4054054054vw, 6.25rem);
  font-weight: 300;
  font-size: 0.9375rem;
  gap: clamp(1.5625rem, 0.9290540541rem + 2.7027027027vw, 3.125rem);
}
@media screen and (min-width: 768px) {
  .top-message_cont {
    line-height: 1.93;
  }
}
.top-message_cont__heading {
  display: flex;
  align-items: center;
  position: relative;
  margin-bottom: 1em;
  font-weight: 700;
  font-size: clamp(1.1875rem, 1.0608108108rem + 0.5405405405vw, 1.5rem);
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .top-message_cont__heading {
    padding-left: 25px;
  }
}
.top-message_cont__heading::before {
  position: absolute;
  left: -70px;
  width: 50px;
  height: 2px;
  background-color: #ea5514;
  content: "";
}
@media screen and (max-width: 767px) {
  .top-message_cont__heading::before {
    left: -15px;
    width: 30px;
  }
}

.top-data .el-heading2 {
  margin-bottom: clamp(1.5625rem, 0.9290540541rem + 2.7027027027vw, 3.125rem);
}
.top-data dl {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.top-data__item {
  display: grid;
  padding: clamp(0.3125rem, -0.1386278195rem + 0.9398496241vw, 0.625rem) clamp(0.625rem, -0.2772556391rem + 1.8796992481vw, 1.25rem);
  border: 1px solid #f38e00;
  border-radius: 10px;
  background-color: #fff;
  place-items: center;
}
@media screen and (max-width: 767px) {
  .top-data__item {
    padding: 10px 20px 20px;
  }
}
.top-data__title {
  border-bottom: 2px solid currentColor;
  font-weight: bold;
  font-size: clamp(0.875rem, 0.5140977444rem + 0.7518796992vw, 1.125rem);
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .top-data__title {
    font-size: 1.0625rem;
  }
}
@media screen and (min-width: 768px) {
  .top-data__title--l {
    font-size: clamp(1.0625rem, 0.4309210526rem + 1.3157894737vw, 1.5rem);
  }
}
.top-data__val {
  color: #ea5514;
  font-weight: 700;
  line-height: 1;
}
.top-data__val .num {
  font-size: clamp(3.9375rem, 2.4036654135rem + 3.1954887218vw, 5rem);
  font-family: "Antonio", serif;
}
.top-data__val .num--l {
  font-size: clamp(3.9375rem, 0.5991541353rem + 6.954887218vw, 6.25rem);
}
.top-data__val .num--m {
  font-size: clamp(3.9375rem, 2.1329887218rem + 3.7593984962vw, 5.1875rem);
}
.top-data__val .unit {
  font-size: clamp(1.5rem, 0.6879699248rem + 1.6917293233vw, 2.0625rem);
}
.top-data__caption {
  font-weight: 300;
  font-size: clamp(0.625rem, 0.2640977444rem + 0.7518796992vw, 0.875rem);
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .top-data__caption {
    font-size: 0.8125rem;
  }
}

.top-data_chart {
  display: grid;
  position: relative;
  max-width: 95%;
  place-items: center;
}
@media screen and (max-width: 767px) {
  .top-data_chart {
    max-width: 70%;
  }
}
.top-data_chart__title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-weight: 700;
  font-size: clamp(0.9375rem, 0.3059210526rem + 1.3157894737vw, 1.375rem);
  line-height: 1.5;
  letter-spacing: 0.2em;
  text-align: center;
}
.top-data_chart__title--l {
  font-size: clamp(1.125rem, -0.7697368421rem + 3.9473684211vw, 2.4375rem);
}
.top-data_chart__val {
  position: absolute;
  line-height: 1;
  gap: 0 !important;
}
.top-data_chart__val dt {
  font-weight: 700;
  font-size: clamp(0.9375rem, 0.1254699248rem + 1.6917293233vw, 1.5rem);
}
.top-data_chart__val dd {
  color: #000;
}
.top-data_chart__val dd .unit {
  font-size: clamp(0.75rem, 0.4966216216rem + 1.0810810811vw, 1.375rem);
}
.top-data_chart .chart1_val dt {
  font-size: clamp(1.0625rem, -0.3811090226rem + 3.007518797vw, 2.0625rem);
}
.top-data_chart .chart1_val .top-data__val .num {
  font-size: clamp(3.9375rem, -0.1226503759rem + 8.4586466165vw, 6.75rem);
}
.top-data_chart .chart1_val--1 {
  right: 0;
  bottom: 5%;
}
@media screen and (max-width: 767px) {
  .top-data_chart .chart1_val--1 {
    right: -5%;
  }
}
.top-data_chart .chart1_val--2 {
  top: 5%;
  left: 0;
}
@media screen and (max-width: 767px) {
  .top-data_chart .chart1_val--2 {
    left: -5%;
  }
}
.top-data_chart .chart2_val--1 {
  right: -5%;
  bottom: 0;
}
.top-data_chart .chart2_val--2 {
  top: 0;
  left: -5%;
}
.top-data_chart .chart3_val dt {
  font-size: clamp(1rem, 0.4586466165rem + 1.1278195489vw, 1.375rem);
}
.top-data_chart .chart3_val .top-data__val .num {
  font-size: clamp(3.125rem, 1.3204887218rem + 3.7593984962vw, 4.375rem);
}
.top-data_chart .chart3_val--1 {
  top: 15%;
  right: -5%;
}
.top-data_chart .chart3_val--2 {
  bottom: -5%;
  left: 0;
}
.top-data_chart .chart3_val--3 {
  top: 0;
  left: -5%;
}
.top-data_chart__chart3_n {
  width: 100%;
  text-align: right;
}

.top-data_male_and_female_ratio {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: clamp(15.625rem, -2.420112782rem + 37.5939849624vw, 28.125rem);
  gap: clamp(0.625rem, 0.1182432432rem + 2.1621621622vw, 1.875rem);
}
@media screen and (max-width: 767px) {
  .top-data_male_and_female_ratio {
    width: 100%;
    box-sizing: border-box;
  }
}
.top-data_male_and_female_ratio .top-data_chart {
  width: 100%;
}

.top-data_blocks {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.top-data_block {
  display: grid;
  gap: 16px;
}
@media screen and (min-width: 768px) {
  .top-data_block {
    grid-template-columns: clamp(12.5rem, 3.477443609rem + 18.7969924812vw, 18.75rem) clamp(10.625rem, 0.4295112782rem + 21.2406015038vw, 17.6875rem) 1fr;
    grid-template-rows: repeat(6, auto);
  }
  .top-data_block .div1 {
    grid-area: 1/1/3/2;
  }
  .top-data_block .div2 {
    grid-area: 3/1/5/2;
  }
  .top-data_block .div3 {
    grid-area: 5/1/7/2;
  }
  .top-data_block .div4 {
    grid-area: 1/2/4/3;
  }
  .top-data_block .div5 {
    grid-area: 4/2/7/3;
  }
  .top-data_block .div6 {
    grid-area: 1/3/7/4;
  }
}

.top-data_block2 {
  display: grid;
  gap: 16px;
}
@media screen and (min-width: 768px) {
  .top-data_block2 {
    grid-template-columns: 1fr clamp(12.5rem, 3.477443609rem + 18.7969924812vw, 18.75rem) 1fr;
    grid-template-rows: repeat(2, 1fr);
  }
  .top-data_block2 .div1 {
    grid-area: 1/1/3/2;
  }
  .top-data_block2 .div2 {
    grid-area: 1/2/2/3;
    padding: 1.25rem 0 1.5rem;
  }
  .top-data_block2 .div3 {
    grid-area: 2/2/3/3;
    padding: 1.25rem 0 1.5rem;
  }
  .top-data_block2 .div4 {
    grid-area: 1/3/3/4;
  }
}

.top-staff_voice .el-heading2 {
  margin-bottom: clamp(0.625rem, 0.3716216216rem + 1.0810810811vw, 1.25rem);
}

.top-staff_cards {
  display: grid;
  flex-wrap: wrap;
  margin-block: clamp(2.8125rem, 1.6722972973rem + 4.8648648649vw, 5.625rem) clamp(3.4375rem, 2.0439189189rem + 5.9459459459vw, 6.875rem);
  column-gap: clamp(0.9375rem, -0.4158834586rem + 2.8195488722vw, 1.875rem);
  row-gap: clamp(1.875rem, -0.8317669173rem + 5.6390977444vw, 3.75rem);
  grid-template-columns: repeat(4, 1fr);
}
@media screen and (max-width: 767px) {
  .top-staff_cards {
    column-gap: 30px;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 768px) and (max-width: 980px) {
  .top-staff_cards {
    grid-template-columns: repeat(3, 1fr);
  }
}
.top-staff_cards a {
  transition: 0.3s;
}
.top-staff_cards a:hover {
  opacity: 0.7;
}

.top-staff_card {
  position: relative;
  width: 100%;
}
.top-staff_card__num {
  position: absolute;
  top: 0;
  left: 0;
  color: #ea5514;
  line-height: 1;
}
.top-staff_card--t2 .top-staff_card__num {
  color: #f38e00;
}
.top-staff_card__num span {
  font-weight: 700;
  font-size: clamp(2rem, 1.5439189189rem + 1.9459459459vw, 3.125rem);
  font-family: "Antonio", serif;
}
.top-staff_card__num::before {
  font-weight: 100;
  font-size: clamp(1.375rem, 1.0202702703rem + 1.5135135135vw, 2.25rem);
  content: "＃";
}
.top-staff_card__pic {
  display: block;
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  mask-size: cover;
  mask-image: url("../img/top/staff_layer.svg");
  mask-repeat: no-repeat;
  mask-position: 0 center;
}
.top-staff_card__pic img {
  width: 100%;
  max-width: none;
}
.top-staff_card__job {
  display: grid;
  justify-content: end;
  align-items: end;
  position: absolute;
  right: 10px;
  bottom: 7px;
  width: 90%;
  height: 50%;
  padding-right: 10px;
  padding-bottom: clamp(0.25rem, 0.1486486486rem + 0.4324324324vw, 0.5rem);
  border-radius: 6px;
  background-color: #ea5514;
  color: #fff;
  font-size: clamp(0.6875rem, -0.4609375rem + 1.875vw, 1.0625rem);
  line-height: 1;
  text-align: right;
}
.lower-page .top-staff_card__job {
  font-size: clamp(0.6875rem, -0.4609375rem + 1.875vw, 1.0rem);
}
@media screen and (max-width: 767px) {
  .top-staff_card__job {
    right: 0;
    bottom: 0;
    z-index: 1;
    width: 100%;
    height: auto;
    padding: 5px;
    border-radius: 0 0 4px 4px;
    box-sizing: border-box;
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 980px) {
  .top-staff_card__job {
    font-size: clamp(0.8125rem, -0.2836538462rem + 2.1978021978vw, 1.0625rem);
  }
}
.top-staff_card--t2 .top-staff_card__job {
  background-color: #f38e00;
}
.top-staff_card__date {
  padding-right: 20px;
  font-size: clamp(0.6875rem, 0.5861486486rem + 0.4324324324vw, 0.9375rem);
  line-height: 1;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .top-staff_card__date {
    margin-top: 5px;
    padding-right: 5px;
  }
}

.top-human_resources .el-heading2 {
  margin-bottom: clamp(1.875rem, 1.1148648649rem + 3.2432432432vw, 3.75rem);
}

.top-resources {
  display: flex;
  flex-direction: column;
  max-width: 526px;
  margin-top: clamp(3.125rem, 1.8581081081rem + 5.4054054054vw, 6.25rem);
  margin-inline: auto;
  gap: clamp(1.5625rem, 0.9290540541rem + 2.7027027027vw, 3.125rem);
}
.top-resources__pic {
  text-align: center;
}
.top-resources__cont {
  display: flex;
  flex-direction: column;
  border-top: 1px solid rgba(35, 24, 21, 0.25);
}
.top-resources__cont li {
  border-bottom: 1px solid rgba(35, 24, 21, 0.25);
  padding: 16px;
  padding-right: 0;
}
.top-resources__cont dl {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .top-resources__cont dl {
    flex-direction: column;
    gap: 10px;
  }
}
@media screen and (min-width: 768px) {
  .top-resources__cont dl dt, .top-resources__cont dl dd {
    width: 100%;
  }
}
.top-resources__cont dl dt {
  font-size: 27px;
  display: flex;
  align-items: center;
  letter-spacing: 0.1em;
}
.top-resources__cont dl dt::before {
  content: "";
  background-color: #f38e00;
  margin-right: 15px;
  width: 20px;
  aspect-ratio: 1;
  flex-shrink: 0;
  display: inline-block;
  border-radius: 50%;
}
.top-resources__cont dl dd {
  display: flex;
  align-items: center;
  font-size: 18px;
  gap: 30px;
  letter-spacing: 0.075em;
}
@media screen and (max-width: 767px) {
  .top-resources__cont dl dd {
    flex-direction: column;
    text-align: center;
    gap: 10px;
  }
}
.top-resources__cont dl dd::before {
  content: "";
  background-color: #b5b5b6;
  width: 12px;
  height: 16px;
  flex-shrink: 0;
  display: inline-block;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
@media screen and (max-width: 767px) {
  .top-resources__cont dl dd::before {
    transform: rotate(90deg);
  }
}