@charset "UTF-8";

.company-pickup-list {
  display: grid;
  gap: 40px;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, auto);
  margin-top: 32px;
}

@media screen and (max-width: 520px) {
  .company-pickup-list {
    display: flex;
    flex-direction: column;
  }
}

.company-pickup-list a {
  display: flex;
  flex-direction: column;
  position: relative;
  height: 100%;
  transition: opacity 0.2s ease-out;
}

.company-pickup-list a::after {
  transition: border 0.2s ease-out;
}

@media (any-hover: hover) {
  .company-pickup-list a:hover {
    opacity: 0.7;
    text-decoration: none;
  }
  .company-pickup-list a:hover::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 1px solid #000;
    box-sizing: border-box;
  }
  .company-pickup-list a:hover .company-pickup-list__title {
    text-decoration: underline;
  }
}

.company-pickup-list a[target="_blank"] .company-pickup-list__title span::after, .company-pickup-list a.c-link-icon .company-pickup-list__title span::after {
  display: none;
}

.company-pickup-list__item {
  background-color: #111111;
}

.company-pickup-list__item--large {
  grid-column: 1;
  grid-row: 1 / 3;
}

.company-pickup-list__body {
  order: 2;
  padding: 32px;
  color: #fff;
  background-color: #111111;
}

@media screen and (max-width: 1099px) {
  .company-pickup-list__body {
    padding: 24px;
  }
}

.company-pickup-list__body p {
  margin-top: 12px;
  font-size: 1.6rem;
  line-height: 1.7;
}

.company-pickup-list__body p::before {
  display: block;
  width: 0;
  height: 1px;
  margin-bottom: calc(-1px + (1 - 1.4) * 0.45em);
  content: "";
}

.company-pickup-list__body p::after {
  display: block;
  width: 0;
  height: 1px;
  margin-top: calc(-1px + (1 - 1.4) * 0.55em);
  content: "";
}

.company-pickup-list__title {
  font-size: 2.1rem;
  font-weight: 500;
  line-height: 1.4;
}

.company-pickup-list__title::before {
  display: block;
  width: 0;
  height: 1px;
  margin-bottom: calc(-1px + (1 - 1.4) * 0.45em);
  content: "";
}

.company-pickup-list__title::after {
  display: block;
  width: 0;
  height: 1px;
  margin-top: calc(-1px + (1 - 1.4) * 0.55em);
  content: "";
}

.company-pickup-list__title span::after {
  content: "";
  display: inline-block;
  width: 0.5em;
  height: 1em;
  margin: 0 0 0.2em 0.5em;
  vertical-align: middle;
  background: url("../svg/icon_angle-right-white.svg") no-repeat 0 0;
  background-size: contain;
}

.company-pickup-list__title span.c-icon::after {
    content: none;
}

.company-pickup-list__media img {
  width: 100%;
  height: auto;
}

.index-news .index-section__inner {
  margin-bottom: 100px;
}

@media screen and (max-width: 519px) {
  .index-news .index-section__inner {
    margin-bottom: 84px;
  }
}

.company-category-list {
  display: grid;
  gap: 4px;
  grid-template-columns: repeat(6, 0.5fr);
  grid-template-rows: repeat(2, auto);
  max-width: 1440px;
  margin: 0 auto;
}

@media screen and (max-width: 520px) {
  .company-category-list {
    display: flex;
    flex-direction: column;
    grid-template-columns: none;
  }
}
.company-category-list__item:nth-child(1) {
  grid-column: 1 / 4;
  grid-row: 1 / 2;
}

.company-category-list__item:nth-child(2) {
  grid-column: 4 / 7;
  grid-row: 1 / 2;
}

.company-category-list__item:nth-child(3) {
  grid-column: 1 / 3;
  grid-row: 2 / 3;
}

.company-category-list__item:nth-child(4) {
  grid-column: 3 / 5;
  grid-row: 2 / 3;
}

.company-category-list__item:nth-child(5) {
  grid-column: 5 / 7;
  grid-row: 2 / 3;
}

.company-category-list a {
  display: block;
  position: relative;
  width: 100%;
  transition: opacity 0.2s ease-out;
  overflow: hidden;
}

@media screen and (max-width: 1099px) {
  .company-category-list a {
    display: flex;
    flex-direction: column;
    height: 100%;
    background-color: #000;
    overflow: visible;
  }
}

