.greeting-message {
  border-bottom-left-radius: 5rem;
  border-bottom-right-radius: 5rem;
}

.officer {
  margin: 15rem 0 0;
}

.officer__list {
  display: grid;
  gap: 10rem;
  max-width: 1000px;
  margin-inline: auto;
}

.officer__list {
  grid-template-columns: repeat(2, 1fr);
}

.officer__item {
  width: 100%;
}


.officer-group {
  margin-bottom: 5rem;
}

.officer__item {}

.officer__img {
  margin-bottom: 4rem;
}

.officer__img img {
  width: 100%;
}

.accordion__block {
  border-bottom: 1px solid #999999;
  position: relative;
}

.accordion__trigger {
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  position: relative;
  padding-right: 3rem;
}

.accordion__trigger:hover {
  opacity: 0.6;
}

.accordion__trigger::before,
.accordion__trigger::after {
  content: '';
  position: absolute;
  bottom: 10px;
  right: 0;
  width: 20px;
  height: 1px;
  background-color: #000;
  transition: transform 0.3s ease-in-out;
}

.accordion__trigger::before {
  transform: rotate(90deg);
}

.accordion__trigger.open::before {
  transform: rotate(180deg);
}

.accordion__trigger.open::after {
  opacity: 0;
}

.accordion__label {
  font-size: clamp(1.4rem, 1.36rem + 0.2vw, 1.6rem);
  margin-bottom: 1rem;
  display: block;
}

.accordion__title {
  font-size: clamp(1.8rem, 1.68rem + 0.6vw, 2.4rem);
  padding: 0.5rem 0 0;
  margin-bottom: 3rem;
}

.accordion__content {
  font-size: clamp(1rem, 0.88rem + 0.6vw, 1.6rem);
  line-height: 2;
  padding-bottom: 4rem;

  overflow: hidden;
  height: 0;
  opacity: 0;
  padding: 0;
  visibility: hidden;

  transition:
    height 0.4s ease,
    opacity 0.4s ease,
    padding 0.4s ease,
    visibility 0.4s ease;
}

.accordion__content.open {
  opacity: 1;
  visibility: visible;
  height: auto;
  display: block;
  padding: 0 0 4rem;
  text-align: justify;
  font-feature-settings: "palt";
  letter-spacing: 0.1em;
}

.accordion__trigger {}

.accordion__trigger::before,
.accordion__trigger::after {
  right: 5px;
}

.philosophy {
  margin-bottom: 5rem;
}

.philosophy__section--mission {
  position: relative;
}

.philosophy__section--mission::after {
  content: "";
  position: absolute;
  top: -30%;
  right: -20%;
  width: 70rem;
  height: calc(100% + 70rem);
  background-image: url("../images/about/philosophy-bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  z-index: 0;
}

.philosophy__list {
  z-index: 1;
  position: relative;
}

.philosophy__section--mission .philosophy__dt {
  font-family: shippori-antique, sans-serif;
  font-weight: 400;
  font-size: clamp(1.2rem, 0.48rem + 3.6vw, 4.8rem);
  margin-bottom: 6rem;
}

.philosophy__section--mission .philosophy__dd {
  margin-bottom: 40rem;
}

.philosophy__section--vision {
  position: relative;
  z-index: 1;
}

.philosophy__img {
  margin: -10rem 0 0 -5rem;
}

.philosophy__right {
  display: flex;
  justify-content: flex-end;
}

.philosophy__right .philosophy__list {
  width: 50%;
}

.philosophy__img-list {
  display: flex;
  gap: 5rem;
  width: calc(100% + 20rem);
  margin: 0 -20rem 30rem;
  position: relative;
}

.philosophy__img-list li:nth-child(1) {
  margin-top: 5rem;
}

.philosophy__img-list li:nth-child(2) {
  margin-top: 13rem;
}

.parallax-wrapper {
  overflow: hidden;
  border-radius: 1rem;
}

.parallax-inner img {
  width: 100%;
  object-fit: cover;
}

.parallax-scale {
  transform-origin: center center;
  will-change: transform, opacity;
}


.company {
  margin-bottom: 20rem;
}

.company__list {
  display: grid;
  grid-template-columns: 10rem 1fr;
  gap: 1.5rem;
  border-top: 1px solid #808080;
  padding: 2rem 0;
  font-size: clamp(1rem, 0.718rem + 1.41vw, 1.6rem);
}

.company__list:last-of-type {
  border-bottom: 1px solid #808080;
}

.company__term {
  padding-top: 0.6rem;
}

.company__desc {
  line-height: 1.8;
}

.company__desc a {
  color: #b3b3b3;
}

.company__desc ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5rem;
  margin-bottom: 1rem;
}

