@charset "UTF-8";
.ff-en {
  font-family: "Poppins", sans-serif;
}

.ff-ja {
  font-family: "Zen Kaku Gothic New", sans-serif;
}

.vertical-rl {
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
}

.comingsoon {
  pointer-events: none !important;
}

.p-profile {
  padding-top: 101px;
}

.p-profile__wrap {
  margin-top: 4.46vw;
}

.p-profile-section {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: space-between;
}

.p-profile-ttl {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: max(1.066vw, 1rem);
}

.p-profile-ttl em {
  display: block;
  padding-bottom: 10px;
  color: #00a0e6;
  font-family: "Poppins", sans-serif;
  font-size: max(1.2vw, 1rem);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.5;
}

.l-contents-narrower {
  width: 76.66%;
  margin-right: 0;
  margin-left: auto;
}

.l-contents-narrower-02 {
  width: 79.25%;
  margin-right: 0;
  margin-left: auto;
}

.p-company-list__item {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: flex-start;
  padding-bottom: 16px;
  line-height: 2;
}

.p-company-list__item:not(:last-of-type) {
  border-bottom: 1px solid #cccccc;
}

.p-company-list__item:nth-of-type(n + 2) {
  padding-top: 15px;
}

.p-company-list__item dt {
  flex-shrink: 0;
  width: 15.21%;
}

.p-company-list__item dd {
  width: 84.79%;
}

.p-company-list__dot {
  position: relative;
  padding-left: 1.2em;
}

.p-company-list__dot::before {
  -webkit-transform: translateY(-50%);
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  color: #999999;
  font-size: max(0.53vw, 1rem);
  content: '●';
}

.p-access {
  padding-top: 72px;
}

.p-access__map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 46.4%;
  /* 比率を4:3に固定 */
}

.p-access__map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.p-office {
  padding-top: 100px;
}

.p-office-list__item {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: flex-start;
  padding-bottom: 22px;
  line-height: 2;
}

.p-office-list__item:not(:last-of-type) {
  border-bottom: 1px solid #cccccc;
}

.p-office-list__item:nth-of-type(n + 2) {
  padding-top: 22px;
}

.p-office-list__item dt {
  flex-shrink: 0;
  width: 26%;
}

.p-office-list__item dd {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  width: 74%;
}

.p-office-list__map {
  gap: 8px;
  display: flex;
  position: relative;
  align-items: center;
  font-family: "Poppins", sans-serif;
  font-size: max(1.066vw, 1rem);
}

.p-office-list__map span {
  border-bottom: 1px solid #000000;
  line-height: 1.5;
}

