@charset "UTF-8";

.p-company {
  position: relative;
  margin-bottom: clamp(120px, 10.980966325vw, 150px);
}

.p-company__top {
  margin-top: clamp(80px, 10.2489019034vw, 140px);
  margin-bottom: clamp(86px, 10.7613469985vw, 147px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-width: 999px;
  gap: 40px;
}
@media screen and (min-width:1024px) {
  .p-company__top {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-inline: auto;
  }
}

.p-company__top-texts {
  max-width: 442px;
}
@media screen and (min-width:1024px) {
  .p-company__top-texts {
    margin-top: 15px;
  }
}

.p-company__top-title {
  font-family: "Noto Serif JP", serif;
  font-size: clamp(24px, 2.6666666667vw, 32px);
  line-height: 1.65625;
  letter-spacing: 3.2px;
  font-weight: 600;
}

.p-company__top-text {
  margin-top: 32px;
  font-size: clamp(14px, 1.3333333333vw, 16px);
  line-height: 1.875;
  letter-spacing: 0.8px;
  font-weight: 500;
}

.p-company__top-img {
  aspect-ratio: 480/600;
  max-width: 360px;
  margin-left: auto;
}
@media screen and (min-width:1024px) {
  .p-company__top-img {
    margin-left: 0;
    max-width: 480px;
  }
}
.p-company__top-img img {
  border-radius: 5px;
}
.p-company__section {
  background: #ffffff;
  -webkit-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1607843137);
          box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1607843137);
  border-radius: 10px;
    max-width: 1078px;
  margin-inline: auto;
}

.p-company__table-section {
  padding-block: 60px 80px;
  padding-inline: 20px;
}
@media screen and (min-width:1024px) {
  .p-company__table-section {
    padding-left: clamp(50px, 6.8814055637vw, 94px);
    padding-right: clamp(50px, 6.2957540264vw, 86px);
    padding-block: 73px 120px;
  }
}

.p-company__title-en {
  font-family: "Lato", serif;
  font-size: clamp(32px, 3.3333333333vw, 40px);
  line-height: 1.2;
  font-weight: 500;
}

.p-company__title-ja {
  margin-top: -1px;
  font-size: 14px;
  line-height: 1.4285714286;
  letter-spacing: 1.12px;
  font-weight: 700;
}

.p-company__table-wrap {
  margin-top: clamp(40px, 4.1727672035vw, 57px);
  max-width: 938px;
  overflow-x: auto;
}
@media screen and (min-width:768px) {
  .p-company__table-wrap {
    margin-inline: auto;
  }
}

.p-company__table {
  width: 748px;
  border-top: 1px solid #a7a7a7;
}
@media screen and (min-width:1024px) {
  .p-company__table {
    width: 898px;
  }
}

.p-company__table-row {
  display: grid;
  grid-template-columns: 120px 1fr;
  border-bottom: 1px solid #a7a7a7;
}
@media screen and (min-width:1024px) {
  .p-company__table-row {
    grid-template-columns: 180px 1fr;
  }
}

.p-company__table-title {
  padding-block: 25px;
  font-family: "Noto Serif JP", serif;
  font-size: 14px;
  line-height: 1.4285714286;
  font-weight: 700;
    -ms-flex-line-pack: center;
      align-content: center;
  position: relative;
}
.p-company__table-title::after {
  content: "";
  position: absolute;
  top: 10px;
  right: 0;
  width: 1px;
  height: calc(100% - 20px);
  background: url("../images/company-table-line.svg") center/contain repeat;
}

.p-company__table-text {
  padding-block: 25px;
  padding-left: 51px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 14px;
  line-height: 1.4285714286;
 font-weight: 500;
}

.p-message {
  margin-top: clamp(60px, 6vw, 72px);
  padding-inline: 20px;
  padding-block: 60px 80px;
}
@media screen and (min-width:1024px) {
  .p-message {
    padding-block: 81px 100px;
    padding-left: clamp(50px, 6.8814055637vw, 94px);
    padding-right: clamp(50px, 6.2957540264vw, 86px);
  }
}