.company-category-list a::after {
  transition: border 0.2s ease-out;
}

@media (any-hover: hover) {
  .company-category-list a:hover {
    opacity: 0.7;
    text-decoration: none;
  }
  .company-category-list a:hover::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 1px solid #000;
    box-sizing: border-box;
    z-index: 3;
  }
  .company-category-list a:hover .company-category-list__title {
    text-decoration: underline;
  }
}

.company-category-list__item {
  display: flex;
}

@media screen and (max-width: 1099px) {
  .company-category-list__item {
    display: block;
  }
}

@media print, (min-width: 1099px) {
  .company-category-list__item:nth-child(1) a::before, .company-category-list__item:nth-child(2) a::before {
    content: "";
    display: block;
    padding-top: calc(100% * (738 / 1436));
  }
}

@media print, (min-width: 1099px) {
  .company-category-list__item:nth-child(3) a::before, .company-category-list__item:nth-child(4) a::before, .company-category-list__item:nth-child(5) a::before {
    content: "";
    display: block;
    padding-top: calc(100% * (738 / 956));
  }
}
.company-category-list__body {
  position: absolute;
  bottom: 0;
  display: flex;
  justify-content: flex-end;
  flex-direction: column;
  width: 100%;
  height: 100%;
  color: #fff;
  box-sizing: border-box;
  z-index: 2;
}

@media screen and (max-width: 1099px) {
  .company-category-list__body {
    position: initial;
    display: block;
    order: 2;
    padding: 24px;
    background-color: #000;
  }
}

.company-category-list__body p {
  margin-top: 16px;
  font-size: 1.6rem;
  line-height: 1.7;
}

.company-category-list__body p::before {
  display: block;
  width: 0;
  height: 1px;
  margin-bottom: calc(-1px + (1 - 1.4) * 0.45em);
  content: "";
}

.company-category-list__body p::after {
  display: block;
  width: 0;
  height: 1px;
  margin-top: calc(-1px + (1 - 1.4) * 0.55em);
  content: "";
}

@media screen and (max-width: 1099px) {
  .company-category-list__body p {
    margin-top: 12px;
  }
}

.company-category-list__bodyInner {
  padding: 32px;
  background-color: rgba(0, 0, 0, 0.65);
}

@media screen and (max-width: 1099px) {
  .company-category-list__bodyInner {
    padding: 0;
    background-color: transparent;
  }
}

.company-category-list__title {
  font-size: 2.1rem;
  font-weight: 500;
  line-height: 1.4;
}

.company-category-list__title::before {
  display: block;
  width: 0;
  height: 1px;
  margin-bottom: calc(-1px + (1 - 1.4) * 0.45em);
  content: "";
}

.company-category-list__title::after {
  display: block;
  width: 0;
  height: 1px;
  margin-top: calc(-1px + (1 - 1.4) * 0.55em);
  content: "";
}

.company-category-list__title span::after {
  content: "";
  display: inline-block;
  width: 0.5em;
  height: 1em;
  margin: 0 0 0.2em 0.5em;
  vertical-align: middle;
  background: url("../svg/icon_angle-right-white.svg") no-repeat 0 0;
  background-size: contain;
}

.company-category-list__media {
  position: absolute;
  top: 0;
  display: inline-block;
  width: 100%;
  height: auto;
  z-index: 1;
}

@media screen and (max-width: 1099px) {
  .company-category-list__media {
    position: initial;
  }
}

.company-category-list__media img {
  width: 100%;
  height: auto;
}