.company__desc ul li {
  line-height: 1.8;
}

.company__desc ul.narrow {
  gap: 2rem 5rem;
}

.history {
  position: relative;
  font-size: clamp(1.1rem, 0.865rem + 1.18vw, 1.6rem);
}

.history__intro {
  line-height: 3.2rem;
  margin-bottom: 8rem;
}

.history__timeline {
  position: relative;
}

.history__timeline::before {
  content: "";
  position: absolute;
  left: 7.3rem;
  top: 1.5rem;
  width: 1px;
  height: calc(100% - 3rem);
  background: #666;
}

.history__item {
  display: flex;
  align-items: flex-start;
  gap: 3rem;
  position: relative;
}

.history__item::before {
  content: "";
  position: absolute;
  left: 7rem;
  top: 1.2rem;
  width: 8px;
  height: 8px;
  background: linear-gradient(45deg, rgba(25, 146, 203, 1) 0%, rgba(102, 45, 145, 1) 100%);
  border-radius: 50%;
}

.history__year {
  min-width: 60px;
  line-height: 2;
}

.history__event {
  background: #fff;
  flex: 1;
  border-bottom: 1px solid #aaa;
  line-height: 2;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
}

.history__item:last-child .history__event {
  margin-bottom: 0;
  border-bottom: 0;
}

.history__line {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
}

.history__month {
  width: 3.5em;
  text-align: right;
  white-space: nowrap;
}

.history__text {
  flex: 1;
}


.access {
  margin-bottom: 10rem;
  line-height: 2;
}

.access__map-wrap {
  display: flex;
  position: relative;
}

.access__map-card {
  background: #000;
  color: #fff;
  padding: 7rem;
  width: 60%;
  position: relative;
  z-index: 1;
}

.access__info {
  margin-bottom: 3rem;
  font-size: clamp(1.2rem, 1.106rem + 0.47vw, 1.4rem);
}

.access__info-title {
  display: flex;
  align-items: center;
  margin-bottom: 2rem;
}

.access__info-title span {
  font-size: clamp(1.2rem, 1.12rem + 0.4vw, 1.6rem);
  margin-left: 1rem;
}

.access__map {
  width: 75rem;
  height: 44rem;
  overflow: hidden;
  position: absolute;
  right: -26rem;
  top: -8rem;
}

.access__map iframe {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
  width: 100%;
  height: 74rem;
  position: absolute;
  top: -15rem;
  left: 0;
}

.access__flow {
  border-top: 1px solid #CCC;
  border-bottom: 1px solid #CCC;
  margin: 9rem 0;
  counter-reset: step;
}


.access__flow-heading-sub {
  font-size: clamp(1rem, 0.812rem + 0.94vw, 1.4rem);
  padding-right: 1rem;
}

.access__flow-heading {
  cursor: pointer;
  position: relative;

  font-size: clamp(1.6rem, 1.224rem + 1.88vw, 2.4rem);
  display: flex;
  justify-content: center;
  align-items: baseline;
  padding: 5rem 0;
}

.access__flow-heading::before {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  width: 16px;
  height: 16px;
  background-color: transparent;
  border-right: 2px solid #333;
  border-bottom: 2px solid #333;
  transform: translateY(-50%) rotate(45deg);
  transition: transform 0.3s ease;
}