.p-message__body {
  margin-top: clamp(40px, 4.9048316252vw, 67px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  gap: 40px;
}
@media screen and (min-width:768px) {
  .p-message__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.p-message__img {
  max-width: 300px;
  aspect-ratio: 300/383;
  margin-inline: auto;
}
.p-message__img img {
  border-radius: 10px;
}
@media screen and (min-width:768px) {
  .p-message__img {
    min-width: 300px;
    max-height: 383px;
    margin-inline: 0;
  }
}

.p-message__text-content {
  max-width: 554px;
}

.p-message__title {
  font-family: "Noto Serif JP", serif;
  font-size: 22px;
  line-height: 1.5909090909;
  letter-spacing: 2.2px;
  font-weight: 600;
}

.p-message__text {
  margin-top: 32px;
  font-size: clamp(14px, 1.3333333333vw, 16px);
  line-height: 1.875;
  letter-spacing: 0.8px;
  font-weight: 500;
}

.p-message__name {
  margin-top: clamp(40px, 5.270863836vw, 72px);
  font-family: "Noto Serif JP", serif;
  font-size: 14px;
  line-height: 1.4285714286;
  letter-spacing: 1.12px;
  font-weight: 700;
  text-align: right;
}

.p-hisotry {
  margin-top: clamp(60px, 7.6666666667vw, 92px);
  padding-inline: 20px;
  padding-block: 60px 80px;
}
@media screen and (min-width:1024px) {
  .p-hisotry {
    padding-block: 81px 100px;
    padding-inline: 50px;
  }
}
@media screen and (min-width:1200px) {
  .p-hisotry {
    padding-left: clamp(50px, 6.8814055637vw, 94px);
    padding-right: clamp(50px, 6.2957540264vw, 86px);
  }
}

.p-history__body {
  margin-top: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
    width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
@media screen and (min-width:1024px) {
  .p-history__body {
        width: auto;
    margin-inline: 0;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.p-history__content {
  position: relative;
}
.top .time {
  font-size: 16px;
  width: 110px;
}

.top .ball {
  background: #74B691;
}
.top .p-history__content-title {
  background: #74B691;
}

.bottom {
  margin-top: 49px;
}
@media screen and (min-width:1024px) {
  .bottom {
    width: 320px;
  }
}
@media screen and (min-width:1200px) {
  .bottom {
    width: 374px;
  }
}
.bottom .p-history__content-text {
  padding-left: 0;
}
.bottom .p-history__content-title {
  background: #ABCE72;
  margin-bottom: 40px;
}

.p-history__content-title {
  display: inline-block;
  color: #ffffff;
  font-size: 17px;
  line-height: 1.4705882353;
  letter-spacing: 0.61px;
  font-weight: 600;
  padding: 4px 10px;
  background: #0C8AC7;
  margin-bottom: 30px;
}

.p-history__content-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-history__content-row + .p-history__content-row {
  margin-top: 42px;
}

.p-history__content-text {
  padding-left: 24px;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 500;
}
@media screen and (min-width:768px) {
  .p-history__content-text {
    padding-left: 35px;
  }
}

.time {
  padding-left: 0;
  font-size: 18px;
  width: 62px;
  margin-right: 15px;
}

.ball {
  margin-top: 9px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #0C8AC7;
  z-index: 1;
}

.p-access {
  margin-top: clamp(60px, 7.6666666667vw, 92px);
  padding-inline: 20px;
  padding-block: 60px 80px;
}
@media screen and (min-width:1024px) {
  .p-access {
    padding-block: 73px 100px;
    padding-inline: clamp(50px, 6.0029282577vw, 82px);
  }
}

.p-access__body {
  margin-top: 67px;
}

.p-acess__map {
  max-width: 914px;
}
.p-acess__map iframe {
  width: 100%;
  height: 100%;
  border: none;
  border-radius: 10px;
  min-height: 370px;
}

.p-access__text {
  margin-top: 30px;
  font-size: 14x;
  line-height: 1.875;
  letter-spacing: 0.8px;
  font-weight: 500;
}
@media screen and (min-width:768px) {
  .p-access__text {
    font-size: 16px;
  }
}

.p-company__logo-top {
  position: absolute;
  top: -26.6471449488vw;
  left: -30.3074670571vw;
  width: clamp(20px, 74.5241581259vw, 1018px);
  aspect-ratio: 679/664;
  background: url(../images/logo-bg.png) center/cover no-repeat;
  pointer-events: none;
  z-index: -1;
}
@media screen and (min-width:1367px) {
  .p-company__logo-top {
    top: -364px;
    left: calc(-414px + (100vw - 1366px) / 2);
  }
}

.p-company__logo-left {
  position: absolute;
  top: max(1000px, 85.505124451vw);
  left: -14.2020497804vw;
  width: clamp(20px, 74.5241581259vw, 1018px);
  aspect-ratio: 679/664;
  background: url(../images/logo-bg.png) center/cover no-repeat;
  pointer-events: none;
  z-index: -1;
}
@media screen and (min-width:1367px) {
  .p-company__logo-left {
    top: 1168px;
    left: calc(-194px + (100vw - 1366px) / 2);
  }
}

.p-company__logo-right {
  position: absolute;
  top: max(2400px, 199.6339677892vw);
  left: 27.7452415813vw;
  width: clamp(20px, 74.5241581259vw, 1018px);
  aspect-ratio: 679/664;
  background: url(../images/logo-bg.png) center/cover no-repeat;
  pointer-events: none;
  z-index: -1;
}
@media screen and (min-width:1367px) {
  .p-company__logo-right {
    top: 2727px;
    left: calc(379px + (100vw - 1366px) / 2);
  }
}