.company-foundation-leadContent {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.company-foundation-leadContent .index-button-block + .company-foundation-lead,
.company-foundation-leadContent .index-button-block + .company-foundation-lead--center {
  margin-top: 100px;
}

@media screen and (max-width: 519px) {
  .company-foundation-leadContent .index-button-block + .company-foundation-lead,
  .company-foundation-leadContent .index-button-block + .company-foundation-lead--center {
    margin-top: 84px;
  }
}

.company-foundation-leadContent + .company-foundation-content__item {
  margin-top: 100px;
}

@media screen and (max-width: 519px) {
  .company-foundation-leadContent + .company-foundation-content__item {
    margin-top: 84px;
  }
}

.company-foundation-lead,
.company-foundation-lead--center {
  margin-top: 32px;
  font-size: 2rem;
  line-height: 1.7;
  color: #222;
  text-align: left;
}

.company-foundation-lead::before,
.company-foundation-lead--center::before {
  display: block;
  width: 0;
  height: 1px;
  margin-bottom: calc(-1px + (1 - 1.4) * 0.45em);
  content: "";
}

.company-foundation-lead::after,
.company-foundation-lead--center::after {
  display: block;
  width: 0;
  height: 1px;
  margin-top: calc(-1px + (1 - 1.4) * 0.55em);
  content: "";
}

.company-foundation-content {
  margin-top: 60px;
}

.company-foundation-content__item .index-heading-a {
  margin-top: 60px;
}

.company-foundation-section {
  display: grid;
  gap: 60px 40px;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 32px;
}

@media screen and (max-width: 1099px) {
  .company-foundation-section {
    display: block;
    grid-template-columns: none;
  }
}

@media screen and (max-width: 519px) {
  .company-foundation-section {
    margin-top: 24px;
  }
}

.company-foundation-section > li {
  display: flex;
  flex-direction: column;
}

@media screen and (max-width: 1099px) {
  .company-foundation-section > li:not(:first-child) {
    margin-top: 44px;
  }
}

.company-foundation-section .company-foundation-text {
  font-size: 1.8rem;
  line-height: 1.44;
  color: #222;
}

.company-foundation-section .company-foundation-text::before {
  display: block;
  width: 0;
  height: 1px;
  margin-bottom: calc(-1px + (1 - 1.4) * 0.45em);
  content: "";
}

.company-foundation-section .company-foundation-text::after {
  display: block;
  width: 0;
  height: 1px;
  margin-top: calc(-1px + (1 - 1.4) * 0.55em);
  content: "";
}

@media screen and (max-width: 519px) {
  .company-foundation-section .company-foundation-text {
    font-size: 1.7rem;
  }
}

.company-foundation-section .company-foundation-text + .company-foundation-text {
  margin-top: 12px;
}

.company-foundation-textRow {
  display: flex;
  gap: 10px;
  align-items: flex-end;
}

.company-foundation-textRow .company-foundation-text--large01 {
  margin-bottom: -14px;
}

.company-foundation-section__content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  padding: 32px 32px 12px;
  background-color: #f3f3f3;
  box-sizing: border-box;
  word-break: break-word;
  overflow-wrap: anywhere;
}

@media screen and (min-width: 1100px) and (max-width: 1229px) {
  .company-foundation-section__content {
    padding: 32px 20px 12px;
  }
}

@media screen and (max-width: 519px) {
  .company-foundation-section__content {
    padding: 28px 12px 12px;
  }
}

.company-foundation-section__heading {
  font-size: 2.3rem;
  font-weight: 500;
  line-height: 1.4;
  color: #000;
  text-align: center;
}

.company-foundation-section__heading::before {
  display: block;
  width: 0;
  height: 1px;
  margin-bottom: calc(-1px + (1 - 1.4) * 0.45em);
  content: "";
}

.company-foundation-section__heading::after {
  display: block;
  width: 0;
  height: 1px;
  margin-top: calc(-1px + (1 - 1.4) * 0.55em);
  content: "";
}

.company-foundation-section__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 20px 0;
  box-sizing: border-box;
}

@media screen and (min-width: 520px) and (max-width: 1099px) {
  .company-foundation-section__body {
    min-height: 220px;
  }
}

@media screen and (max-width: 520px) {
  .company-foundation-section__body {
    min-height: 100px;
  }
}

.company-foundation-section__body dl {
  text-align: center;
}

.company-foundation-section__body dt {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.35;
  color: #000;
  text-align: center;
  margin-bottom: 8px;
}

.company-foundation-section__body dt::before {
  display: block;
  width: 0;
  height: 1px;
  margin-bottom: calc(-1px + (1 - 1.4) * 0.45em);
  content: "";
}

.company-foundation-section__body dt::after {
  display: block;
  width: 0;
  height: 1px;
  margin-top: calc(-1px + (1 - 1.4) * 0.55em);
  content: "";
}

.company-foundation-section__body dt:not(:first-child) {
  margin-top: 24px;
}

.company-foundation-section__body dt.company-foundation-text--medium04-02 {
  margin-bottom: -8px;
}

.company-foundation-section__body dd p {
  margin-top: 0;
  line-height: 1;
}

