@layer project {
  @layer parts;
  @layer content;
}
@layer project {
  :root {
    --color-orange: #f28e00;
    --color-main: #0068B7;
    --color-main-on: white;
    --color-sub: #d80c18;
    --color-sub-on: white;
    --color-a: var(--color-main);
    --color-border-main: rgba(0, 104, 183, 0.5);
    --color-border-sub: rgba(216, 12, 24, 0.5);
    --radius-s: 4px;
    --radius-m: 8px;
    --radius-l: 16px;
    --radius-x: 1.5em;
    /* be adjust */
  }
  @layer parts {
    /* font */
    /* animation */
    @keyframes example {
      from {
        transform: 0 0;
      }
      to {
        transform: 1 1;
      }
    }
    /* common */
    body {
      height: 100%;
      position: relative;
    }
    ._z {
      position: relative;
    }
    ._z::before {
      content: "";
      display: block;
      background-image: url(../image/project/bg.jpg);
      background-size: cover;
      background-position: center center;
      background-repeat: no-repeat;
      opacity: 0.25;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 0;
    }
    /* pj */
    /* _ */
    /* js */
    /* m */
    /* form */
    /* util */
    table.u.col thead {
      background-color: transparent;
    }
    /* embed */
    .e-content {
      padding: min(1em, 5cqw);
    }
    .e-content .e-user {
      padding: 0;
    }
    .e-content .e-user:hover {
      color: var(--color-main);
    }
    .e-content .wrapper:hover {
      color: var(--color-main);
    }
    .e-content .texts {
      padding-bottom: 0;
    }
    .e-content .title {
      font-size: 1.1em;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 1;
      overflow: hidden;
      margin: 0.5em 0;
    }
    .e-myMenu :where(a, span) {
      font-size: 0.85em;
    }
    .e-overlayMenu {
      --color: var(--color-main);
    }
    .e-overlayMenu {
      color: var(--initial-color);
      background-color: white;
    }
    .e-overlayMenu .header {
      max-width: var(--width-max-s);
      background-color: whitesmoke;
      padding: min(2em, 5cqw);
      margin-top: 5vh;
    }
    @media (min-width: 801px) {
      .e-overlayMenu .header {
        border-radius: 5vw;
      }
    }
    .e-overlayMenu .header .logout {
      display: block;
      width: fit-content;
    }
    .e-overlayMenu .menu {
      max-width: var(--width-max-s);
      margin-right: auto;
      margin-left: auto;
    }
    .e-overlayMenu .menu:first-child {
      margin-top: 5vh;
    }
    .e-overlayMenu .menu a {
      display: -webkit-flex;
      -webkit-justify-content: space-between;
      -webkit-align-items: center;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 1em;
      font-weight: bold;
      border-bottom: 1px dashed var(--color);
      padding: 1em;
    }
    .e-overlayMenu .menu a:hover {
      color: var(--color);
      opacity: 1;
      padding-left: 1.25em;
    }
    .e-overlayMenu .menu a:not([href^=http])::after {
      font-family: "FontAwesome solid";
      content: "\f138";
      vertical-align: baseline;
      color: var(--color);
    }
    .e-overlayMenu .menu a:is([href^=http])::after {
      font-family: "FontAwesome solid";
      content: "\f08e";
      vertical-align: baseline;
    }
    .e-user img {
      background-color: white;
    }
    .e-user em {
      line-height: 1.25;
    }
    .e-user .email {
      display: block;
      line-height: 1;
      margin-top: 0.5em;
    }
    /* tpl */
    .t-siteFooter {
      color: var(--color-main-on);
      background-color: var(--color-main);
    }
    @container _container (max-width: 500px) {
      .t-siteFooter .pages {
        display: block;
        padding: 0;
      }
    }
    @container _container (min-width: 501px) {
      .t-siteFooter .pages {
        padding: 5vh 0;
      }
    }
    @container _container (max-width: 500px) {
      .t-siteFooter .pages a {
        display: block;
        border-bottom: 1px solid var(--color-border-gray);
        padding: 0.75em 1em;
      }
    }
    @container _container (max-width: 500px) {
      .t-siteFooter .pages a:first-of-type {
        border-top: 1px solid var(--color-border-gray);
      }
    }
    .t-siteFooter .copyright {
      background-color: var(--color-gray-dark);
    }
    .t-siteHeader {
      color: var(--color-main-on);
      background-color: var(--color-main);
    }
    .t-siteHeader h1 a {
      padding: 0.5em;
    }
    .t-siteHeader h1 img {
      width: 2em;
    }
    .t-siteHeader .overlayMenuOpenClose {
      background-color: rgba(255, 255, 255, 0.25);
    }
    /* _component */
    :where(._event, ._blog, ._knowledge) :where(._embed_content, .e-content) {
      height: 100%;
    }
    :where(._event, ._blog, ._knowledge) .e-content {
      box-shadow: 3px 3px 3px var(--color-gray-light);
    }
  }
  @layer content {
    /* freespace */
    /* _backend */
    ._backend._user._edit ._f [name*=loginId] {
      width: 100%;
    }
    /* _area */
    /* _auth */
    ._auth._login ._f {
      display: grid;
      -webkit-place-items: center;
      place-items: center;
    }
    ._auth._login ._f main {
      width: 100%;
      max-width: 18em;
      min-height: fit-content;
    }
    ._auth._login ._f img {
      max-width: 80%;
      margin-top: 0;
      margin-bottom: 0;
      margin-right: auto;
      margin-left: auto;
      display: block;
    }
    ._auth._login ._f h2 {
      display: none;
    }
    ._auth._login ._k {
      margin-top: 0;
    }
    /* _bank */
    /* _blog */
    /* _blog/_blogpost */
    /* _blog/_blogmanage */
    ._blog._blogmanage:where(._edit, ._conf) ._f .category {
      display: none;
    }
    /* _community */
    /* _community/_community */
    /* _community/_topic */
    /* _community/_event */
    /* _community/_member */
    /* _community/_comment */
    /* _community/_communitymanage */
    /* _earnings */
    /* _event */
    /* _event/_event */
    /* _event/_eventmanage */
    /* _knowledge */
    /* _knowledge/_knowledge */
    /* _knowledge/_knowledgemanage */
    /* _mypage */
    ._mypage._add ._f [name*="[nickName]"] {
      width: 100%;
    }
    /* _mypage/_config */
    /* _notification */
    /* _purchase */
    /* _purchase/_cart */
    /* _purchase/_purchasemanage */
    /* _questionnaire */
    /* _register */
    /* _reset_password */
    /* _sale */
    /* _stc */
    /* _stc/_case */
    /* _stc/_casemanage */
    /* _stp */
    /* _stp/_product */
    /* _stp/_productmanage */
    /* _str */
    /* _str/_reserve */
    /* _str/_reservemanage */
    /* _shipping */
    /* _sitetop */
    ._sitetop._embed_sectionHeader :where(i, b) {
      display: block;
      width: fit-content;
      min-width: 50cqw;
      padding: 0.5rem 1rem;
    }
    ._sitetop._embed_sectionHeader i {
      font-size: 1.1em;
      border-bottom: 2px solid var(--color-main);
      letter-spacing: 0.1em;
      position: relative;
    }
    ._sitetop._embed_sectionHeader i::after {
      content: "";
      display: block;
      width: 10px;
      height: 10px;
      background-color: var(--color-main);
      border-radius: 100%;
      position: absolute;
      bottom: 0;
      left: 0;
      translate: -50% 50%;
    }
    ._sitetop._embed_sectionHeader b {
      font-weight: normal;
      font-size: 1rem;
    }
    ._sitetop._embed_sectionHeader .u-btn {
      margin-left: auto;
    }
    /* _sitetop/_index */
    ._sitetop._index._z::before {
      background-image: url(../image/project/bg.sitetop.jpg);
      background-size: cover;
      background-position: center center;
      background-repeat: no-repeat;
    }
    ._sitetop._index :where(._d, ._f) .u-btn {
      font-size: 1rem;
      border-radius: 1.5em;
      padding: 0.25em 1.5em;
    }
    ._sitetop._index ._d {
      background-color: inherit;
    }
    ._sitetop._index ._d ._container {
      max-width: var(--width-max-m);
      margin-right: auto;
      margin-left: auto;
      padding: 5vh 5vw;
    }
    @container _container (min-width: 601px) {
      ._sitetop._index ._d ._grid {
        display: grid;
        grid-template: "h1 news" "h1 btn";
        grid-template-columns: minmax(200px, 35cqw) 1fr;
        gap: 2.5vh 5vw;
        -webkit-align-items: center;
        align-items: center;
      }
    }
    ._sitetop._index ._d ._grid h1 {
      grid-area: h1;
    }
    @container _container (max-width: 600px) {
      ._sitetop._index ._d ._grid h1 {
        max-width: 200px;
        margin-right: auto;
        margin-left: auto;
      }
    }
    ._sitetop._index ._d ._grid .news {
      grid-area: news;
    }
    @container _container (max-width: 600px) {
      ._sitetop._index ._d ._grid .news {
        max-width: 90%;
        margin-top: 2.5vh;
        margin-bottom: 2.5vh;
        margin-right: auto;
        margin-left: auto;
      }
    }
    ._sitetop._index ._d ._grid .news header.u .u-btn {
      margin-left: auto;
    }
    ._sitetop._index ._d ._grid .news ul.u {
      background-color: white;
      border-radius: var(--radius-m);
      padding: 1em;
    }
    ._sitetop._index ._d ._grid .news li {
      padding: 0;
    }
    ._sitetop._index ._d ._grid .news li a {
      padding: 0.25em;
    }
    ._sitetop._index ._d ._grid .btn {
      grid-area: btn;
      display: block;
    }
    @container _container (max-width: 600px) {
      ._sitetop._index ._d ._grid .btn {
        padding: 1em;
      }
    }
    ._sitetop._index ._d ._grid .btn img {
      width: 100%;
    }
    :where(._sitetop._index ._f .contents > section) {
      padding: 10vh 5vw;
    }
    :where(._sitetop._index ._f .contents > section):nth-of-type(odd) {
      background-color: rgba(255, 255, 255, 0.5);
    }
    ._sitetop._index ._f .contents .c {
      max-width: 1200px;
      margin-right: auto;
      margin-left: auto;
    }
    ._sitetop._index ._f .contents .swiper-pagination {
      padding: 2.5vh 0;
    }
    ._sitetop._index ._f .contents [class*=swiper-button] {
      top: auto;
      bottom: 0;
      transform: translateY(-25%);
    }
    @media (max-width: 750px) {
      ._sitetop._index ._f .contents :where(.company) {
        padding: 5vh 5vw;
      }
    }
    @media (min-width: 751px) {
      ._sitetop._index ._f .contents :where(.company) {
        padding-top: 7.5vh;
      }
    }
    ._sitetop._index ._f .contents :where(.company) .swiper {
      margin: 2.5vh 0;
    }
    ._sitetop._index ._f .contents :where(.company) .swiper-slide {
      width: 250px;
    }
    ._sitetop._index ._f .contents :where(.company) .swiper-slide a {
      display: block;
      border: 1px solid var(--color-border-gray);
      cursor: pointer;
    }
    ._sitetop._index ._f .contents :where(.company) .swiper-slide a:hover {
      border-color: var(--color-main);
    }
    ._sitetop._index ._f .contents :where(.company) .swiper-slide img {
      width: 100%;
    }
    ._sitetop._index ._f .contents :where(.event, .blog, .knowledge) .swiper-slide {
      width: 300px;
      height: auto;
    }
    ._sitetop._index ._f .contents :where(.event, .blog, .knowledge) :where(._embed_content, .e-content) {
      height: 100%;
    }
    ._sitetop._index ._f .contents :where(.user) .swiper-slide {
      width: 16em;
      padding: 0 1em;
    }
    ._sitetop._index ._f .contents :where(.user) .userImg {
      width: 90%;
    }
    ._sitetop._index ._f .contents :where(.user) em {
      font-size: 1.1em;
    }
    /* _special */
    ._special._index._z::before {
      background-image: url(../image/project/bg.sitetop.jpg);
      background-size: cover;
      background-position: center center;
      background-repeat: no-repeat;
    }
    /* _user */
    ._user._embed_showProfile:not(:has(.lb), :has(.rb)) {
      max-width: var(--width-max-s);
      margin-right: auto;
      margin-left: auto;
    }
    @container _container (min-width: 801px) {
      ._user._embed_showProfile:where(:has(.lb), :has(.rb)) {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 5cqw;
      }
    }
    ._user._embed_showProfile :where(.rt, .lb, .rb) {
      background-color: rgba(255, 255, 255, 0.75);
      border: 1px solid var(--color-border-main);
      border-radius: var(--radius-l);
      border-top-right-radius: var(--radius-s);
      padding: 2em min(2em, 5cqw);
    }
    @container _container (max-width: 800px) {
      ._user._embed_showProfile :where(.rt, .lb, .rb) {
        margin-bottom: 2.5vh;
      }
    }
    ._user._embed_showProfile .lt {
      display: grid;
      -webkit-place-items: center;
      place-items: center;
      padding: 5vh 0;
    }
    ._user._embed_showProfile .lt img {
      display: block;
      width: min(75%, 200px);
      aspect-ratio: 1;
      background-color: white;
      border: 1px solid rgba(255, 255, 255, 0.75);
      border-radius: 100%;
      margin: 2em auto;
    }
    ._user._embed_showProfile .lt h1 {
      font-size: 2em;
      text-align: center;
    }
    ._user._embed_showProfile .lt h1:has(.gender) {
      display: -webkit-flex;
      -webkit-justify-content: center;
      -webkit-align-items: center;
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 0.5em;
    }
    ._user._embed_showProfile .lt .gender {
      display: block;
      font-size: 0.75em;
      line-height: 1;
      padding: 5px 10px;
      background: rgba(255, 255, 255, 0.5);
      border-radius: 5px;
    }
    ._user._embed_showProfile .lt .gender:not(:where(.f, .m)) {
      display: none;
    }
    ._user._embed_showProfile .lt .gender.f::before {
      font-family: "FontAwesome solid";
      content: "\f182";
      vertical-align: baseline;
      color: var(--color-sub);
    }
    ._user._embed_showProfile .lt .gender.m::before {
      font-family: "FontAwesome solid";
      content: "\f183";
      vertical-align: baseline;
      color: var(--color-main);
    }
    ._user._embed_showProfile .lt .btns:not(:empty) {
      display: -webkit-flex;
      -webkit-flex-wrap: wrap;
      -webkit-justify-content: center;
      -webkit-align-items: center;
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center;
      gap: 1em;
      margin-top: 1em;
    }
    ._user._embed_showProfile .lt .btns .u-btn {
      border-radius: 2.5em;
      padding: 1em 2em;
    }
    ._user._embed_showProfile .lt .btns .follow {
      --color: var(--color-orange);
      color: white;
      background-color: var(--color);
    }
    ._user._embed_showProfile .lt .btns .follow:hover {
      color: var(--color);
      background-color: white;
    }
    ._user._embed_showProfile .rt {
      display: grid;
      grid-template-rows: 1fr;
    }
    ._user._embed_showProfile .rt dl {
      display: grid;
      grid-template-rows: min-content;
    }
    ._user._embed_showProfile :where(dl) {
      padding: 1em;
    }
    ._user._embed_showProfile :where(dt) {
      font-weight: bold;
      font-size: 1.5em;
      margin-bottom: 0.25em;
    }
    ._user._embed_showProfile :where(dd) {
      font-size: 0.9em;
      background-color: white;
      border-radius: var(--radius-s);
      padding: 1em;
    }
    ._user._embed_showProfile :where(label) {
      cursor: auto;
    }
    ._user._search ._d ._flex {
      -webkit-justify-content: center;
      justify-content: center;
    }
    ._user._search ._d .u-btn {
      border-radius: 1.5em;
    }
    ._user._search ._f {
      --width-userList: 12em;
    }
  }
}
