.p-company {
  padding: 42px 0 0;
  background: #f0efeb;
  color: #1c1c1c;
  font-family: var(--font-mincho)
}
.p-company .l-container {
  max-width: 1078px
}
.p-company__breadcrumb {
  margin-bottom: 66px
}
.p-company__header {
  margin-bottom: 55px
}
.p-company__header p {
  margin: 0 0 5px;
  color: #006464;
  font-size: 14px
}
.p-company__header h1 {
  margin: 0;
  font-size: 40px;
  font-weight: 600
}
.p-company__green-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 150px;
  height: 47px;
  padding: 0 18px;
  background: #006464;
  color: #fff;
  font-size: 14px
}
.p-company__back {
  display: flex;
  justify-content: center;
  margin-top: 80px;
  padding-bottom: 72px
}
.p-company__back a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 190px;
  height: 47px;
  padding: 0 22px;
  background: #78766e;
  color: #fff;
  font-size: 13px
}
.p-company-index__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px
}
.p-company-index__card {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1/1
}
.p-company-index__card.is-message {
  grid-column: 1/-1;
  aspect-ratio: 3.12/1
}
.p-company-index__card a, .p-company-index__card picture, .p-company-index__card img {
  display: block;
  width: 100%;
  height: 100%
}
.p-company-index__card img {
  object-fit: cover;
  transition: transform .35s
}
.p-company-index__card:hover img {
  transform: scale(1.025)
}
.p-company-index__shade {
  position: absolute;
  inset: 0;
  background: rgba(28, 28, 28, .3)
}
.p-company-index__card > a > div {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff
}
.p-company-index__card.is-message > a > div {
  align-items: flex-start;
  padding-left: 95px
}
.p-company-index__card h2 {
  margin: 0 0 22px;
  font-size: 28px;
  font-weight: 600
}
.p-company-message__intro {
  display: grid;
  grid-template-columns: 1fr 420px;
  align-items: center;
  max-width: 880px;
  margin: 0 auto 55px
}
.p-company-message__intro figure {
  margin: 0
}
.p-company-message__intro figure img {
  width: 100%
}
.p-company-message__name p {
  margin: 0 0 15px;
  color: #006464;
  font-size: 14px
}
.p-company-message__name img {
  width: 330px
}
.p-company-message__lead {
  max-width: 820px;
  margin: 0 auto 90px;
  font-family: var(--font-gothic);
  font-size: 16px;
  line-height: 2
}
.p-company-message__lead p {
  margin: 0 0 20px
}
.p-company-message__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: center;
  margin: 0 0 80px
}
.p-company-message__row figure {
  margin: 0
}
.p-company-message__row figure img {
  width: 100%;
  aspect-ratio: 1.2/1;
  object-fit: cover
}
.p-company-message__row div {
  font-family: var(--font-gothic);
  font-size: 16px;
  line-height: 2
}
.p-company-message__row p {
  margin: 0 0 25px
}
.p-company-policy > h2, .p-company-promises h2, .p-company-origin > h2, .p-company-profile section > h2, .p-company-history h2, .p-company-recruit section > h2 {
  margin: 0 0 38px;
  text-align: center;
  font-size: 32px
}
.p-company-policy__visual {
  position: relative;
  width: 700px;
  max-width: 100%;
  height: 670px;
  margin: 0 auto 60px
}
.p-company-policy__paper {
  position: relative;
  z-index: 2;
  width: 445px;
  margin: 0 auto;
  padding: 40px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(0, 0, 0, .12);
  text-align: center;
  color: #006464
}
.p-company-policy__paper > img {
  width: 70px;
  margin: 0 auto 12px
}
.p-company-policy__paper p {
  margin: 12px 0;
  font-size: 15px;
  line-height: 1.7
}
.p-company-policy__paper small, .p-company-policy__paper strong {
  display: block
}
.p-company-policy__paper strong {
  font-size: 27px;
  font-weight: 500
}
.p-company-policy__hands {
  position: absolute;
  z-index: 3;
  top: 345px;
  left: 50%;
  width: 700px;
  max-width: none;
  transform: translateX(-50%);
  pointer-events: none;
}
.p-company-promises {
  padding: 65px 0;
  background: #e1dfd9
}
.p-company-promises__grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 18px
}
.p-company-promises__grid article {
  width: calc((100% - 36px)/3);
  min-height: 330px;
  padding: 28px 24px;
  background: #F0EEEB;
  text-align: center;
  color: #006464
}
.p-company-promises__grid article > p:first-child {
  display: inline-block;
  margin: 0 0 12px;
  padding: 2px 11px;
  border: 1px solid #006464;
  border-radius: 20px;
  font-size: 13px
}
.p-company-promises__grid img {
  width: 64px;
  height: 64px;
  margin: 0 auto 15px
}
.p-company-promises__grid h3 {
  margin: 0 0 16px;
  font-size: 20px;
  line-height: 1.6
}
.p-company-promises__grid article > p:last-child {
  margin: 0;
  text-align: left;
  font-family: var(--font-gothic);
  font-size: 14px;
  line-height: 1.9
}
.p-company-origin {
  padding-top: 70px
}
.p-company-origin__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px
}
.p-company-origin__grid figure {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1.5/1;
  margin: 0 0 28px;
  padding: 24px;
  background: #fff
}
.p-company-origin__grid figure img {
  max-width: 100%;
  max-height: 100%
}
.p-company-origin__grid p {
  margin: 0;
  font-family: var(--font-gothic);
  font-size: 15px;
  line-height: 2
}
.p-company-profile__basic {
  max-width: 820px;
  margin: 0 auto 90px
}
.p-company-profile section > h2 {
  text-align: left
}
.p-company-profile__basic dl {
  margin: 0
}
.p-company-profile__basic dl > div {
  display: grid;
  grid-template-columns: 210px 1fr;
  padding: 17px 0;
  border-bottom: 1px solid #d3d1cb;
  font-family: var(--font-gothic);
  font-size: 15px;
  line-height: 1.8
}
.p-company-profile__basic dt {
  color: #78766e;
  font-weight: 500
}
.p-company-profile__basic dd {
  margin: 0
}
.p-company-profile__stores {
  margin-bottom: 80px
}
.p-company-profile__stores > article {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 60px;
  align-items: center;
  margin-bottom: 40px
}
.p-company-profile__stores h3 {
  margin: 0 0 20px;
  font-size: 28px
}
.p-company-profile__stores dl {
  margin: 0 0 20px;
  font-family: var(--font-gothic);
  font-size: 14px;
  line-height: 1.8
}
.p-company-profile__stores dl > div {
  display: grid;
  grid-template-columns: 80px 1fr;
  margin-bottom: 13px
}
.p-company-profile__stores dd {
  margin: 0
}
.p-company-profile__map iframe {
  display: block;
  width: 100%;
  height: 300px;
  border: 0
}
.p-company-history {
  max-width: 650px;
  margin: 0 auto
}
.p-company-history ol {
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none
}
.p-company-history ol::before {
  content: "";
  position: absolute;
  left: 8px;
  top: 10px;
  bottom: 10px;
  width: 1px;
  background: #d2d0c9
}
.p-company-history li {
  position: relative;
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 20px;
  padding: 12px 0 12px 30px;
  border-bottom: 1px solid #ddd;
  font-family: var(--font-gothic);
  font-size: 15px
}
.p-company-history li::before {
  content: "";
  position: absolute;
  left: 3px;
  top: 20px;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #e1dfd9
}
.p-company-recruit__hero {
  margin: 0 0 55px
}
.p-company-recruit__hero img {
  width: 100%
}
.p-company-recruit__message {
  max-width: 820px;
  margin: 0 auto 65px;
  padding: 35px;
  background: #fff
}
.p-company-recruit__message > h2 {
  text-align: left !important;
  color: #006464;
  font-size: 24px !important;
  margin-bottom: 18px !important
}
.p-company-recruit__message p {
  font-family: var(--font-gothic);
  font-size: 15px;
  line-height: 2
}
.p-company-recruit__support {
  padding: 70px 0;
  background: #e1dfd9
}
.p-company-recruit__benefits, .p-company-recruit__education {
  display: grid;
  grid-template-columns: 1fr 1.25fr;
  gap: 50px;
  align-items: center;
  margin-bottom: 60px
}
.p-company-recruit__benefits h2, .p-company-recruit__education h2 {
  text-align: left !important
}
.p-company-recruit__benefits > div p, .p-company-recruit__education > div p {
  font-family: var(--font-gothic);
  font-size: 15px;
  line-height: 1.9
}
.p-company-recruit__benefits ul, .p-company-recruit__education ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none
}
.p-company-recruit__benefits li, .p-company-recruit__education li {
  padding: 15px 8px;
  background: #fff;
  text-align: center
}
.p-company-recruit__benefits img {
  width: 50px;
  height: 50px;
  margin: 0 auto 8px
}
.p-company-recruit__benefits span {
  font-size: 13px
}
.p-company-recruit__training {
  margin: 0 0 60px
}
.p-company-recruit__training img {
  width: 100%
}
.p-company-recruit__education img {
  width: 58px;
  height: 58px;
  margin: 0 auto 8px
}
.p-company-recruit__education h3 {
  margin: 0 0 4px;
  font-size: 14px
}
.p-company-recruit__education li p {
  margin: 0;
  font-family: var(--font-gothic);
  font-size: 11px;
  line-height: 1.6
}
.p-company-recruit__people > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px
}
.p-company-recruit__people article {
  min-height: 200px;
  padding: 28px;
  background: #fff;
  text-align: center
}
.p-company-recruit__people article > p {
  color: #006464;
  font-size: 20px
}
.p-company-recruit__people article span {
  font-family: var(--font-gothic);
  font-size: 14px;
  line-height: 1.8
}
.p-company-recruit__movie {
  padding: 65px 0;
  text-align: center
}
.p-company-recruit__movie-placeholder {
  display: grid;
  max-width: 720px;
  aspect-ratio: 16/9;
  margin: 20px auto 0;
  place-items: center;
  background: #1c1c1c;
  color: #fff
}
.p-company-recruit__requirements {
  max-width: 900px;
  margin: 0 auto
}
.p-company-recruit__requirements > h2 {
  text-align: left !important
}
.p-company-recruit__requirements dl {
  margin: 0;
  padding: 20px 35px;
  background: #fff
}
.p-company-recruit__requirements dl > div {
  display: grid;
  grid-template-columns: 160px 1fr;
  padding: 15px 0;
  border-bottom: 1px solid #ddd;
  font-family: var(--font-gothic);
  font-size: 14px;
  line-height: 1.8
}
.p-company-recruit__requirements dd {
  margin: 0
}
@media(max-width:767px) {
  .p-company {
    padding-top: 22px
  }
  .p-company .l-container {
    padding-inline: 10px
  }
  .p-company__breadcrumb {
    margin-bottom: 28px;
    font-size: 12px}
  .p-company__header {
    margin-bottom: 27px
  }
  .p-company__header p {
    font-size: 12px}
  .p-company__header h1 {
    font-size: 24px
  }
  .p-company__green-button {
    min-width: 120px;
    height: 38px;
    font-size: 12px}
  .p-company__back {
    margin-top: 42px;
    padding-bottom: 48px
  }
  .p-company__back a {
    min-width: 165px;
    height: 40px;
    font-size: 12px}
  .p-company-index__grid {
    grid-template-columns: 1fr;
    gap: 8px
  }
  .p-company-index__card, .p-company-index__card.is-message {
    grid-column: auto;
    aspect-ratio: 1.7/1
  }
  .p-company-index__card.is-message > a > div, .p-company-index__card > a > div {
    align-items: flex-start;
    padding-left: 24px
  }
  .p-company-index__card h2 {
    margin-bottom: 9px;
    font-size: 20px
  }
  .p-company-message__intro {
    display: flex;
    flex-direction: column-reverse;
    align-items: flex-start;
    margin-bottom: 25px
  }
  .p-company-message__intro figure {
    width: 55%;
    margin-left: auto
  }
  .p-company-message__name {
    margin-top: -85px;
    position: relative;
    z-index: 2
  }
  .p-company-message__name img {
    width: 240px
  }
  .p-company-message__lead {
    margin-bottom: 35px;
    font-size: 15px;
    line-height: 1.9
  }
  .p-company-message__row, .p-company-message__row.is-reverse {
    display: flex;
    flex-direction: column;
    gap: 22px;
    margin-bottom: 35px
  }
  .p-company-message__row.is-reverse {
    flex-direction: column-reverse
  }
  .p-company-message__row div {
    font-size: 15px;
    line-height: 1.9
  }
  .p-company-policy > h2, .p-company-promises h2, .p-company-origin > h2, .p-company-profile section > h2, .p-company-history h2, .p-company-recruit section > h2 {
    margin-bottom: 22px;
    font-size: 22px
  }
  .p-company-policy__visual {
    height: 510px;
  }
  .p-company-policy__paper {
    width: 86%;
    padding: 26px 12px
  }
  .p-company-policy__paper p {
    font-size: 13px}
  .p-company-policy__paper strong {
    font-size: 22px
  }
  .p-company-policy__hands {
    top: 275px;
    width: 112%;
  }
  .p-company-promises {
    padding: 38px 0
  }
  .p-company-promises__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px
  }
  .p-company-promises__grid article {
    width: 100%;
    min-height: 0;
    padding: 24px 20px
  }
  .p-company-promises__grid article > p:last-child {
    text-align: left;
    font-size: 14px;
    line-height: 1.8
  }
  .p-company-origin {
    padding-top: 42px
  }
  .p-company-origin__grid {
    grid-template-columns: 1fr;
    gap: 32px
  }
  .p-company-origin__grid p {
    font-size: 14px;
    line-height: 1.9
  }
  .p-company-profile__basic {
    margin-bottom: 50px
  }
  .p-company-profile section > h2 {
    text-align: left
  }
  .p-company-profile__basic dl > div {
    grid-template-columns: 1fr;
    padding: 12px 0;
    font-size: 14px;
    line-height: 1.8
  }
  .p-company-profile__basic dt {
    margin-bottom: 5px;
    font-weight: 600
  }
  .p-company-profile__stores > article {
    grid-template-columns: 1fr;
    gap: 15px;
    margin-bottom: 40px
  }
  .p-company-profile__stores h3 {
    font-size: 22px
  }
  .p-company-profile__map iframe {
    height: 240px
  }
  .p-company-history li {
    grid-template-columns: 95px 1fr;
    gap: 5px;
    font-size: 13px;
    line-height: 1.7
  }
  .p-company-recruit__hero {
    margin-inline: -10px;
    margin-bottom: 25px
  }
  .p-company-recruit__message {
    padding: 25px 18px
  }
  .p-company-recruit__support {
    padding: 40px 0
  }
  .p-company-recruit__benefits, .p-company-recruit__education {
    grid-template-columns: 1fr;
    gap: 20px
  }
  .p-company-recruit__benefits ul, .p-company-recruit__education ul {
    grid-template-columns: repeat(3, 1fr);
    gap: 6px
  }
  .p-company-recruit__benefits li, .p-company-recruit__education li {
    padding: 10px 4px
  }
  .p-company-recruit__benefits img, .p-company-recruit__education img {
    width: 42px;
    height: 42px
  }
  .p-company-recruit__education h3 {
    font-size: 13px}
  .p-company-recruit__education li p {
    display: block;
    font-size: 12px;
    line-height: 1.5
  }
  .p-company-recruit__people > div {
    grid-template-columns: 1fr;
    gap: 8px
  }
  .p-company-recruit__people article {
    min-height: 150px
  }
  .p-company-recruit__requirements dl {
    padding: 10px 14px
  }
  .p-company-recruit__requirements dl > div {
    grid-template-columns: 1fr;
    font-size: 14px;
    line-height: 1.8
  }
  .p-company-recruit__requirements dt {
    margin-bottom: 5px;
    font-weight: 600
  }
}