.company-foundation-section__image {
  margin-top: 20px;
}

.company-foundation-section__image img {
  width: 100%;
  height: auto;
}

.company-foundation-text--large01 {
  font-size: 14.2rem;
  font-weight: 700;
  line-height: 1;
}

@media screen and (min-width: 1100px) and (max-width: 1229px) {
  .company-foundation-text--large01 {
    font-size: 12.2rem;
  }
}

@media screen and (max-width: 520px) {
  .company-foundation-text--large01 {
    font-size: 8.4rem;
  }
}

.company-foundation-text--large02 {
  font-size: 10.2rem;
  font-weight: 700;
}

@media screen and (min-width: 1100px) and (max-width: 1229px) {
  .company-foundation-text--large02 {
    font-size: 8.2rem;
  }
}

@media screen and (max-width: 520px) {
  .company-foundation-text--large02 {
    font-size: 8rem;
  }
}

.company-foundation-text--large03 {
  font-size: 8.5rem;
  font-weight: 700;
}

@media screen and (min-width: 1100px) and (max-width: 1229px) {
  .company-foundation-text--large03 {
    font-size: 7.5rem;
  }
}

@media screen and (max-width: 520px) {
  .company-foundation-text--large03 {
    font-size: 6.4rem;
  }
}

.company-foundation-text--large04 {
  font-size: 8.4rem;
  font-weight: 700;
}

@media screen and (min-width: 1100px) and (max-width: 1229px) {
  .company-foundation-text--large04 {
    font-size: 7.4rem;
  }
}

@media screen and (max-width: 520px) {
  .company-foundation-text--large04 {
    font-size: 6.3rem;
  }
}

.company-foundation-text--large05 {
  font-size: 8rem;
  font-weight: 700;
}

@media screen and (min-width: 1100px) and (max-width: 1229px) {
  .company-foundation-text--large05 {
    font-size: 6rem;
  }
}

@media screen and (max-width: 520px) {
  .company-foundation-text--large05 {
    font-size: 5rem;
  }
}

.company-foundation-text--large06 {
  font-size: 8rem;
  font-weight: 700;
}

@media screen and (min-width: 1100px) and (max-width: 1229px) {
  .company-foundation-text--large06 {
    font-size: 7rem;
  }
}

@media screen and (max-width: 520px) {
  .company-foundation-text--large06 {
    font-size: 4.4rem;
  }
}

.company-foundation-text--medium01 {
  font-size: 4.5rem;
  font-weight: 700;
}

@media screen and (min-width: 1100px) and (max-width: 1229px) {
  .company-foundation-text--medium01 {
    font-size: 3.5rem;
  }
}

@media screen and (max-width: 520px) {
  .company-foundation-text--medium01 {
    font-size: 2.8rem;
  }
}

.company-foundation-text--medium01-02 {
  font-size: 4.4rem;
  font-weight: 700;
}

@media screen and (min-width: 1100px) and (max-width: 1229px) {
  .company-foundation-text--medium01-02 {
    font-size: 3.4rem;
  }
}

.company-foundation-text--medium02 {
  font-size: 4.2rem;
  font-weight: 700;
  line-height: 1;
}

@media screen and (min-width: 1100px) and (max-width: 1229px) {
  .company-foundation-text--medium02 {
    font-size: 3.2rem;
  }
}

@media screen and (max-width: 520px) {
  .company-foundation-text--medium02 {
    font-size: 2.4rem;
  }
}

.company-foundation-text--medium03 {
  font-size: 2.5rem;
  font-weight: 700;
}

@media screen and (max-width: 520px) {
  .company-foundation-text--medium03 {
    font-size: 2.1rem;
  }
}

.company-foundation-text--medium04,
.company-foundation-text--medium04-02 {
  font-size: 2.4rem;
  font-weight: 700;
}

.company-foundation-section__body dl .company-foundation-text--medium04, .company-foundation-section__body dl
.company-foundation-text--medium04-02 {
  font-size: 2.4rem;
  font-weight: 700;
}

.company-foundation-br--large {
  display: none;
}

@media print, (min-width: 1099px) {
  .company-foundation-br--large {
    display: block;
  }
}

.company-foundation-br--medium {
  display: none;
}

@media screen and (min-width: 520px) and (max-width: 1099px) {
  .company-foundation-br--medium {
    display: block;
  }
}

