/*-- layout --*/
.l-main {
  font-feature-settings: "palt";
  line-height: 1.75;
}

[data-browse-mode="P"] .l-main {
  font-size: 16px;
}

[data-browse-mode="S"] .l-main {
  font-size: 14px;
}

.l-main img {
  vertical-align: bottom;
}

.l-container {
  margin-left: auto;
  margin-right: auto;
  max-width: 930px;
}

[data-browse-mode="S"] .l-container {
  padding-left: 15px;
  padding-right: 15px;
}

/*-- component --*/
.c-title,
.c-text,
.c-list,
.c-def,
.c-cap {
  margin: 0;
  padding: 0;
}

.c-title.-primary {
  font-weight: bold;
}

[data-browse-mode="P"] .c-title.-primary {
  font-size: 20px;
}

[data-browse-mode="S"] .c-title.-primary {
  font-size: 18px;
}

.c-link.-text,
.c-link.-text-underline {
  color: #0085ca;
}

.c-link.-text-underline {
  text-decoration: underline;
}

@media (hover:hover) {
  .c-link.-text:hover {
    text-decoration: underline;
  }

  .c-link.-text-underline:hover {
    text-decoration: none;
  }

  .c-link.-opacity {
    transition: opacity .3s;
  }

  .c-link.-opacity:hover {
    opacity: 0.65;
  }
}

.c-button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  display: inline-block;
  margin: 0;
  min-width: 15em;
  padding: .5em 2em;
  text-align: center;
}

.c-button.-round {
  border-radius: 4em;
}

.c-button.-black {
  background-color: black;
  border: solid 1px black;
  color: white;
}

.c-button.-white {
  background-color: white;
  border: solid 1px black;
  color: black;
}

@media (hover:hover) {

  .c-button.-black,
  .c-button.-white {
    transition: background-color .3s, color .3s;
  }

  .c-button.-black:hover {
    background-color: white;
    color: black;
  }

  .c-button.-white:hover {
    background-color: black;
    color: white;
  }
}


/*-- project --*/
[data-browse-mode="P"] .p-mv .c-title {
  font-size: 24px;
}

[data-browse-mode="S"] .p-mv .c-title {
  font-size: 22px;
}

[data-browse-mode="P"] .p-mv .c-text {
  font-size: 18px;
}

.p-mv img {
  width: 100%;
}

.p-mv .hacobune-app-container {
  max-width: none !important;
  padding-bottom: 0 !important;
}

.p-mv .hacobune-unit-video-outline {
  display: none;
}

.p-movie iframe {
  aspect-ratio: 16 / 9;
  height: auto;
  width: 100%;
}

.p-article .c-cap {
  text-indent: -1em;
  padding-left: 1em;
}

[data-browse-mode="P"] .p-article .c-cap {
  margin-top: 10px;
}

[data-browse-mode="S"] .p-article .c-cap {
  margin-top: 5px;
}

.p-article .c-cap::before {
  content: '▲';
}

[data-browse-mode="P"] .p-profile__item {
  align-items: center;
  display: grid;
  gap: 0 16px;
  grid-template-columns: 1fr 2fr;
}

.p-profile__item .c-image {
  text-align: center;
}

.p-profile__item dt {
  font-weight: bold;
}

[data-browse-mode="S"] .p-profile__item dt {
  margin-top: 8px;
}

.p-profile__item dd {
  margin-top: 8px;
}

.p-map iframe {
  aspect-ratio: 4/3;
  height: auto;
  width: 100% !important;
}

/*-- utility --*/
.u-d-inline-block {
  display: inline-block;
}

[data-browse-mode="S"] .u-fs-sm-12 {
  font-size: 12px;
}

[data-browse-mode="P"] .u-fs-md-14 {
  font-size: 14px;
}

[data-browse-mode="S"] .u-fs-sm-24 {
  font-size: 24px;
}

[data-browse-mode="P"] .u-fs-md-28 {
  font-size: 28px;
}

.u-fw-bold {
  font-weight: bold;
}

[data-browse-mode="S"] .u-mt-sm-5 {
  margin-top: 5px;
}

[data-browse-mode="P"] .u-mt-md-10 {
  margin-top: 10px;
}

[data-browse-mode="S"] .u-mt-sm-24 {
  margin-top: 24px;
}

[data-browse-mode="P"] .u-mt-md-32,
[data-browse-mode="S"] .u-mt-sm-32 {
  margin-top: 10px;
}

[data-browse-mode="P"] .u-mt-md-40,
[data-browse-mode="S"] .u-mt-sm-40 {
  margin-top: 40px;
}

[data-browse-mode="P"] .u-mt-md-64,
[data-browse-mode="S"] .u-mt-sm-64 {
  margin-top: 64px;
}

[data-browse-mode="P"] .u-mt-md-80 {
  margin-top: 80px;
}

[data-browse-mode="P"] .u-mt-md-120 {
  margin-top: 120px;
}

[data-browse-mode="S"] .u-pb-sm-60 {
  padding-bottom: 60px;
}

[data-browse-mode="P"] .u-pb-md-120 {
  padding-bottom: 120px;
}

[data-browse-mode="S"] .u-pt-sm-24 {
  padding-top: 24px;
}

[data-browse-mode="P"] .u-pt-md-40 {
  padding-top: 40px;
}

.u-text-center {
  text-align: center;
}

.u-text-right {
  text-align: right;
}