@charset "UTF-8";
#pagetitle {
  --urlSP: url(../images/company/pagetitle_bg_sp.webp);
  --urlPCx1: url(../images/company/pagetitle_bg.webp);
  --urlPCx2: url(../images/company/pagetitle_bg@2x.webp);
}
@media (768px <= width) {
  #pagetitle::before {
    content: "";
    width: calc(50% - 54rem);
    max-width: 42rem;
    height: 42rem;
    position: absolute;
    bottom: -42rem;
    left: 0;
    background: url(../images/company/dec01b.webp) top right no-repeat;
    z-index: 2;
  }
}
#pagetitle:after {
  content: "";
  position: absolute;
  bottom: calc(-200 / var(--spSize) * 100vw);
  left: 0;
  width: 100%;
  height: calc(359 / var(--spSize) * 100vw);
  background: url(../images/company/dec01_sp.webp) center/100% auto no-repeat;
  pointer-events: none;
  z-index: 2;
}
@media (768px <= width) {
  #pagetitle:after {
    height: 71.8rem;
    max-width: 35.9rem;
    width: calc(50% - 60rem);
    left: auto;
    right: 0;
    bottom: -35.8rem;
    background: url(../images/company/dec01a.webp) top left no-repeat;
  }
}

.section__title {
  display: grid;
  gap: calc(25 / var(--spSize) * 100vw) 0;
}
@media (768px <= width) {
  .section__title {
    gap: 2.5rem 0;
    width: 24.5rem;
  }
}
.section__title .en {
  font-size: 1.3rem;
  font-family: var(--ff-oswald);
  color: #0196ff;
  line-height: 1;
}
@media (768px <= width) {
  .section__title .en {
    font-size: 2.2rem;
  }
}
.section__title .ja {
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--blue);
  line-height: 1;
}
@media (768px <= width) {
  .section__title .ja {
    font-size: 4.4rem;
  }
}
.section__text {
  font-size: 1.5rem;
  line-height: 2;
}
* + .section__text {
  margin-top: calc(35 / var(--spSize) * 100vw);
}
@media (768px <= width) {
  .section__text {
    font-size: 1.6rem;
  }
  * + .section__text {
    margin-top: 3rem;
  }
}

