/*====================================
  page: local
=====================================*/
/*====================================
  color
=====================================*/
/*====================================
  font-family
=====================================*/
/*====================================
  font-size (fluid)
=====================================*/
/*====================================
  font-size variables
=====================================*/
/*====================================
  font-weight
=====================================*/
/*====================================
  font-size utility classes
=====================================*/
/*====================================
  letter-spacing
=====================================*/
/*====================================
  mt
=====================================*/
/*====================================
  mb
=====================================*/
/*====================================
  ml
=====================================*/
/*====================================
  mr
=====================================*/
/*====================================
  pt
=====================================*/
/*====================================
  pb
=====================================*/
/*====================================
  pl
=====================================*/
/*====================================
  pr
=====================================*/
/*====================================
  spacing utility classes
=====================================*/
/*====================================
  breakpoints
=====================================*/
.local-extras-slider {
  --local-extras-slide-gap: 12px;
  position: relative;
  width: 100%;
  flex-wrap: nowrap;
  overflow: hidden;
}
.local-extras-slider .works-slider__viewport {
  overflow: hidden;
  width: 100%;
}
.local-extras-slider .works-slider__track {
  display: flex;
  align-items: flex-start;
  gap: var(--local-extras-slide-gap);
}
.local-extras-slider .works-slider__slide {
  flex: 0 0 auto;
  width: auto;
  display: flex;
  height: auto;
  align-items: flex-start;
  align-self: flex-start;
}
.local-extras-slider [class$=__extra-figure] {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin: 0;
  width: fit-content;
  max-width: 100%;
  height: auto;
}
.local-extras-slider [class$=__extra-img] {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 160px;
  height: 160px;
  object-fit: contain;
  object-position: center;
  max-width: none;
}