.p-office-list__map::after {
  display: block;
  position: relative;
  width: max(1.5vw, 1rem);
  height: max(1.5vw, 1rem);
  background-image: url("../img/profile/icon_map.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  content: '';
}

.p-office-list__dot {
  position: relative;
  padding-left: 1.2em;
}

.p-office-list__dot::before {
  -webkit-transform: translateY(-50%);
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  color: #999999;
  font-size: max(0.53vw, 1rem);
  content: '●';
}

.p-profile-company {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  height: 28.66vw;
  margin-top: 6.2vw;
  padding-top: 5vw;
  padding-bottom: 5.8vw;
  border-top: 1px solid #ccc;
  background-color: #f9f9f9;
}

.p-profile-company::after {
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 30.53vw;
  height: 16.06vw;
  background: url("../img/common/bg_color.png") no-repeat center/100% auto;
  content: '';
}

.p-profile-company__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.p-profile-company__ttl {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: max(1.06vw, 1rem);
  font-weight: 400;
  text-align: center;
}

.p-profile-company__ttl em {
  display: block;
  font-family: "Poppins", sans-serif;
  font-size: max(3vw, 1rem);
  line-height: 1.3;
}

.p-profile-company__btn {
  margin-top: 2vw;
}

.p-membership {
  padding-top: 67px;
}

.p-membership__item {
  position: relative;
  padding-left: 1.2em;
}

.p-membership__item:nth-of-type(n + 2) {
  margin-top: 0.5em;
}

.p-membership__item::before {
  -webkit-transform: translateY(-50%);
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  color: #999999;
  font-size: max(0.53vw, 1rem);
  content: '●';
}

.p-affiliate {
  padding-top: 70px;
}

.p-affiliate-list__item {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: flex-start;
  padding-bottom: 13px;
  letter-spacing: 0.04em;
  line-height: 2;
}

.p-affiliate-list__item:not(:last-of-type) {
  border-bottom: 1px solid #cccccc;
}

.p-affiliate-list__item:nth-of-type(n + 2) {
  padding-top: 21px;
}

.p-affiliate-list__item dt {
  flex-shrink: 0;
  width: 36.5%;
}

.p-affiliate-list__item dd {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  width: 63.5%;
  line-height: 2.3;
}

.p-affiliate-list__map {
  gap: 8px;
  display: flex;
  position: relative;
  align-items: center;
  font-family: "Poppins", sans-serif;
  font-size: max(1.066vw, 1rem);
}

.p-affiliate-list__map span {
  border-bottom: 1px solid #000000;
  line-height: 1.5;
}

.p-affiliate-list__map::after {
  display: block;
  position: relative;
  width: max(1.5vw, 1rem);
  height: max(1.5vw, 1rem);
  background-image: url("../img/profile/icon_map.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  content: '';
}

.p-affiliate-list__dot {
  position: relative;
  padding-left: 1.2em;
}

.p-affiliate-list__dot::before {
  -webkit-transform: translateY(-50%);
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  color: #999999;
  font-size: max(0.53vw, 1rem);
  content: '●';
}

.p-history__main {
  gap: 0.9em;
  display: flex;
  position: relative;
  flex-direction: column;
}

.p-history__main::before {
  display: block;
  position: absolute;
  top: 2rem;
  left: 0.3vw;
  width: 1px;
  height: calc(100% - 2.66vw);
  border-left: 1px dashed #23bf1b;
  background-color: unset;
  content: '';
  opacity: 0.5;
}

.p-history__main dl {
  gap: 2.33vw;
  display: grid;
  position: relative;
  grid-template-columns: auto 1fr;
  align-items: center;
  justify-content: space-between;
  padding-left: 3.8rem;
}

.p-history__main dl::before {
  display: block;
  position: absolute;
  top: 1.5rem;
  left: 0;
  width: 0.7em;
  height: 0.7em;
  border-radius: 50%;
  background-color: #23bf1b;
  content: '';
}

.p-history__main dl dt {
  color: #23bf1b;
  font-size: max(1.466vw, 1rem);
  font-weight: bold;
  letter-spacing: 0.1em;
}

@media only screen and (max-width: 768px) {
  .p-profile {
    padding-top: 50px;
  }
  .p-profile__wrap {
    margin-top: 8.26vw;
  }
  .p-profile-section {
    flex-direction: column;
  }
  .p-profile-ttl {
    font-size: max(4.26vw, 1rem);
  }
  .p-profile-ttl em {
    padding-bottom: 0;
    font-size: max(4.26vw, 1rem);
  }
  .l-contents-narrower {
    width: 100%;
  }
  .l-contents-narrower-02 {
    width: 100%;
  }
  .p-company-list__item {
    flex-direction: column;
    padding-top: 8.26vw;
    padding-bottom: 21px;
  }
  .p-company-list__item:nth-of-type(n + 2) {
    padding-top: 21px;
  }
  .p-company-list__item dt {
    width: 100%;
  }
  .p-company-list__item dd {
    width: 100%;
    padding-top: 1.33vw;
  }
  .p-company-list__dot::before {
    -webkit-transform: none;
    top: 10%;
    transform: none;
    font-size: max(1.33vw, 1rem);
  }
  .p-access {
    padding-top: 16vw;
  }
  .p-access__map {
    margin-top: 8vw;
    padding-top: 44.8%;
  }
  .p-office {
    padding-top: 16vw;
  }
  .p-office-list {
    padding-top: 8vw;
  }
  .p-office-list__item {
    flex-direction: column;
    padding-bottom: 21px;
  }
  .p-office-list__item:nth-of-type(n + 2) {
    padding-top: 21px;
  }
  .p-office-list__item dt {
    width: 100%;
  }
  .p-office-list__item dd {
    gap: 8px;
    flex-direction: column;
    width: 100%;
    padding-top: 1.33vw;
  }
  .p-office-list__map {
    font-size: max(4vw, 1rem);
  }
  .p-office-list__map::after {
    width: max(4.26vw, 1rem);
    height: max(4.26vw, 1rem);
  }
  .p-office-list__dot::before {
    -webkit-transform: none;
    top: 10%;
    transform: none;
    font-size: max(1.33vw, 1rem);
  }
  .p-profile-company {
    height: auto;
    padding: 13.33vw 0 9.33vw;
  }
  .p-profile-company::after {
    width: 40vw;
    height: 21vw;
  }
  .p-profile-company__ttl {
    font-size: max(4.26vw, 1rem);
  }
  .p-profile-company__ttl em {
    font-size: max(6.66vw, 1rem);
  }
  .p-profile-company__btn {
    z-index: 2;
    margin-top: 9.33vw;
  }
  .p-membership {
    padding-top: 16vw;
  }
  .p-membership__list {
    padding-top: 8vw;
  }
  .p-membership__item::before {
    -webkit-transform: none;
    top: 10%;
    transform: none;
    font-size: max(1.33vw, 1rem);
  }
  .p-affiliate {
    padding-top: 16vw;
  }
  .p-affiliate-list {
    padding-top: 8vw;
  }
  .p-affiliate-list__item {
    flex-direction: column;
    padding-bottom: 21px;
  }
  .p-affiliate-list__item dt {
    width: 100%;
  }
  .p-affiliate-list__item dd {
    gap: 8px;
    flex-direction: column;
    width: 100%;
  }
  .p-affiliate-list__map {
    font-size: max(4vw, 1rem);
  }
  .p-affiliate-list__map::after {
    width: max(4.26vw, 1rem);
    height: max(4.26vw, 1rem);
  }
  .p-history__main {
    margin-top: 8vw;
  }
  .p-history__main::before {
    left: 0.8vw;
    height: calc(100% - 15vw);
  }
  .p-history__main dl {
    display: block;
    padding-left: 2rem;
  }
  .p-history__main dl::before {
    top: 1.2rem;
    width: 0.5em;
    height: 0.5em;
  }
  .p-history__main dl dt {
    font-size: max(3.73vw, 1rem);
  }
}