.company-foundation-text--note {
  margin: 0 8px;
  font-size: 1.4rem;
}

.company-foundation-section__list {
  margin: 0 auto;
}

.company-foundation-section__list li {
  font-size: 1.6rem;
  line-height: 1.4;
  color: #222;
  position: relative;
  padding-left: 1.25em;
}

.company-foundation-section__list li:not(:first-child) {
  margin-top: 4px;
}

.company-foundation-section__marker,
.company-foundation-section__marker--02 {
  position: absolute;
  left: 0;
  top: 0;
}

.company-foundation-section__marker--02 {
  font-size: 1.6rem;
}

.company-foundation-section__list--inline {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: flex-end;
  flex-shrink: 0;
  gap: 12px 44px;
  margin-top: 12px;
  box-sizing: border-box;
}

@media screen and (max-width: 519px) {
  .company-foundation-section__list--inline {
    justify-content: center;
  }
}

.company-foundation-section__list--inline li {
  position: relative;
  margin: 0;
  font-size: 1.8rem;
  line-height: 1.7;
  color: #222;
  box-sizing: border-box;
}

.company-foundation-section__list--inline li::before {
  display: block;
  width: 0;
  height: 1px;
  margin-bottom: calc(-1px + (1 - 1.4) * 0.45em);
  content: "";
}

.company-foundation-section__list--inline li::after {
  display: block;
  width: 0;
  height: 1px;
  margin-top: calc(-1px + (1 - 1.4) * 0.55em);
  content: "";
}

.company-foundation-section__list--inline li a::after {
  content: "";
  display: inline-block;
  width: 0.5em;
  height: 1em;
  margin: 0 0 0.2em 0.5em;
  vertical-align: middle;
  background: url("../svg/icon_angle-right.svg") no-repeat 0 0;
  background-size: contain;
}

.company-foundation-section__list--inline li a.c-link-icon::after {
  display: none;
}

.company-foundation-section__list--inline li a[target="_blank"]::after {
  display: none;
}

.company-socialmedia {
  border-bottom: 4px solid #fff;
}

.company-socialmedia__panel {
  background-color: #fff;
  padding: 26px;
  margin: 0 auto;
  max-width: 1000px;
  box-sizing: border-box;
  text-align: center;
}

.company-socialmedia__button-block {
  justify-content: center;
  margin-top: 0;
}

.company-socialmedia__icon--sns {
  display: inline-block;
  position: relative;
  width: 1.06em;
  height: 1.06em;
  line-height: 1;
  margin: 0 0.2em 0.2em 0.6em;
  vertical-align: middle;
}

.company-socialmedia__icon--sns img {
  width: 100%;
  height: auto;
}

.company-socialmedia__text {
  font-size: 1.8rem;
  line-height: 1.9;
  margin-top: 18px;
}

.company-socialmedia-br--medium {
  display: none;
}

@media print, (max-width: 1099px) {
  .company-socialmedia-br--medium {
    display: block;
  }
}

/* -------------------------------------------------------------------------
Print
-------------------------------------------------------------------------- */
@media print {
  .company-pickup-list__item {
    background-color: #fff;
  }
  .company-pickup-list__body {
    background-color: #fff;
  }
  .company-pickup-list__title span::after {
    content: "";
    display: inline-block;
    width: 0.5em;
    height: 1em;
    margin: 0 0 0.2em 0.5em;
    vertical-align: middle;
    background: url("../svg/icon_angle-right.svg") no-repeat 0 0;
    background-size: contain;
  }
  .company-category-list__bodyInner {
    background-color: rgba(0, 0, 0, 0);
  }
}

.js-v-modal.js-v-modal_block::after{
  margin-top: 0;
  height: auto;
}
.js-v-modal.js-v-modal_block::before {
  margin-bottom: 0;
}
.index-hero--typeTextColor02--large .index-hero__title,
.index-hero--typeTextColor02--large .index-hero__text {
    color: #fff;
    text-shadow: 0 0 10px #000;
}

.index-hero--typeTextColor02--large .index-hero__title,
.index-hero--typeTextColor02--large .index-hero__text {
    color: #fff;
    text-shadow: 0 0 10px #000;
}
.company-pickup-list .company-pickup-list__item .js-v-modal:after,
.company-pickup-list .company-pickup-list__item .js-v-modal:before {
  content: none;
}