.access__flow-heading.open::before {
  transform: translateY(-50%) rotate(-135deg);
}


.access__flow-heading.open::after {
  opacity: 0;
}

.access__flow-heading::after {
  content: none;
}

.access__flow-list {}


body.page-access .access__flow-list.open {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10rem 2rem;
  padding: 0 0 10rem 0;
}


.access__flow-item {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  counter-increment: step;
}

.access__flow-item img {
  border-radius: 1rem;
}

.access__flow-title {
  position: relative;
  font-size: clamp(1.4rem, 1.2rem + 1vw, 2.4rem);
  margin-top: 1rem;
}

.access__flow-title::before {
  content: counter(step, decimal-leading-zero);
  color: #000;
  font-family: futura-pt, sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: clamp(1.8rem, 1.52rem + 1.4vw, 3.2rem);
  margin-right: 1rem;
}

.access__flow-text {
  font-size: clamp(1.2rem, 1.012rem + 0.94vw, 1.6rem);
}

.office-list {
  font-size: clamp(1.2rem, 1.012rem + 0.94vw, 1.6rem);
  line-height: 2;
}

.office-list__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8rem 5rem;
  counter-reset: step;
}

.office-list__item {
  line-height: 1.8;
  counter-increment: step;
  position: relative;
  display: flex;
  flex-direction: column;
}

.office-list__title {
  font-size: clamp(1.4rem, 1.306rem + 0.47vw, 1.6rem);
  margin-bottom: 1rem;
}

.office-list__address {
  margin-bottom: 3rem;
  font-size: clamp(1.2rem, 1.106rem + 0.47vw, 1.4rem);
}

.office-intro {
  padding-bottom: 30rem;
}

.office-intro__title {
  margin-bottom: 10rem;
}

.office-intro__content {
  display: flex;
  flex-wrap: wrap;
  gap: 7rem;
}

.office-intro__media,
.office-intro__description {
  flex: 1;
}

.office-intro__image {
  width: 100%;
  height: auto;
}

.office-intro__build-logo {
  margin-top: 10rem;
}

.office-intro__heisei-logo {
  margin: 5rem 0;
}

.office-intro__heisei-title {
  font-size: clamp(1.2rem, 1.012rem + 0.94vw, 1.6rem);
  font-weight: 600;
  margin-bottom: 3rem;
  letter-spacing: 0.3em;
}

.office-intro__heisei-main {
  font-size: clamp(1.4rem, 1.2rem + 1vw, 2.4rem);
  font-weight: 600;
  line-height: 2;
  margin-bottom: 3rem;
}

.office-intro__heisei-description {
  font-size: clamp(1.2rem, 1.012rem + 0.94vw, 1.6rem);
  line-height: 2.5;
  max-width: 42rem;
}

.ci-vi {
  position: relative;
  background: #000;
  color: #fff;
  padding: 30rem 0 2rem;
}

.ci-vi__container {
  max-width: 140rem;
  padding-bottom: 17rem;
}

.ci-vi__bg-block {
  position: absolute;
  top: -42rem;
  right: 0;
  max-width: 70rem;
  height: 50rem;
  z-index: 0;
}

.ci-vi__inner {
  max-width: 100rem;
  margin: 0 auto;
}

.ci-vi__header {
  font-family: futura-pt, sans-serif;
  font-weight: 600;
  font-size: clamp(2rem, -0.015rem + 10.07vw, 8.8rem);
  margin: -7rem 0 7rem;
  position: relative;
  z-index: 1;
}

.ci-vi__content {
  display: flex;
  flex-wrap: wrap;
  gap: 10rem;
  align-items: flex-start;
  position: relative;
  z-index: 1;
}

.ci-vi__img {
  flex: 0 0 17.5rem;
  position: relative;
}