#local .local-intro__inr {
  position: relative;
  z-index: 1;
}
#local .local-intro__bg {
  position: absolute;
  z-index: -1;
  display: block;
  pointer-events: none;
}
#local .local-intro__bg--09 {
  top: 0;
  left: -10%;
  transform: translateX(-100%);
  width: clamp(64px, 20vw, 206px);
  height: auto;
}
@media (max-width: 768px) {
  #local .local-intro__bg--09 {
    left: 0;
    transform: translateX(-50%);
  }
}
#local .local-intro__bg--03 {
  bottom: 0;
  right: 0;
  transform: translate(100%, 50%);
  width: clamp(64px, 20vw, 192px);
  height: auto;
  z-index: 2;
}
@media (max-width: 768px) {
  #local .local-intro__bg--03 {
    transform: translate(-50%, 75%);
  }
}
#local .local-intro__bg img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
#local .local-history {
  position: relative;
  color: #ffffff;
}
#local .local-history__list {
  display: flex;
  flex-direction: column;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 64px;
}
@media (min-width: 768px) {
  #local .local-history__list {
    gap: 96px;
  }
}
#local .local-history__item {
  display: grid;
  grid-template-columns: auto 1fr;
  row-gap: 12px;
}
@media (min-width: 768px) {
  #local .local-history__item {
    grid-template-columns: 96px 1fr;
    column-gap: 40px;
    align-items: stretch;
  }
}
#local .local-history__item:first-child .local-history__year::before {
  content: "";
  position: absolute;
  left: 50%;
  width: 1px;
  height: calc(clamp(70px, 70px + 90 * (100vw - 375px) / 905, 160px) - 40px);
  background-color: #ffffff;
  transform: translateX(-50%);
  bottom: calc(100% + 20px);
}
@media (max-width: 768px) {
  #local .local-history__item:first-child .local-history__year::before {
    left: 1em;
  }
}
#local .local-history__item:last-child .local-history__year::after {
  height: calc(100% + 80px);
}
@media (max-width: 768px) {
  #local .local-history__item:last-child {
    left: 1em;
  }
}
#local .local-history__year {
  position: relative;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: clamp(24px, 24px + 24 * (100vw - 375px) / 905, 48px);
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0;
  color: #ffffff;
}
#local .local-history__year::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 1px;
  height: 100%;
  background-color: #ffffff;
  transform: translateX(-50%);
}
#local .local-history__year::after {
  top: calc(1em + 20px);
  height: 100%;
}
@media (max-width: 768px) {
  #local .local-history__year::after {
    left: 1em;
  }
}
#local .local-history__body {
  position: relative;
}
#local .local-history__ttl {
  font-size: clamp(18px, 18px + 4 * (100vw - 375px) / 905, 22px);
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 900;
  line-height: 1.45;
  margin-bottom: clamp(14px, 14px + 2 * (100vw - 375px) / 905, 16px);
  color: #ffffff;
  padding-top: clamp(28px, 28px + 12 * (100vw - 375px) / 905, 40px);
  text-shadow: 5px 5px 0 rgba(0, 0, 0, 0.07);
}
@media (max-width: 768px) {
  #local .local-history__ttl {
    padding-top: 2em;
  }
}
#local .local-history__ttl-sub {
  font-weight: 700;
  font-size: clamp(12px, 12px + 3 * (100vw - 375px) / 905, 15px);
}
#local .local-history__txt {
  font-weight: 700;
  color: #ffffff;
}
#local .local-history__logo {
  display: block;
  width: clamp(140px, 24vw, 200px);
  height: auto;
  margin: 16px 0 0 auto;
  pointer-events: none;
}
@media (min-width: 768px) {
  #local .local-history__logo {
    margin-top: 24px;
  }
}
#local .local-history__note {
  position: relative;
  padding-left: clamp(20px, 10vw, 100px);
  padding-right: clamp(20px, 10vw, 100px);
}
#local .local-history__note::before {
  background-color: #ffffff;
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: calc(100% + 80px);
  z-index: -1;
}
#local .local-history__note-img {
  position: absolute;
  display: block;
  height: auto;
  object-fit: contain;
}
#local .local-history__note-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
#local .local-history__note-img--01 {
  top: 0;
  left: 0;
  transform: translate(-50%, -75%);
  width: clamp(80px, 12vw, 212px);
}
@media (max-width: 768px) {
  #local .local-history__note-img--01 {
    transform: translate(0, -50%);
  }
}
#local .local-history__note-img--02 {
  top: 50%;
  right: 0;
  transform: translateX(50%);
  width: clamp(60px, 10vw, 152px);
}
@media (max-width: 768px) {
  #local .local-history__note-img--02 {
    transform: translateX(35%);
  }
}
#local .local-history__bg {
  position: absolute;
  z-index: -1;
  display: block;
  pointer-events: none;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
}
#local .local-history__bg img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
#local .local-history__bg--01 {
  top: 20%;
  max-width: 1357px;
}
#local .local-history__bg--02 {
  max-width: 1445px;
  top: 30%;
  right: 0;
}
#local .local-action {
  position: relative;
}
#local .local-action__slider .works-tabs__list {
  display: none;
}
#local .local-action__slider .triangle-blue,
#local .local-action__slider .works-img {
  display: none;
}
#local .local-action__slider .works-tabs__slider {
  position: relative;
}
#local .local-action__slider .works-slider__viewport {
  overflow: hidden;
  padding-top: 0;
}
#local .local-action__slider .works-slider__track > .works-slider__slide {
  flex: 0 0 100%;
  width: 100%;
  box-sizing: border-box;
}
#local .local-action__slider .works-slider__btn {
  width: clamp(24px, 24px + 24 * (100vw - 375px) / 905, 48px);
  height: clamp(24px, 24px + 24 * (100vw - 375px) / 905, 48px);
}
#local .local-action__slider .works-slider__btn--next {
  transform: translateX(50%);
  right: 0;
}
#local .local-action__slider .works-slider__btn--prev {
  transform: translateX(-50%);
  left: 0;
}
@media (max-width: 768px) {
  #local .local-action__slider .works-slider__btn--next,
  #local .local-action__slider .works-slider__btn--prev {
    top: auto;
    bottom: 0;
    transform: translate(-50%, 50%);
  }
  #local .local-action__slider .works-slider__btn--next {
    right: auto;
    left: calc(50% + clamp(19px, 19px + 24 * (100vw - 375px) / 905, 43px));
  }
  #local .local-action__slider .works-slider__btn--prev {
    left: calc(50% - clamp(19px, 19px + 24 * (100vw - 375px) / 905, 43px));
  }
}
#local .local-slide {
  position: relative;
  width: 100%;
  border: 1px solid #1d1b33;
  background-color: #ffffff;
  padding: 32px 40px 40px;
}
@media (max-width: 768px) {
  #local .local-slide {
    padding: 24px 20px 32px;
  }
}
#local .local-slide__head {
  margin-bottom: clamp(28px, 28px + 12 * (100vw - 375px) / 905, 40px);
}
#local .local-slide__head .works-card__num {
  position: absolute;
  top: 0;
  left: 2.5%;
  transform: translateY(-20%);
  flex-shrink: 0;
  z-index: 2;
  font-size: clamp(54px, 54px + 58 * (100vw - 375px) / 905, 112px);
  line-height: 1;
  width: max-content;
  background-color: #ffffff;
  padding: 0 4px;
  box-sizing: content-box;
}
#local .local-slide__head .works-card__num .num {
  position: absolute;
  left: 16px;
  top: 0;
  transform: translateY(-20%);
  display: block;
  width: 0.55em;
  height: auto;
  object-fit: contain;
  pointer-events: none;
}
#local .local-slide__head .works-card__num .txt {
  position: relative;
  display: block;
  margin: 0;
  padding-left: 0.2em;
  font-family: "Josefin Sans", sans-serif;
  font-style: italic;
  font-size: 1em;
  letter-spacing: 0;
  color: #0172fd;
  line-height: 1;
}
@media (max-width: 960px) {
  #local .local-slide__head .works-card__num {
    font-size: 80px;
  }
}
#local .local-slide__tag {
  margin-right: 0;
  margin-left: auto;
  width: fit-content;
  padding: 10px 20px;
  background-color: #0172fd;
  color: #ffffff;
  font-size: clamp(11px, 11px + 3 * (100vw - 375px) / 905, 14px);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
}
@media (max-width: 768px) {
  #local .local-slide__tag {
    padding: 8px 14px;
    font-size: clamp(10px, 10px + 2 * (100vw - 375px) / 905, 12px);
  }
}
#local .local-slide__body .local-slide__cols {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 40px;
  align-items: center;
}
#local .local-slide__body .local-slide__cols:not(:has(.local-slide__visual)), #local .local-slide__body .local-slide__cols:not(:has(.local-slide__content)) {
  grid-template-columns: 1fr;
}
@media (max-width: 768px) {
  #local .local-slide__body .local-slide__cols {
    display: flex;
    flex-direction: column;
    gap: 32px;
  }
}
#local .local-slide__body .local-slide__visual {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
}
@media (max-width: 768px) {
  #local .local-slide__body .local-slide__visual {
    display: contents;
  }
}
#local .local-slide__body .local-slide__thumb {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 100%;
}
@media (max-width: 768px) {
  #local .local-slide__body .local-slide__thumb {
    order: 1;
  }
}
#local .local-slide__body .local-slide__content {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
}
@media (max-width: 768px) {
  #local .local-slide__body .local-slide__content {
    order: 2;
  }
}
#local .local-slide__body .local-slide__extras {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: stretch;
}
@media (max-width: 768px) {
  #local .local-slide__body .local-slide__extras {
    order: 3;
  }
}
#local .local-slide__body .local-slide__extras--single .local-slide__extra {
  flex: 0 1 auto;
  width: fit-content;
  max-width: 100%;
}
#local .local-slide__body .local-slide__extra-figure {
  background-color: #ededed;
  padding: 4px;
}
#local .local-slide__body .local-slide__extra {
  margin: 0;
  flex: 1 1 calc(33.333% - 8px);
  min-width: 0;
  background-color: #ededed;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#local .local-slide__body .local-slide__extra .local-slide__extra-img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 160px;
  height: 160px;
  object-fit: contain;
  object-position: center;
}
#local .local-slide__body .local-slide__thumb .local-slide__img {
  display: block;
  width: 100%;
  object-fit: contain;
  object-position: center;
}
#local .local-slide__body .local-slide__copy {
  margin: 0;
  font-size: clamp(18px, 18px + 8 * (100vw - 375px) / 905, 26px);
  font-weight: 600;
  line-height: 1.7;
  color: #0172fd;
  white-space: pre-line;
}
@media (max-width: 1024px) {
  #local .local-slide__body .local-slide__copy {
    font-size: clamp(16px, 16px + 4 * (100vw - 375px) / 905, 20px);
  }
}
#local .local-slide__body .local-slide__ttl {
  margin: 0;
  font-size: clamp(20px, 20px + 20 * (100vw - 375px) / 905, 40px);
  font-weight: 900;
  width: fit-content;
  color: #1d1b33;
  padding-bottom: 4px;
  border-bottom: 2px solid #181b39;
}
@media (max-width: 768px) {
  #local .local-slide__body .local-slide__ttl {
    font-size: clamp(20px, 20px + 12 * (100vw - 375px) / 905, 32px);
  }
}
#local .local-slide__body .local-slide__free .local-blocks {
  gap: 8px;
}
#local .local-slide__body .local-slide__free .local-block__text {
  color: #1d1b33;
  font-size: clamp(11px, 11px + 3 * (100vw - 375px) / 905, 14px);
  font-weight: 700;
}
#local .local-slide__body .local-slide__free .local-block__figure {
  margin: 0;
}
#local .local-slide__body .local-slide__free .local-block__img {
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
}
#local .local-slide__body .local-slide__voice {
  margin-top: 40px;
}
@media (max-width: 768px) {
  #local .local-slide__body .local-slide__voice {
    margin-top: 32px;
  }
}

