@import url("https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@100..900&display=swap");
@layer project {
  @layer parts;
  @layer content;
}
@layer project {
  :root {
    --width-userList: 12em;
    --color-gray-pale: #FCFCFC;
    --color-baige: #FFFCF7;
    --color-green: #2E7D32;
    --color-main: #C90D0D;
    --color-sub: #367DBF;
    --color-border-main: rgba(201, 13, 13, 0.5);
    --color-border-sub: rgba(54, 125, 191, 0.5);
    --initial-bgColor: #FFFFFF;
    /* be adjust */
  }
  @layer parts {
    /* font */
    @import url("https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@100..900&display=swap");
    /* animation */
    @keyframes example {
      from {
        transform: 0 0;
      }
      to {
        transform: 1 1;
      }
    }
    @import url("https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@100..900&display=swap");
    /* common */
    .common-title i {
      color: var(--color-sub);
      font-family: "M PLUS 2", sans-serif;
      font-size: 3rem;
      font-weight: 900;
      display: block;
      letter-spacing: 0.1rem;
      -webkit-transform: translateY(-5%);
      transform: translateY(-5%);
    }
    @media (max-width: 599px) {
      .common-title i {
        font-size: 2.5rem;
      }
    }
    .common-title b {
      font-size: 1.1rem;
      display: block;
    }
    @media (max-width: 599px) {
      .common-title b {
        font-size: 0.9rem;
      }
    }
    .common-title.centering {
      text-align: center;
      margin-bottom: 2rem;
    }
    .common-title.left {
      display: -webkit-flex;
      -webkit-flex-wrap: wrap;
      -webkit-align-items: center;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 1rem;
      margin-bottom: 2rem;
    }
    .common-title.left .more {
      margin-left: auto;
    }
    .common-title.left .more::after {
      font-family: "FontAwesome solid";
      content: "\f105";
      vertical-align: baseline;
      margin-left: 0.5em;
    }
    @import url("https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@100..900&display=swap");
    /* pj */
    /* _ */
    /* js */
    /* m */
    @import url("https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@100..900&display=swap");
    /* form */
    @import url("https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@100..900&display=swap");
    /* util */
    .u-searchForm {
      background-color: var(--color-baige);
      padding: 1.5em 1em;
    }
    .u-searchForm > * {
      max-width: 1200px;
      margin-right: auto;
      margin-left: auto;
    }
    .u-searchForm [type=text] {
      width: 100%;
      max-width: 400px;
    }
    .u-searchForm select:not([id*=search_date]) {
      min-width: 10em;
    }
    .u-searchForm dl {
      display: -webkit-flex;
      -webkit-justify-content: center;
      -webkit-align-items: center;
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 1em;
      margin: 0.5em;
    }
    @media (max-width: 599px) {
      .u-searchForm dl {
        width: 100%;
        display: grid;
        grid-template-columns: 6em 1fr;
        gap: 0;
        align-items: center;
      }
    }
    .u-searchForm dl dt {
      font-weight: bold;
    }
    .u-searchForm dl dt label {
      font-size: 1em;
    }
    .u-searchForm ._none {
      display: none;
    }
    .u-searchForm .flex {
      display: -webkit-flex;
      -webkit-flex-wrap: wrap;
      -webkit-justify-content: center;
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 1em;
    }
    .u-searchForm .flex select {
      width: 10em;
    }
    @media (max-width: 599px) {
      .u-searchForm .flex select {
        width: 100%;
      }
    }
    .u-searchForm .u-formFooter {
      display: block;
      text-align: center;
      margin-top: 0;
      padding-top: 0;
    }
    .u-searchForm .u-formFooter .u-btn {
      margin: 1em auto;
    }
    .u-searchForm .u-formFooter button {
      border-radius: 2em;
      color: var(--color-main-on);
      background-color: var(--color-main);
      font-weight: bold;
      font-size: 1em;
      max-width: 11em;
      display: table;
    }
    .u-userList:has(._grid.col) .e-user img {
      max-width: 144px;
    }
    .u-userList .center {
      text-align: center;
    }
    @import url("https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@100..900&display=swap");
    /* embed */
    .e-content > div {
      background-color: white;
      border-radius: 0.5em;
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
      padding: 1em;
    }
    .e-content .image {
      position: relative;
    }
    .e-content .image .category {
      position: absolute;
      right: 0;
      bottom: 0;
      background-color: var(--color-green);
      color: white;
      font-weight: bold;
      padding: 0 0.5em;
      z-index: 1;
    }
    .e-contentHeader .image {
      grid-area: img;
    }
    @import url("https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@100..900&display=swap");
    /* tpl */
    .t-pager b {
      background-color: unset;
      color: var(--color-black);
      border: 0;
    }
    .t-pager a {
      background-color: unset;
      color: var(--color-gray);
      border: 0;
      font-weight: bold;
      border-radius: 0;
    }
    .t-pager:has([data-rel=next]) a:nth-last-of-type(2) {
      color: var(--color-main-on);
      background-color: var(--color-main);
    }
    .t-pager:has([data-rel=next]) a:last-of-type {
      color: var(--color-main-on);
      background-color: var(--color-main);
    }
    .t-pager:has([data-rel=prev]) a:nth-of-type(2) {
      color: var(--color-main-on);
      background-color: var(--color-main);
    }
    .t-pager:has([data-rel=prev]) a:first-of-type {
      color: var(--color-main-on);
      background-color: var(--color-main);
    }
    .t-siteFooter {
      background-color: unset;
      color: var(--color-black);
    }
    .t-siteFooter .copyright {
      color: var(--color-sub-on);
      background-color: var(--color-sub);
    }
    @media (min-width: 600px) {
      .t-siteFooter .wrap {
        display: -webkit-flex;
        -webkit-flex-wrap: wrap;
        -webkit-align-items: center;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
      }
    }
    .t-siteFooter .wrap {
      max-width: 1200px;
      margin-right: auto;
      margin-left: auto;
      padding: 2em 1em;
    }
    @media (max-width: 599px) {
      .t-siteFooter .wrap h2 {
        text-align: center;
        margin-bottom: 2em;
      }
    }
    .t-siteFooter .pages {
      padding-top: 0;
      padding-bottom: 0;
      padding-right: 1em;
      padding-left: 1em;
      margin: auto;
    }
    .t-siteFooter .pages > a:not(:first-of-type) {
      border-left: solid var(--color-border-gray) 1px;
      padding-left: 0.5em;
    }
    .t-siteHeader {
      padding: 1em;
    }
    @media (max-width: 799px) {
      .t-siteHeader {
        padding: 0.5em;
      }
    }
    .t-siteHeader > .flex {
      -webkit-align-items: center;
      align-items: center;
    }
    .t-siteHeader > .flex > *:where([href])::before {
      color: var(--color-main);
    }
    .t-siteHeader > .flex > *[href*=mypage]::before {
      font-family: "FontAwesome solid";
      content: "\f007";
      vertical-align: baseline;
    }
    .t-siteHeader .overlayMenuOpenClose {
      aspect-ratio: 1;
      border-radius: 0.5em;
    }
    @import url("https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@100..900&display=swap");
    /* _component */
  }
  @layer content {
    @import url("https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@100..900&display=swap");
    /* freespace */
    @import url("https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@100..900&display=swap");
    /* _backend */
    @import url("https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@100..900&display=swap");
    /* _blog */
    @import url("https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@100..900&display=swap");
    @import url("https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@100..900&display=swap");
    /* _community */
    @import url("https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@100..900&display=swap");
    @import url("https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@100..900&display=swap");
    /* _event */
    @import url("https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@100..900&display=swap");
    @import url("https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@100..900&display=swap");
    /* _knowledge */
    @import url("https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@100..900&display=swap");
    @import url("https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@100..900&display=swap");
    /* _mypage */
    @import url("https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@100..900&display=swap");
    /* _purchase */
    @import url("https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@100..900&display=swap");
    @import url("https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@100..900&display=swap");
    /* _stc */
    @import url("https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@100..900&display=swap");
    @import url("https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@100..900&display=swap");
    /* _stp */
    @import url("https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@100..900&display=swap");
    @import url("https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@100..900&display=swap");
    /* _str */
    @import url("https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@100..900&display=swap");
    @import url("https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@100..900&display=swap");
    /* _sitetop */
    @import url("https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@100..900&display=swap");
    /* _area */
    /* _auth */
    /* _bank */
    /* _blog/_blogpost */
    /* _blog/_blogmanage */
    /* _community/_community */
    /* _community/_topic */
    /* _community/_event */
    /* _community/_member */
    /* _community/_comment */
    /* _community/_communitymanage */
    /* _earnings */
    /* _event/_event */
    /* _event/_eventmanage */
    /* _knowledge/_knowledge */
    ._knowledge._knowledge._embed_contentHeader .category {
      color: black;
    }
    ._knowledge._knowledge._embed_contentHeader .title::before {
      color: var(--color-sub);
    }
    /* _knowledge/_knowledgemanage */
    /* _mypage/_config */
    /* _notification */
    /* _purchase/_cart */
    /* _purchase/_purchasemanage */
    /* _questionnaire */
    /* _register */
    /* _reset_password */
    /* _sale */
    /* _stc/_case */
    ._stc._case._tpl_actions {
      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: 0.5em;
      border-top: solid var(--color-border-gray) 1px;
      margin: 2em auto;
      padding: 1em;
      font-weight: bold;
    }
    ._stc._case._tpl_actions .entry {
      width: 100%;
      margin: 1em auto;
    }
    ._stc._case._tpl_actions .entry .u-btn {
      max-width: 15em;
      font-size: 1.25em;
      margin: auto;
    }
    ._stc._case._tpl_actions .entry .u-btn:hover {
      opacity: 0.7;
    }
    ._stc._case._embed_contentHeader.e-contentHeader:not(.list) {
      background-color: var(--color-bg);
      padding: 3em 1em;
    }
    ._stc._case._embed_contentHeader.e-contentHeader:not(.list) ._grid.row {
      max-width: 1200px;
      margin-right: auto;
      margin-left: auto;
    }
    ._stc._case._embed_contentHeader.e-contentHeader:not(.list) .title {
      font-size: 1.6em;
    }
    ._stc._case._embed_contentHeader.e-contentHeader:not(.list) .category span {
      background-color: var(--color-green);
      color: white;
      display: table;
      font-weight: bold;
      padding: 0.1em 0.75em;
    }
    ._stc._case._index .u-pageNav.u-sticky {
      border: 0;
    }
    ._stc._case._index h3.u {
      border-left: solid var(--color-sub) 0.5em;
      padding-left: 0.75em;
    }
    ._stc._case._index .description {
      padding-right: 0;
      padding-left: 0;
    }
    ._stc._case._index table.u.row tr:not(.ui-dialog *) {
      margin: 0;
    }
    ._stc._case._index table.u.row th {
      font-weight: bold;
    }
    ._stc._case._index .gmap {
      width: 100%;
      height: 50vh;
      max-height: 300px;
      border: 0;
    }
    /* _stc/_casemanage */
    /* _stp/_product */
    /* _stp/_productmanage */
    /* _str/_reserve */
    /* _str/_reservemanage */
    /* _shipping */
    /* _sitetop/_index */
    ._sitetop._index .m-belt {
      color: var(--color-sub-on);
      background-color: var(--color-sub);
    }
    ._sitetop._index .m-belt form {
      padding: 1em;
      max-width: unset;
    }
    ._sitetop._index .m-belt form ._flex {
      display: -webkit-flex;
      -webkit-flex-wrap: wrap;
      -webkit-justify-content: center;
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 1em;
    }
    ._sitetop._index .m-belt form ._flex h3 {
      color: white;
      text-align: center;
    }
    @media (max-width: 699px) {
      ._sitetop._index .m-belt form ._flex h3 {
        width: 100%;
      }
    }
    @media (max-width: 699px) {
      ._sitetop._index .m-belt form ._flex div {
        width: 100%;
      }
    }
    ._sitetop._index .m-belt form ._flex .select {
      position: relative;
    }
    ._sitetop._index .m-belt form ._flex .select::after {
      font-family: "FontAwesome solid";
      content: "\f107";
      vertical-align: baseline;
      width: 3rem;
      height: 3rem;
      aspect-ratio: 1/1;
      display: -webkit-flex;
      -webkit-justify-content: center;
      -webkit-align-items: center;
      display: flex;
      justify-content: center;
      align-items: center;
      position: absolute;
      top: 0;
      right: 0;
      z-index: 1;
      border-radius: 0 5px 5px 0;
      background-color: var(--color-main);
      color: white;
      pointer-events: none;
      font-size: 1.5em;
    }
    ._sitetop._index .m-belt form ._flex .select select {
      border-radius: 5px;
      cursor: pointer;
      height: 3em;
      width: 14em;
    }
    @media (max-width: 699px) {
      ._sitetop._index .m-belt form ._flex .select select {
        width: 100%;
      }
    }
    ._sitetop._index .m-belt form ._flex [type=text] {
      border-radius: 5px;
      height: 3em;
    }
    @media (max-width: 699px) {
      ._sitetop._index .m-belt form ._flex [type=text] {
        width: 100%;
      }
    }
    ._sitetop._index .m-belt form ._flex .u-btn {
      width: 3rem;
      height: 3rem;
      border: 0;
      border-radius: 50%;
    }
    ._sitetop._index ._d .mv {
      max-width: 1920px;
      margin-right: auto;
      margin-left: auto;
      display: grid;
      align-items: center;
      aspect-ratio: 1920/1040;
      background-image: url("/image/mv_bg.jpg");
      background-size: cover;
      background-position: center center;
      padding: 1em;
    }
    @media (max-width: 999px) {
      ._sitetop._index ._d .mv {
        aspect-ratio: 1/1;
      }
    }
    @media (max-width: 599px) {
      ._sitetop._index ._d .mv {
        aspect-ratio: unset;
        background-position: center top;
        background-size: contain;
        background-repeat: no-repeat;
        padding: 0.8em;
      }
    }
    ._sitetop._index ._d .mv .text {
      max-width: 1200px;
      margin-right: auto;
      margin-left: auto;
      width: 100%;
    }
    @media (max-width: 599px) {
      ._sitetop._index ._d .mv .text .logo {
        padding: 2em 0;
      }
    }
    @media (max-width: 599px) {
      ._sitetop._index ._d .mv .text .logo img {
        max-width: 50%;
      }
    }
    ._sitetop._index ._d .mv .text h1 {
      font-size: 2.2em;
      margin: 1em 0;
      word-break: keep-all;
    }
    @media (max-width: 999px) {
      ._sitetop._index ._d .mv .text h1 {
        font-size: 1.8em;
        max-width: 70%;
      }
    }
    @media (max-width: 599px) {
      ._sitetop._index ._d .mv .text h1 {
        font-size: 1.1em;
        max-width: 100%;
        margin-top: 2em;
      }
    }
    ._sitetop._index ._d .mv .text p {
      font-size: 1.5em;
      font-weight: bold;
      width: 100%;
      word-break: keep-all;
    }
    @media (max-width: 999px) {
      ._sitetop._index ._d .mv .text p {
        font-size: 1.2em;
        max-width: 70%;
      }
    }
    @media (max-width: 599px) {
      ._sitetop._index ._d .mv .text p {
        font-size: 0.9em;
        max-width: 100%;
      }
      ._sitetop._index ._d .mv .text p .pc {
        display: none;
      }
    }
    ._sitetop._index ._f .common-title.left {
      border-bottom: solid var(--color-sub) 1px;
    }
    ._sitetop._index ._f > section {
      padding: 1em;
    }
    ._sitetop._index ._f > section .wrap {
      max-width: 1200px;
      margin-right: auto;
      margin-left: auto;
      padding: 3em 0;
    }
    ._sitetop._index ._f > section.introduction dl {
      display: -webkit-flex;
      -webkit-justify-content: center;
      -webkit-align-items: center;
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 1em;
    }
    ._sitetop._index ._f > section.introduction dl dd {
      font-size: 2em;
      font-weight: bold;
    }
    @media (max-width: 799px) {
      ._sitetop._index ._f > section.introduction dl dd {
        font-size: 1.2em;
      }
    }
    @media (max-width: 599px) {
      ._sitetop._index ._f > section.introduction dl dd {
        font-size: 1em;
      }
    }
    ._sitetop._index ._f > section.introduction ul {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 2em;
    }
    @media (max-width: 799px) {
      ._sitetop._index ._f > section.introduction ul {
        grid-template-columns: repeat(2, 1fr);
      }
    }
    @media (max-width: 599px) {
      ._sitetop._index ._f > section.introduction ul {
        grid-template-columns: 1fr;
      }
    }
    ._sitetop._index ._f > section.introduction ul li {
      display: grid;
      grid-template-rows: 10em 3em auto;
    }
    ._sitetop._index ._f > section.introduction ul li .image {
      width: 100%;
      padding: 1em;
    }
    ._sitetop._index ._f > section.introduction ul li .image img {
      width: 100%;
      height: 100%;
      object-fit: contain;
    }
    ._sitetop._index ._f > section.introduction ul li h3 {
      color: var(--color-sub-on);
      background-color: var(--color-sub);
      font-size: 1.2em;
      text-align: center;
      padding: 0.5em;
    }
    ._sitetop._index ._f > section.introduction ul li p {
      background-color: var(--color-baige);
      padding: 1em;
    }
    ._sitetop._index ._f > section.about h3 {
      font-size: 1.5em;
      text-align: center;
      margin-bottom: 1.5em;
    }
    ._sitetop._index ._f > section.about .image {
      text-align: center;
    }
    ._sitetop._index ._f .m-contents .swiper-slide {
      max-width: 366.6666666667px;
      padding: 1em;
    }
    ._sitetop._index ._f .m-contents [class*=swiper-button]::after {
      color: var(--color-gray-dark);
      font-size: 1.5rem;
      font-weight: bold;
    }
    ._sitetop._index ._f .m-contents [class*=swiper-button][class*=next] {
      right: 0;
    }
    ._sitetop._index ._f .m-contents [class*=swiper-button][class*=prev] {
      left: 0;
    }
    ._sitetop._index ._f .m-contents > section {
      background-color: unset;
    }
    ._sitetop._index ._f .m-contents > section::before {
      display: none;
    }
    ._sitetop._index ._f .m-contents > section::after {
      display: none;
    }
    ._sitetop._index ._f .m-contents > section .wrap {
      max-width: 1200px;
      margin-right: auto;
      margin-left: auto;
      padding: 3em 0;
    }
    ._sitetop._index ._f .m-contents > section.mase {
      background-color: var(--color-gray-pale);
    }
    ._sitetop._index ._f .m-contents > section.mase .caseListtypeA2 {
      max-width: 1100px;
      margin-right: auto;
      margin-left: auto;
    }
    ._sitetop._index ._f .m-contents > section.m-news {
      background-color: var(--color-baige);
    }
    ._sitetop._index ._f .m-contents > section.m-news > ._container {
      padding: 3em 1em;
    }
    ._sitetop._index ._f .m-contents > section.m-news > ._container ul.u > li {
      padding: 0;
    }
    ._sitetop._index ._f .m-contents > section.sns {
      background-color: var(--color-gray-pale);
    }
    /* _special */
    /* _user */
    ._user._embed_showProfile {
      max-width: 1200px;
      margin-right: auto;
      margin-left: auto;
    }
    ._user._embed_showProfile th {
      font-weight: bold;
    }
    ._user._info ._b .pageHeader {
      background-color: var(--color-baige);
      padding: 3em 1em;
    }
    ._user._info ._b .pageHeader .wrap {
      max-width: 1200px;
      margin-right: auto;
      margin-left: auto;
    }
    ._user._info ._b .pageHeader .wrap .e-user img {
      width: 112px;
    }
    ._user._info ._b .pageHeader .wrap .e-user em {
      font-size: 1.5em;
    }
  }
}