.ci-vi__img::after {
  content: "";
  position: absolute;
  bottom: -5rem;
  right: -5rem;
  width: 100%;
  height: 17.5rem;
  background: linear-gradient(45deg, rgba(70, 142, 198, 1), rgba(97, 48, 140, 1));
}

.ci-vi__img img {
  width: 100%;
  position: relative;
  z-index: 1;
}

.ci-vi__text {
  flex: 1;
}

.ci-vi__name {
  font-size: clamp(1.2rem, 0.844rem + 1.78vw, 2.4rem);
  font-weight: 600;
  margin-bottom: 2rem;
}

.ci-vi__name-suffix {
  font-size: clamp(1rem, 0.881rem + 0.59vw, 1.4rem);
}

.ci-vi__title {
  font-size: clamp(1rem, 0.881rem + 0.59vw, 1.4rem);
  font-weight: 600;
  margin-bottom: 3rem;
}

.ci-vi__desc {
  font-size: clamp(1.2rem, 1.12rem + 0.4vw, 1.6rem);
  line-height: 2;
  margin-bottom: 3rem;
}

.ci-vi__link {
  font-size: clamp(1rem, 0.881rem + 0.59vw, 1.4rem);
  word-break: break-word;
}

.ci-vi__link a {
  color: #808080;
  display: block;
  margin-top: 1rem;
}

.ci-vi__art-image {
  position: relative;
  overflow: hidden;
  height: 51rem;
}

.ci-vi__art-image img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1996 / 510;
  object-fit: cover;
  object-position: bottom;
  display: block;
}

@media screen and (max-width: 767px) {
  .ci-vi__art-image {
    height: 30rem;
  }
}

.office__visual {
  margin-bottom: -21vh;
  position: relative;
  z-index: 1;
  overflow: hidden;
}

.office__wide {
  margin-bottom: -5rem;
  position: relative;
}

.office img {
  width: 100%;
  display: block;
}

.office__container {
  max-width: 140rem;
}

.office__section--relaxing .office__container {
  margin-bottom: 8rem;
}

.office__section {
  margin-bottom: 15rem;
}

.office__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8rem;
  position: relative;
  z-index: 1;
}

.office__section--meeting .office__header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin: 0;
}

.office__section--meeting .office__header,
.office__section--relaxing .office__header {
  margin-bottom: -4rem;
}

.office__section--meeting .office__title {
  align-self: start;
  justify-self: start;
}

.office__section--meeting .office__header .office__line {
  align-self: end;
  justify-self: end;
  padding-top: 5rem;
}

.office__title {
  font-size: clamp(3rem, 0.271rem + 13.65vw, 8.8rem);
  font-weight: 700;
  font-family: futura-pt, sans-serif;
  line-height: 1;
  letter-spacing: 0.05em;
}

.office__section--relaxing .office__title {
  padding-left: 2rem;
}

.office__line {
  width: 35%;
}

.office__line--right {
  position: absolute;
  top: -1.8rem;
  right: 0;
}

.office__panel {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: -19rem;
  column-gap: min(16.79%, 23.5rem);
  margin: 5rem 0;
}

.office__panel .office__line {
  position: absolute;
}

.office__panel .office__panel-main .office__line {
  left: 7rem;
  bottom: -1.2rem;
}

.office__panel .office__panel-sub .office__line {
  width: 85%;
  top: -2rem;
  left: -12rem;
}

.office__section--relaxing .office__panel .office__line {
  top: auto;
  left: auto;
  right: -12rem;
  bottom: -1.5rem;
}

.office__section--relaxing .office__panel {
  flex-direction: row-reverse;
  align-items: flex-start;
}

.office__panel-main {
  width: calc(100% - 24.29% - min(16.79%, 23.5rem));
  /* 100% - subの幅 - gap */
  position: relative;
}

.office__section--relaxing .office__panel-main {
  margin-top: 13rem;
}

.office__panel-sub {
  width: 24.29%;
  /* ＝ 340 / 1400 */
  position: relative;
}