#local-single .local-single__cols {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 40px;
  align-items: start;
}
#local-single .local-single__cols:not(:has(.local-single__visual)) {
  grid-template-columns: 1fr;
}
@media (max-width: 768px) {
  #local-single .local-single__cols {
    display: flex;
    flex-direction: column;
    gap: 32px;
  }
}
#local-single .local-single__visual {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media (max-width: 768px) {
  #local-single .local-single__visual {
    display: contents;
  }
}
@media (max-width: 768px) {
  #local-single .local-single__thumb {
    order: 1;
  }
}
#local-single .local-single__thumb img {
  width: 100%;
  height: auto;
  display: block;
}
@media (max-width: 768px) {
  #local-single .local-single__content {
    order: 2;
  }
}
#local-single .local-single__extras {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
@media (max-width: 768px) {
  #local-single .local-single__extras {
    order: 3;
  }
}
#local-single .local-single__extras--single .local-single__extra {
  flex: 0 1 auto;
  width: fit-content;
  max-width: 100%;
}
#local-single .local-single__extra {
  flex: 1 1 calc(33.333% - 8px);
  margin: 0;
  min-width: 0;
}
#local-single .local-single__extra .local-single__extra-img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 160px;
  height: 160px;
  object-fit: contain;
  object-position: center;
}
#local-single .local-single__copy {
  font-size: clamp(14px, 14px + 4 * (100vw - 375px) / 905, 18px);
  font-weight: 700;
  line-height: 1.7;
  color: #0172fd;
  white-space: pre-line;
}
#local-single .local-single__blocks .local-block__text {
  font-size: clamp(11px, 11px + 3 * (100vw - 375px) / 905, 14px);
  font-weight: 700;
}
#local-single .local-single__voice {
  display: flex;
  align-items: center;
  gap: 64px;
  background-color: #f5f5f5;
  border: 2.5px solid #d8dadb;
  padding: 40px 100px;
}
#local-single .local-single__voice img {
  width: 150px;
  height: auto;
  object-fit: contain;
  flex-shrink: 0;
}
#local-single .local-single__voice .works-card__voice-txt {
  font-size: clamp(12px, 12px + 3 * (100vw - 375px) / 905, 15px);
  letter-spacing: 0.05em;
  line-height: 1.75;
  white-space: pre-line;
  margin: 0;
}
@media (max-width: 1024px) {
  #local-single .local-single__voice {
    padding: 24px 40px;
  }
}
@media (max-width: 640px) {
  #local-single .local-single__voice {
    padding: 16px;
    gap: 24px;
  }
  #local-single .local-single__voice img {
    width: 64px;
  }
}
@media (max-width: 480px) {
  #local-single .local-single__voice img {
    width: 56px;
  }
}

/*# sourceMappingURL=local.css.map */