.greeting__inner {
  background: url(../images/company/greeting_bg_sp.webp) center bottom/100% auto no-repeat;
  padding-top: calc(200 / var(--spSize) * 100vw);
  padding-left: calc(30 / var(--spSize) * 100vw);
  padding-right: calc(30 / var(--spSize) * 100vw);
  padding-bottom: calc(318 / var(--spSize) * 100vw);
}
@media (768px <= width) {
  .greeting__inner {
    background-image: url(../images/company/greeting_bg.webp);
    background-image: -webkit-image-set(url(../images/company/greeting_bg.webp) 1x, url(../images/company/greeting_bg@2x.webp) 2x);
    background-image: image-set(url(../images/company/greeting_bg.webp) 1x, url(../images/company/greeting_bg@2x.webp) 2x);
    background-size: auto;
    padding-top: 17rem;
    padding-left: max(50% - 60rem, 5rem);
    padding-right: max(50% - 60rem, 5rem);
    padding-bottom: 18.5rem;
    display: grid;
    grid-template: "a c" auto "b c" auto ". c" auto/auto 51.1rem;
    align-items: flex-start;
  }
}
.greeting__copy {
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--blue);
}
@media (768px <= width) {
  .greeting__copy {
    grid-area: a;
    font-size: 4.8rem;
  }
}
.greeting__text {
  margin-top: calc(25 / var(--spSize) * 100vw);
  font-size: 1.5rem;
}
@media (768px <= width) {
  .greeting__text {
    grid-area: b;
    width: 60rem;
    margin-top: 0;
    font-size: 1.6rem;
  }
}
.greeting__img {
  width: calc(578 / var(--spSize) * 100vw);
  margin: calc(90 / var(--spSize) * 100vw) auto 0;
}
@media (768px <= width) {
  .greeting__img {
    grid-area: c;
    margin: 0;
    transform: translateX(7rem);
  }
}
@media (768px <= width){
  .greeting__copy {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .greeting__text {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .greeting__img {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 2;
  }
}

.profile__inner {
  padding-top: calc(120 / var(--spSize) * 100vw);
  padding-left: calc(30 / var(--spSize) * 100vw);
  padding-right: calc(30 / var(--spSize) * 100vw);
  padding-bottom: calc(150 / var(--spSize) * 100vw);
  position: relative;
}
@media (768px <= width) {
  .profile__inner {
    padding: 9rem max(50% - 60rem, 5rem) 15rem;
  }
}
.profile__inner::before {
  content: "";
  width: calc(418 / var(--spSize) * 100vw);
  height: calc(418 / var(--spSize) * 100vw);
  position: absolute;
  top: 0;
  left: 0;
  background: url(../images/company/profile_dec_top_sp.webp) 0 0/contain no-repeat;
  pointer-events: none;
}
@media (768px <= width) {
  .profile__inner::before {
    width: calc(50% - 19.1rem);
    max-width: 77.1rem;
    height: 77.1rem;
    background: url(../images/company/profile_dec_top.webp) right top no-repeat;
  }
}
.profile__inner::after {
  content: "";
  width: calc(462 / var(--spSize) * 100vw);
  height: calc(507 / var(--spSize) * 100vw);
  position: absolute;
  right: 0;
  bottom: 0;
  background: url(../images/company/profile_dec_bottom_sp.webp) 0 0/contain no-repeat;
  pointer-events: none;
}
@media (768px <= width) {
  .profile__inner::after {
    width: calc(50% - 1rem);
    max-width: 95rem;
    height: 101.6rem;
    background: url(../images/company/profile_dec_bottom.webp) left bottom no-repeat;
    background-image: -webkit-image-set(url(../images/company/profile_dec_bottom.webp) 1x, url(../images/company/profile_dec_bottom@2x.webp) 2x);
    background-image: image-set(url(../images/company/profile_dec_bottom.webp) 1x, url(../images/company/profile_dec_bottom@2x.webp) 2x);
  }
}
.profile__contents {
  margin-top: calc(40 / var(--spSize) * 100vw);
  position: relative;
  z-index: 2;
}
@media (768px <= width) {
  .profile__contents {
    margin-top: 4.5rem;
  }
}
@media (768px <= width) {
  .profile__contents > dl {
    display: grid;
    grid-template-columns: 17rem auto;
  }
}
.profile__contents > dl > dt, .profile__contents > dl > dd {
  padding: calc(30 / var(--spSize) * 100vw);
  font-size: 1.5rem;
  line-height: 2;
  letter-spacing: -0.02em;
}
@media (768px <= width) {
  .profile__contents > dl > dt, .profile__contents > dl > dd {
    padding: 2.8rem;
    font-size: 1.6rem;
    line-height: 2.5;
  }
}
.profile__contents > dl > dt {
  border-top: 1px solid #ccc;
  background-color: #e1ebff;
  color: var(--blue);
  font-weight: 700;
}
.profile__contents > dl > dt:nth-last-child(1 of dt) {
  border-bottom: 1px solid #ccc;
}
@media (768px <= width) {
  .profile__contents > dl > dd {
    border-top: 1px solid #ccc;
  }
}
.profile__contents > dl > dd.office {
  padding: 0;
}
@media (768px <= width) {
  .profile__contents > dl > dd.office dl {
    display: grid;
    grid-template-columns: 18rem auto;
  }
}
.profile__contents > dl > dd.office dt,
.profile__contents > dl > dd.office dd {
  padding: calc(30 / var(--spSize) * 100vw);
}
@media (768px <= width) {
  .profile__contents > dl > dd.office dt,
  .profile__contents > dl > dd.office dd {
    padding: 2.8rem 0 2.8rem 2.8rem;
  }
}
.profile__contents > dl > dd.office dt {
  font-weight: 700;
}
@media (width < 768px) {
  .profile__contents > dl > dd.office dt {
    padding-bottom: 0;
  }
}
@media (768px <= width) {
  .profile__contents > dl > dd.office dt {
    border-bottom: 1px solid #ccc;
  }
}
.profile__contents > dl > dd.office dd {
  border-bottom: 1px solid #ccc;
}
@media (width < 768px) {
  .profile__contents > dl > dd.office dd {
    padding-top: 0;
  }
}
.profile__contents ul li {
  padding-left: 1em;
  text-indent: -1em;
}
.profile__contents ul li::before {
  content: "・";
  width: 1em;
  display: inline-block;
  text-indent: 0;
  color: var(--blue);
}
@media (768px <= width) {
  .profile__contents .box {
    -moz-column-count: 2;
         column-count: 2;
  }
}
.profile__contents .isms {
  width: calc(346 / var(--spSize) * 100vw);
}
@media (768px <= width) {
  .profile__contents .isms {
    width: 18.4rem;
    margin-top: 1rem;
  }
}
.profile__contents .kurumin {
  width: calc(336 / var(--spSize) * 100vw);
}
@media (768px <= width) {
  .profile__contents .kurumin {
    width: 17.9rem;
    margin-top: 1rem;
  }
}