.office__section--meeting .office__panel-sub {
  margin-bottom: -10rem;
}

.office__panel-photo {
  position: relative;
  display: flex;
  flex-flow: column;
  align-items: flex-end;
}

.office__section--relaxing .office__panel-photo {
  align-items: flex-start;
}

.office__room-label {
  font-family: futura-pt, sans-serif;
  color: #000;
  position: absolute;
  right: 0;
  bottom: -4rem;
  font-feature-settings: 'palt';
  display: flex;
  align-items: baseline;
}

.office__room-label span {
  display: flex;
  align-items: center;
  font-size: clamp(1.6rem, 1.422rem + 0.89vw, 2.2rem);
  font-weight: 500;
}

.office__room-label span:first-child {
  padding-right: 0.5rem;
}

.office__box-label06 span img {
  width: 7.2rem;
  margin-left: 0.5rem;
}

.office__lead {
  font-size: clamp(1.2rem, 1.12rem + 0.4vw, 1.6rem);
  margin: 13rem 0 5rem;
  line-height: 2;
}

.office__lead strong {
  display: block;
  font-weight: 600;
  margin-bottom: 1rem;
}

.office__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5rem 2rem;
}

.office__box {
  font-size: clamp(1.2rem, 1.12rem + 0.4vw, 1.6rem);
  line-height: 1.6;
}

.office__photo {
  margin-bottom: 2rem;
  position: relative;
}

.office__photo img {
  width: 100%;
  display: block;
  border-radius: 4px;
}

.office__caption {
  font-weight: 600;
  margin-bottom: 0.5rem;
  font-size: clamp(1.2rem, 1.012rem + 0.94vw, 1.6rem);
  display: flex;
  align-items: baseline;
  font-family: futura-pt, sans-serif;
  font-weight: 500;
  font-size: clamp(1.2rem, 1.012rem + 0.94vw, 1.6rem);
}

.office__section--meeting .office__caption {
  font-size: clamp(1.6rem, 1.452rem + 0.74vw, 2.1rem);
  align-items: center;
}

.office__caption span:nth-child(2) {
  padding-left: 0.5rem;
  width: 7.2rem ;
}

.office__text {
  font-size: clamp(1.2rem, 1.012rem + 0.94vw, 1.6rem);
  line-height: 1.8;
  color: #333;
}

.action {
  padding-bottom: 8rem;
  background: #F5F5F5;
  text-align: center;
  background-image: url("../images/about/action-bottom.webp");
  background-repeat: repeat-x;
  background-position: bottom;
}

.action__heading {
  padding: 3rem 0 17rem;
}

.action__logo {
  max-width: 63.7rem;
  height: auto;
  margin: 0 auto;
}

.action__catch {
  font-size: clamp(1.4rem, 1.2rem + 1vw, 2.4rem);
  font-weight: 600;
  margin-top: 2.5rem;
}

.action__lead {
  font-size: clamp(1.2rem, 1.12rem + 0.4vw, 1.6rem);
  line-height: 2.5;
  margin-top: 10rem;
}

.action__items {
  display: flex;
  justify-content: center;
  margin: 0 auto -18rem;
}

.action__item {
  width: calc(100% / 3);
  text-align: center;
  font-size: clamp(1rem, 0.88rem + 0.6vw, 1.6rem);
  font-weight: 600;
}

.action__item-icon {
  max-width: 21.6rem;
  width: 100%;
  margin: 0 auto;
}

.action-sdgs {
  padding: 18rem 0 8rem;
}

.action__sdgs-info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #FAFAFA;
  padding: 4rem 5rem;
  max-width: 100rem;
  margin: 0 auto;
  gap: 4rem;
}

.action__sdgs-logo {
  width: 43%;
}

.action__sdgs-logo img {
  width: 100%;
  height: auto;
}

.action__sdgs-text {
  width: 57%;
  font-size: clamp(1.2rem, 1.12rem + 0.4vw, 1.6rem);
  line-height: 1.8;
  text-align: justify;
  font-feature-settings: "palt";
}

.action-section {
  padding: 10rem 0;
}

.action-section__kv {
  position: relative;
}

.action-section__kv-img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}

.action-section__kv-inner {
  display: flex;
  flex-direction: column;
  margin-top: -5.5rem;
}

.action-section__kv-text {}

.action-section__title-en {
  font-size: clamp(2rem, 0.64rem + 6.8vw, 8.8rem);
  font-weight: 700;
  font-family: futura-pt, sans-serif;
  margin-bottom: 5rem;
  position: relative;
  letter-spacing: 0.1em;
  line-height: 1.2;
}

.action-section__title-icon {
  max-width: 33.7rem;
  height: auto;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.action-section--diversity .action-section__title-icon {
  max-width: 20.6rem;
  top: 15%;
}

.action-section--sustainable .action-section__title-icon {
  max-width: 28.5rem;
}

.action-section__title-icon img {
  width: 100%;
}

.action-section__title-jp {
  font-size: clamp(1.8rem, 1.622rem + 0.89vw, 2.4rem);
  margin-bottom: 2rem;
  font-weight: 600;
}

.action-section__lead {
  margin-bottom: 18rem;
  font-size: clamp(1.2rem, 1.16rem + 0.2vw, 1.4rem);
  line-height: 1.8;
}

.action-items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14rem 2rem;
  align-items: stretch;
}

.action-item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.action-item__img img {
  width: 100%;
  height: auto;
  display: block;
}

.action-item__content {
  font-size: clamp(1.2rem, 1.12rem + 0.4vw, 1.6rem);
}

.action-item__title {
  font-weight: 600;
  margin: 5rem 0 2rem;
}

.action-item__text {
  line-height: 1.8;
  margin-bottom: 5rem;
}

.action-item__sdgs {
  margin-top: auto;
  display: flex;
  flex-flow: column;
}

.action-item__sdgs-label {
  font-size: clamp(1.2rem, 1.16rem + 0.2vw, 1.4rem);
  margin-bottom: 2rem;
}

.action-item__sdgs-list {
  display: flex;
  gap: 1rem;
  max-width: 43rem;
}

.action-item__sdgs-list li {
  width: 25%;
}

.action-item__sdgs-list li img {
  width: 100%;
  max-width: 10rem;
  height: auto;
  display: block;
}


.page-end-cta {
  background-color: transparent;
}

/* PC */
@media (max-width: 1440px) {}

@media (max-width: 1280px) {}

@media (max-width: 1024px) {}

/* Tablet */
@media only screen and (max-width: 768px) {
  .pull-up {
    margin-top: -3rem;
    padding-top: 8rem !important;
  }

  .office-intro__heisei-description {
    line-height: 2;
  }


  .officer__list {
    display: block;
  }

  .officer__item {
    width: 100%;
    margin-bottom: 5rem;
  }

  .philosophy {
    margin-bottom: 0;
  }

  .philosophy__list {
    display: block;
    margin: 3rem 0 0;
    width: 100% !important;
  }

  .philosophy__dt,
  .philosophy__dd {
    width: 100%;
    margin-bottom: 5rem;
  }

  .philosophy__section--mission .philosophy__dd {
    margin-bottom: 10rem;
  }

 .philosophy__section--mission .philosophy__dt {
    margin-bottom: 5rem;
  }

  .philosophy__section--mission::after {
    width: 60%;
    height: calc(100% + 25rem);
  }

  .philosophy__img {
    margin: 0 auto 2rem;
    width: 70%;
    display: flex;
    justify-content: center;
  }

  .philosophy__right {
    justify-content: flex-start;
  }

  .philosophy__img-list {
    gap: 2rem;
    width: 100%;
    margin: 0;
    margin-bottom: 5rem;
  }

  .philosophy__img-list li {
    border-radius: 0.5rem;
  }

  .philosophy__img-list li:nth-child(1) {
    margin-top: 2rem;
  }

  .philosophy__img-list li:nth-child(2) {
    margin-top: 5rem;
  }

  .philosophy__value-item:not(:nth-last-child(-n+2)) {
    margin-bottom: 0;
  }

  .philosophy__value {
    grid-template-columns: 1fr;
    gap: 8rem;
  }

  .philosophy__value-item {
    width: 100%;
  }

  .company__desc ul li {
    width: 100%;
  }

  .company__desc ul.narrow {
    gap: 1rem;
  }

  .company__list {
    grid-template-columns: 1fr;
  }

  .company__term {
    margin-bottom: 0.5rem;
  }

  .company__term,
  .company__desc {
    width: 100%;
    margin-bottom: 5px;
  }

  .history__timeline {
    padding-left: 0;
  }

  .history__item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 2rem;
    gap: 1rem;
  }

  .history__year {
    width: 6rem;
    font-weight: 600;
    ;
    flex-shrink: 0;
    text-align: left;
  }

  .history__event {
    flex: 1;
    width: 100%;
  }

  .history__line {
    display: flex;
    align-items: flex-start;
  }

  .history__month {
    width: 4em;
    text-align: right;
    padding-right: 1em;
    white-space: nowrap;
  }

  .history__text {
    flex: 1;
  }

  .history__item {
    flex-direction: column;
  }

  .history__year {
    width: auto;
  }

  .history__line {
    display: flex;
    flex-direction: row;
  }

  .history__month {
    width: 3em;
    text-align: right;
    padding-right: 0.5em;
  }

  .history__timeline::before,
  .history__item::before {
    content: none;
  }

  .access {
    margin-bottom: 5rem;
  }

  .access__map-wrap {
    flex-flow: column;
  }

  .access__map-card {
    width: 100%;
    padding: 3rem;
  }

  .access__map {
    width: 100%;
    height: 33rem;
    position: relative;
    right: 0;
    top: 4rem;
  }

  .access__map iframe {
    height: 70rem;
    top: -18rem;
  }

  .access__info-title img {
    width: 70%;
  }

  .access__flow {
    margin: 9rem 0 5rem;
  }

  .access__flow-heading {
    align-items: center;
    flex-flow: column;
    padding: 3rem 0 2rem;
  }

  .access__flow-list {
    gap: 3rem 0;
    grid-template-columns: 1fr;
  }

  .access__flow-item {
    gap: 1rem;
  }

  .office-list {
    margin: 5rem 0 0;
  }

  .office-list__grid {
    grid-template-columns: 1fr;
    gap: 3rem 0rem;
  }

  .office-list__item {
    width: 100%;
    margin-bottom: 1rem;
  }

  .office-list__address {
    margin-bottom: 1rem;
    font-size: clamp(1.2rem, 1.16rem + 0.2vw, 1.4rem);
  }

  .office__section {
    margin-bottom: 5rem;
  }

  .office-intro {
    padding-bottom: 5rem;
  }

  .office-intro__content {
    flex-direction: column;
    gap: 5rem;
  }

  .office-intro__media {
    position: relative;
    overflow: hidden;
  }

  .office-intro__media img.office-intro__image {
    aspect-ratio: auto;
    height: 40vw;
    width: 100%;
    object-fit: cover;
    object-position: center;
  }

  .office-intro__build-logo {
    margin-top: 0;
  }

  .office-intro__heisei-logo {
    margin: 0 0 3rem;
    width: 60%;
  }

  .office__visual {
    margin-bottom: -7rem;
  }

  .ci-vi__header {
    text-align: center;
    margin: -1.5rem auto 5rem;
  }

  .ci-vi__bg-block {
    position: relative;
    height: auto;
    top: auto;
  }

  .ci-vi__content {
    flex-direction: column;
    gap: 5rem;
    text-align: center;
  }

  .ci-vi__img {
    flex: none;
    left: 50%;
    transform: translateX(-50%);
  }

  .ci-vi__img::after {
    bottom: -3rem;
    right: -3rem;
  }

  .ci-vi__name {
    margin: 2rem 0;
  }

  .ci-vi__container {
    padding-bottom: 10rem;
  }

  .office__wide {
    margin-bottom: -2rem;
  }

  .office__container {
    padding: 5rem 0 2rem;
  }

  .office__header {
    /*flex-direction: column;
    align-items: flex-start;
    gap: 2rem;*/
    flex-direction: unset !important;
    margin-bottom: 3rem;
  }

  .office__section--meeting .office__header,
  .office__section--relaxing .office__header {
    margin-bottom: -2rem;
  }

  .office__title {
    font-size: clamp(3rem, 2.467rem + 2.67vw, 4.8rem);
  }

  .office__lead p,
  .office__text {
    font-size: clamp(1rem, 0.88rem + 0.6vw, 1.6rem);
    line-height: 1.8;
  }

  .office__panel {
    margin: 3rem 0;
    column-gap: min(10%, 23.5rem);
  }

  .office__panel .office__panel-main .office__line {
    bottom: -0.5rem;
  }

  .office__room-label {
    right: 1rem;
    bottom: -3rem;
  }

  .office__panel-main {
    width: 70%;
  }

  .office__panel-sub {
    width: 20%;
  }

  .office__section--relaxing .office__panel-main {
    margin-top: 2rem;
  }

  .office__section--meeting .office__panel-sub {
    margin-bottom: -3rem;
  }

  .office__lead {
    margin: 5rem 0;
  }

  .office__grid {
    grid-template-columns: 1fr;
    gap: 4rem 0;
  }

  .office__box,
  .office__grid--two-col .office__box {
    width: 100%;
  }

  .office__line--right {
    top: -1rem;
  }

  .office__section--meeting .office__panel .office__panel-sub .office__line {
    top: 0;
    left: -2rem;
  }

  .office__section--relaxing .office__panel .office__panel-sub .office__line {
    bottom: -0.2rem;
    right: -1rem;
  }

  .action__logo {
    width: 70%;
  }

  .action__lead {
    margin-top: 5rem;
    line-height: 2;
    text-align: left;
  }

  .action__heading {
    padding: 3rem 0 6rem;
  }

  .action__items {
    margin: 0 auto -13rem;
  }

  .action-sdgs {
    padding: 11rem 0 0rem;
  }

  .action__sdgs-info {
    flex-wrap: wrap;
    justify-content: center;
    padding: 3rem;
    gap: 2rem;
  }

  .action__sdgs-logo {
    width: 80%;
  }

  .action__sdgs-text {
    width: 100%;
  }

  .action-section__kv-inner {
    margin-top: -3rem;
  }

  .action-section__title-en {
    letter-spacing: 0;
  }

  .action-section__title-icon {
    max-width: 25% !important;
  }

  .action-section__lead {
    margin-bottom: 7rem;
  }

  .action-item {
    width: 100%;
  }

  .action-section {
    padding: 10rem 0 0;
  }

  .action-items {
    grid-template-columns: 1fr;
    gap: 8rem;
  }

  .action-item__sdgs-list {
    width: 70%;
  }

  .action-item__text {
    margin-bottom: 3rem;
  }

  .action-item__title {
    margin: 2rem 0 1rem;
  }

  .officer {
    margin: 5rem 0 0;
  }

  .greeting-message {
    border-bottom-left-radius: 3rem;
    border-bottom-right-radius: 3rem;
  }

  body.page-access .access__flow-list.open {
    grid-template-columns: 1fr;
    gap: 5rem;
    padding: 0 0 5rem 0;
  }

  .company {
    margin-bottom: 8rem;
  }

  .company__desc ul {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .history__intro {
    line-height: 3rem;
    margin-bottom: 5rem;
  }

  .ci-vi {
    padding: 0 0 2rem;
  }

  .office__caption span:nth-child(2) img {
    width: 4rem;
  }
}

/* Smartphone */
@media (max-width: 480px) {}