@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;700&display=swap");
@import url("sanitize.css") layer( foundation );
@layer foundation, foundation_wp_post, foundation_wp_auto_add, layout, component, project;
:root {
  --header-height: 112px;
  --site-layout-width: 86%;
  --site-layout-max-width: 1728px;
  --site-layout-width-02: 86%;
  --site-layout-max-width-02: 1536px;
  --site-layout-width-03: 86%;
  --site-layout-max-width-03: 1267px;
  --site-layout-width-04: 86%;
  --site-layout-max-width-04: 960px;
  --site-layout-width-05: 86%;
  --site-layout-max-width-05: 1536px;
  --def-content-tb-gap: 64px;
  --def-content-lr-gap: 8px;
}
@media all and (min-width: 768px) {
  :root {
    --header-height: 200px;
    --site-layout-width: 90%;
    --site-layout-width-02: 80%;
    --site-layout-width-03: 80%;
    --site-layout-width-04: 80%;
    --def-content-tb-gap: 128px;
  }
}
@media all and (min-width: 992px) {
  :root {
    --site-layout-width-05: 80%;
  }
}

@layer foundation {
  html {
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
    font-size: 15px;
    line-height: 1.8;
    -ms-scroll-chaining: none;
        overscroll-behavior: none;
    scroll-behavior: smooth;
  }
  @media all and (min-width: 1280px) {
    html {
      font-size: 17.2px;
    }
  }
  body {
    margin: 0;
    font-family: "Helvetica Neue", Arial, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    -ms-scroll-chaining: none;
        overscroll-behavior: none;
  }
  p {
    margin-block: 1rem;
  }
  h1, h2, h3, h4, h5, h6 {
    margin-block: 2em 0;
  }
  h1 {
    font-size: 1.5em;
  }
  h2 {
    font-size: 1.4em;
  }
  h3 {
    font-size: 1.3em;
  }
  h4 {
    font-size: 1.2em;
  }
  h5 {
    font-size: 1.1em;
  }
  h6 {
    font-size: 1em;
  }
  a {
    -webkit-transition: opacity 0.2s;
    transition: opacity 0.2s;
  }
  a:hover {
    opacity: 0.5;
  }
  img {
    max-width: 100%;
    height: auto;
  }
  address {
    font-style: normal;
  }
  hr {
    margin: 0;
  }
}
@layer foundation_wp_post {
  #tinymce, .post, .type-houseinfo, .type-works, .f-wp-post-default {
    letter-spacing: 0.1em;
    line-height: 2;
    font-size: 16px;
  }
  #tinymce p, .post p, .type-houseinfo p, .type-works p, .f-wp-post-default p {
    margin-block: 64px;
  }
  #tinymce h1, #tinymce h2, #tinymce h3, #tinymce h4, #tinymce h5, #tinymce h6, .post h1, .post h2, .post h3, .post h4, .post h5, .post h6, .type-houseinfo h1, .type-houseinfo h2, .type-houseinfo h3, .type-houseinfo h4, .type-houseinfo h5, .type-houseinfo h6, .type-works h1, .type-works h2, .type-works h3, .type-works h4, .type-works h5, .type-works h6, .f-wp-post-default h1, .f-wp-post-default h2, .f-wp-post-default h3, .f-wp-post-default h4, .f-wp-post-default h5, .f-wp-post-default h6 {
    margin-block: 4em 0;
    line-height: 1.5;
  }
  #tinymce h1, .post h1, .type-houseinfo h1, .type-works h1, .f-wp-post-default h1 {
    font-size: 2.5em;
  }
  #tinymce h2, .post h2, .type-houseinfo h2, .type-works h2, .f-wp-post-default h2 {
    font-size: 1.8em;
  }
  #tinymce h3, .post h3, .type-houseinfo h3, .type-works h3, .f-wp-post-default h3 {
    font-size: 1.5em;
  }
  #tinymce h4, .post h4, .type-houseinfo h4, .type-works h4, .f-wp-post-default h4 {
    font-size: 1.25em;
  }
  #tinymce h5, .post h5, .type-houseinfo h5, .type-works h5, .f-wp-post-default h5 {
    font-size: 1.1em;
  }
  #tinymce h6, .post h6, .type-houseinfo h6, .type-works h6, .f-wp-post-default h6 {
    font-size: 1em;
  }
  #tinymce ul, #tinymce ol, .post ul, .post ol, .type-houseinfo ul, .type-houseinfo ol, .type-works ul, .type-works ol, .f-wp-post-default ul, .f-wp-post-default ol {
    margin-block: 32px;
    padding-left: 16px;
  }
  #tinymce ul ul, #tinymce ul ol, #tinymce ol ul, #tinymce ol ol, .post ul ul, .post ul ol, .post ol ul, .post ol ol, .type-houseinfo ul ul, .type-houseinfo ul ol, .type-houseinfo ol ul, .type-houseinfo ol ol, .type-works ul ul, .type-works ul ol, .type-works ol ul, .type-works ol ol, .f-wp-post-default ul ul, .f-wp-post-default ul ol, .f-wp-post-default ol ul, .f-wp-post-default ol ol {
    margin-block: 16px;
  }
  #tinymce table, .post table, .type-houseinfo table, .type-works table, .f-wp-post-default table {
    border-collapse: collapse;
    margin-block: 2em;
  }
  #tinymce table th, #tinymce table td, .post table th, .post table td, .type-houseinfo table th, .type-houseinfo table td, .type-works table th, .type-works table td, .f-wp-post-default table th, .f-wp-post-default table td {
    border: solid 1px;
    padding: 0.5em;
  }
  #tinymce dl, .post dl, .type-houseinfo dl, .type-works dl, .f-wp-post-default dl {
    margin-block: 2em;
  }
  #tinymce dl dt, .post dl dt, .type-houseinfo dl dt, .type-works dl dt, .f-wp-post-default dl dt {
    margin-block: 1em 0.5em;
  }
  #tinymce dl dd, .post dl dd, .type-houseinfo dl dd, .type-works dl dd, .f-wp-post-default dl dd {
    margin-block: 0.5em 1em;
    margin-left: 2em;
  }
  #tinymce hr, .post hr, .type-houseinfo hr, .type-works hr, .f-wp-post-default hr {
    margin-block: 2em;
  }
  #tinymce pre, .post pre, .type-houseinfo pre, .type-works pre, .f-wp-post-default pre {
    overflow: auto;
    line-height: 1em;
  }
  #tinymce blockquote, .post blockquote, .type-houseinfo blockquote, .type-works blockquote, .f-wp-post-default blockquote {
    overflow: hidden;
    padding: 0 2.5em;
    background-color: #f3f3f3;
  }
  #tinymce blockquote cite, .post blockquote cite, .type-houseinfo blockquote cite, .type-works blockquote cite, .f-wp-post-default blockquote cite {
    display: block;
    text-align: right;
  }
  #tinymce code, #tinymce kbd, .post code, .post kbd, .type-houseinfo code, .type-houseinfo kbd, .type-works code, .type-works kbd, .f-wp-post-default code, .f-wp-post-default kbd {
    font-family: monospace;
  }
}
@layer foundation_wp_auto_add {
  .alignnone {
    margin: 0;
  }
  .aligncenter,
  div.aligncenter {
    display: block;
    margin: 0;
    margin-inline: auto;
  }
  .alignright {
    float: right;
    margin: 0.5em 0 0 1em;
  }
  .alignleft {
    float: left;
    margin: 0.5em 1em 0 0;
  }
  .wp-caption {
    max-width: 100%;
    position: relative;
    text-align: center;
  }
  .wp-caption img {
    width: auto;
    height: auto;
  }
  .wp-caption .wp-caption-text {
    width: 100%;
    margin: 0;
    padding: 0.5em 1em 1em 1em;
    position: absolute;
    bottom: 0;
    left: 0;
    color: #fff;
    background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.7019607843)), color-stop(70%, rgba(0, 0, 0, 0.3019607843)), to(rgba(0, 0, 0, 0)));
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.7019607843), rgba(0, 0, 0, 0.3019607843) 70%, rgba(0, 0, 0, 0));
    font-size: 0.8em;
    line-height: 1.4;
  }
  /* Text meant only for screen readers. */
  .screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(50%);
            clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
  }
  .screen-reader-text:focus {
    background-color: #eee;
    clip: auto !important;
    -webkit-clip-path: none;
            clip-path: none;
    color: #444;
    display: block;
    font-size: 1em;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
    /* Above WP toolbar. */
  }
  .bypostauthor {
    display: block;
  }
  .gallery {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin-block: 2em;
    margin-inline: 0;
    padding: 0;
    gap: 0.5em;
  }
  .gallery > br {
    display: none;
  }
  .gallery .gallery-item {
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    margin: 0;
    padding: 0;
    position: relative;
    text-align: center;
    float: none;
  }
  .gallery .gallery-item .gallery-icon {
    height: 100%;
    margin: 0;
    text-align: center;
  }
  .gallery .gallery-item .gallery-icon img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .gallery .gallery-item .gallery-caption {
    width: 100%;
    margin: 0;
    padding: 0.5em 1em 1em 1em;
    text-align: center;
    font-size: 0.8em;
    line-height: 1.4;
    position: absolute;
    bottom: 0;
    left: 0;
    color: #fff;
    background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.7019607843)), color-stop(70%, rgba(0, 0, 0, 0.3019607843)), to(rgba(0, 0, 0, 0)));
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.7019607843), rgba(0, 0, 0, 0.3019607843) 70%, rgba(0, 0, 0, 0));
  }
  .gallery-columns-1 > .gallery-item {
    width: -webkit-calc((100% - 0em) / 1);
    width: calc((100% - 0em) / 1);
  }
  @media not all and (min-width: 768px) {
    .gallery-columns-1 > .gallery-item {
      width: -webkit-calc(50% - 0.25em);
      width: calc(50% - 0.25em);
    }
  }
  .gallery-columns-2 > .gallery-item {
    width: -webkit-calc((100% - 0.5em) / 2);
    width: calc((100% - 0.5em) / 2);
  }
  @media not all and (min-width: 768px) {
    .gallery-columns-2 > .gallery-item {
      width: -webkit-calc(50% - 0.25em);
      width: calc(50% - 0.25em);
    }
  }
  .gallery-columns-3 > .gallery-item {
    width: -webkit-calc((100% - 1em) / 3);
    width: calc((100% - 1em) / 3);
  }
  @media not all and (min-width: 768px) {
    .gallery-columns-3 > .gallery-item {
      width: -webkit-calc(50% - 0.25em);
      width: calc(50% - 0.25em);
    }
  }
  .gallery-columns-4 > .gallery-item {
    width: -webkit-calc((100% - 1.5em) / 4);
    width: calc((100% - 1.5em) / 4);
  }
  @media not all and (min-width: 768px) {
    .gallery-columns-4 > .gallery-item {
      width: -webkit-calc(50% - 0.25em);
      width: calc(50% - 0.25em);
    }
  }
  .gallery-columns-5 > .gallery-item {
    width: -webkit-calc((100% - 2em) / 5);
    width: calc((100% - 2em) / 5);
  }
  @media not all and (min-width: 768px) {
    .gallery-columns-5 > .gallery-item {
      width: -webkit-calc(50% - 0.25em);
      width: calc(50% - 0.25em);
    }
  }
  .gallery-columns-6 > .gallery-item {
    width: -webkit-calc((100% - 2.5em) / 6);
    width: calc((100% - 2.5em) / 6);
  }
  @media not all and (min-width: 768px) {
    .gallery-columns-6 > .gallery-item {
      width: -webkit-calc(50% - 0.25em);
      width: calc(50% - 0.25em);
    }
  }
  .gallery-columns-7 > .gallery-item {
    width: -webkit-calc((100% - 3em) / 7);
    width: calc((100% - 3em) / 7);
  }
  @media not all and (min-width: 768px) {
    .gallery-columns-7 > .gallery-item {
      width: -webkit-calc(50% - 0.25em);
      width: calc(50% - 0.25em);
    }
  }
  .gallery-columns-8 > .gallery-item {
    width: -webkit-calc((100% - 3.5em) / 8);
    width: calc((100% - 3.5em) / 8);
  }
  @media not all and (min-width: 768px) {
    .gallery-columns-8 > .gallery-item {
      width: -webkit-calc(50% - 0.25em);
      width: calc(50% - 0.25em);
    }
  }
  .gallery-columns-9 > .gallery-item {
    width: -webkit-calc((100% - 4em) / 9);
    width: calc((100% - 4em) / 9);
  }
  @media not all and (min-width: 768px) {
    .gallery-columns-9 > .gallery-item {
      width: -webkit-calc(50% - 0.25em);
      width: calc(50% - 0.25em);
    }
  }
}
@layer layout {
  .l-site {
    position: relative;
    z-index: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
    min-height: 100vh;
    min-height: 100dvh;
    opacity: 0;
    -webkit-animation: site-fade-in 1s ease 0s forwards;
            animation: site-fade-in 1s ease 0s forwards;
  }
  .l-site__menu-flag {
    display: none;
  }
  .l-site__header {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    height: var(--header-height);
  }
  .l-site__menu {
    overflow: scroll;
    position: fixed;
    z-index: 3;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    color: #fff;
    background-color: #000;
    -webkit-transition: opacity 0.25s, visibility 0.25s;
    transition: opacity 0.25s, visibility 0.25s;
    -ms-scroll-chaining: none;
        overscroll-behavior: none;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .l-site__menu-webkit-scrollbar {
    display: none;
  }
  .l-site__menu__contents {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    min-height: -webkit-calc(100% + 1px);
    min-height: calc(100% + 1px);
  }
  .l-site__body {
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    z-index: 1;
  }
  .l-site__footer {
    width: 100%;
    z-index: 1;
  }
  .l-site__menu-flag:not(:checked) ~ .l-site__menu {
    opacity: 0;
    visibility: hidden;
  }
  @-webkit-keyframes site-fade-in {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
  @keyframes site-fade-in {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
}
@layer layout {
  .l-site-header {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0 1em;
    width: var(--site-layout-width);
    margin-inline: auto;
  }
  .l-site-header__right {
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
    -webkit-justify-content: end;
        -ms-flex-pack: end;
            justify-content: end;
  }
  .l-site-header__right__contents {
    position: fixed;
  }
}
@layer layout {
  .l-site-menu {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    height: 100dvh;
    width: var(--site-layout-width);
    margin-inline: auto;
  }
  body.logged-in .l-site-menu {
    padding-top: var(--wp-admin--admin-bar--height);
  }
  .l-site-menu__logo {
    width: 50%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .l-site-menu__logo__contents {
    position: fixed;
    margin-top: 30px;
  }
  .l-site-menu__close-btn {
    width: 50%;
    text-align: right;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .l-site-menu__close-btn__contents {
    position: fixed;
    margin-top: 15px;
  }
  .l-site-menu__body {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    max-height: 100%;
    padding-top: 192px;
    padding-bottom: 40px;
  }
  .l-site-menu__body__contents {
    overflow: auto;
    max-height: 100%;
  }
  @media all and (min-width: 768px) {
    .l-site-menu__logo {
      -webkit-box-ordinal-group: 2;
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1;
      width: 50%;
      padding-top: 150px;
    }
    .l-site-menu__logo__contents {
      margin-top: 0;
    }
    .l-site-menu__close-btn {
      -webkit-box-ordinal-group: 1;
      -webkit-order: 0;
          -ms-flex-order: 0;
              order: 0;
      width: 100%;
    }
    .l-site-menu__close-btn__contents {
      margin-top: 50px;
    }
    .l-site-menu__body {
      -webkit-box-ordinal-group: 3;
      -webkit-order: 2;
          -ms-flex-order: 2;
              order: 2;
      width: 50%;
      padding-top: 150px;
      -webkit-box-align: start;
      -webkit-align-items: flex-start;
          -ms-flex-align: start;
              align-items: flex-start;
    }
  }
}
@layer layout {
  .l-site-body {
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
  }
  .l-site-body__hero {
    width: 100%;
  }
  .l-site-body__contents {
    width: 100%;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
  .l-site-body__footer {
    width: 100%;
  }
}
@layer layout {
  .l-site-footer {
    background-color: #fff;
  }
  .l-site-footer-sub-info {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 2em;
    width: 100%;
  }
}
@layer component {
  .c-object-fit-cover {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .c-object-fit-contain {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
}
@layer component {
  .c-overlap {
    position: relative;
    z-index: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
  }
  .c-overlap__bg {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .c-overlap__front {
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    z-index: 0;
  }
  .c-overlap--lay-gray {
    position: relative;
  }
  .c-overlap--lay-gray .c-overlap__front::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    opacity: 0.4;
  }
}
@layer component {
  .c-position {
    position: relative;
  }
  .c-position__top {
    position: absolute;
    top: 0;
  }
  .c-position__right {
    position: absolute;
    right: 0;
  }
  .c-position__bottom {
    position: absolute;
    bottom: 0;
  }
  .c-position__left {
    position: absolute;
    left: 0;
  }
}
@layer component {
  .c-responsive {
    overflow: hidden;
    position: relative;
    padding-bottom: 100%;
    height: 0;
  }
  .c-responsive--16x9 {
    padding-bottom: 56.25%;
  }
  .c-responsive > * {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}
@layer project {
  .p-ul-01 {
    overflow: hidden;
    margin: -0.5em 0 0 0;
    padding: 0;
    line-height: 1.4;
    list-style: none;
  }
  .p-ul-01 li {
    position: relative;
    margin-top: 0.5em;
    padding-left: 1em;
  }
  .p-ul-01 li::before {
    content: "・";
    position: absolute;
    left: 0;
    width: 1em;
    display: inline-block;
  }
  .p-ul-01 ul {
    margin-top: 0.5em;
  }
  .p-ul-01 ul li {
    margin-top: 0;
    padding-left: 1.4em;
  }
  .p-ul-01 ul li::before {
    content: "—";
  }
  .p-ul-02 {
    list-style: none;
    margin: 0;
    padding: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    max-width: 800px;
    margin-inline: auto;
    gap: 30px 0;
  }
  .p-ul-02 > * {
    width: 50%;
    text-align: center;
  }
  @media all and (min-width: 768px) {
    .p-ul-02 {
      gap: 60px 0;
    }
    .p-ul-02 > * {
      width: 33.33%;
    }
  }
}
@layer project {
  .p-hover-grow {
    -webkit-transition: none;
    transition: none;
  }
  .p-hover-grow____target {
    -webkit-transition: -webkit-transform 0.2s;
    transition: -webkit-transform 0.2s;
    transition: transform 0.2s;
    transition: transform 0.2s, -webkit-transform 0.2s;
  }
  .p-hover-grow:hover {
    opacity: 1;
  }
  .p-hover-grow:hover .p-hover-grow____target {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  .p-hover-slow-grow____target {
    -webkit-transition: -webkit-transform 10s;
    transition: -webkit-transform 10s;
    transition: transform 10s;
    transition: transform 10s, -webkit-transform 10s;
    -webkit-transition-timing-function: linear;
            transition-timing-function: linear;
  }
  .p-hover-slow-grow:hover .p-hover-slow-grow____target {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
}
@layer project {
  .p-btn-no-design {
    color: inherit;
    text-decoration: none;
  }
  .p-btn {
    position: relative;
    display: inline-block;
    height: 100%;
    width: 100%;
    padding: 0.8em 3em 0.8em 2em;
    border-radius: 9999px;
    color: #fff;
    background-color: #928178;
    text-decoration: none;
    line-height: 1.4;
    letter-spacing: 0.1em;
    text-align: center;
  }
  .p-btn::before {
    content: "";
    position: absolute;
    right: 1.5em;
    top: 50%;
    width: 1em;
    height: 1em;
    border-top: 4px solid #fff;
    border-right: 4px solid #fff;
    -webkit-transform: translateY(-50%) rotate(45deg) scale(0.5);
            transform: translateY(-50%) rotate(45deg) scale(0.5);
  }
  .p-btn-02 {
    overflow: hidden;
    position: relative;
    display: inline-block;
    padding: 1.2em 2em;
    border-radius: 9999px;
    color: #000;
    background-color: #fff;
    text-decoration: none;
    line-height: 1.4;
    letter-spacing: 0;
    text-align: center;
    -webkit-transition: color 0.3s;
    transition: color 0.3s;
  }
  .p-btn-02::before {
    content: "";
    position: absolute;
    top: 0;
    left: -25%;
    width: 150%;
    height: 100%;
    background-color: #928178;
    -webkit-transform: scaleX(0) skewX(-25deg);
            transform: scaleX(0) skewX(-25deg);
    -webkit-transform-origin: left;
            transform-origin: left;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
  }
  .p-btn-02__inner {
    position: relative;
    padding-right: 1.5em;
  }
  .p-btn-02__inner::after {
    content: "";
    position: absolute;
    left: -webkit-calc(100% - 1em);
    left: calc(100% - 1em);
    top: 50%;
    width: 1em;
    height: 1em;
    border-top: 4px solid;
    border-right: 4px solid;
    -webkit-transform: translateY(-50%) rotate(45deg) scale(0.5);
            transform: translateY(-50%) rotate(45deg) scale(0.5);
  }
  .p-btn-02:hover {
    opacity: 1;
    color: #fff;
  }
  .p-btn-02:hover::before {
    -webkit-transform: scaleX(1) skewX(-25deg);
            transform: scaleX(1) skewX(-25deg);
  }
  .p-btn-02--01 {
    border: 1px solid;
  }
  .p-btn-02--02 {
    background-color: #009c55;
    color: #fff;
    letter-spacing: 2px;
    padding: 0.75em 4em;
  }
  .p-btn-03 {
    overflow: hidden;
    display: inline-block;
    padding: 0.8em 2em;
    border-radius: 9999px;
    color: #fff;
    background-color: #4d4d4d;
    text-decoration: none;
    line-height: 1.4;
    letter-spacing: 0;
    text-align: center;
  }
}
@layer project {
  .p-icon-right--outer-link {
    position: relative;
    padding-right: 1.5em;
  }
  .p-icon-right--outer-link::after {
    content: "";
    position: absolute;
    left: -webkit-calc(100% - 1em);
    left: calc(100% - 1em);
    top: 50%;
    width: 1em;
    height: 1em;
    background-image: url("data:image/svg+xml;charset=utf8, %3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22_レイヤー_1%22%20viewBox%3D%220%200%20782.85%20760%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1{fill%3A%23fff%3Bstroke-width%3A0}%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M649.22%20424.64c-17.76%200-32.16%2014.4-32.16%2032.16v218.78c0%2011.1-9%2020.1-20.1%2020.1H84.42c-11.1%200-20.1-9-20.1-20.1V163.04c0-11.1%209-20.1%2020.1-20.1H303.2c17.76%200%2032.16-14.4%2032.16-32.16%200-17.76-14.4-32.16-32.16-32.16H46.97c-12.53%200-24.33%204.89-33.2%2013.77C4.89%20101.26%200%20113.06%200%20125.59v587.44c0%2012.53%204.89%2024.32%2013.77%2033.2%208.88%208.88%2020.67%2013.77%2033.2%2013.77h587.44c25.9%200%2046.97-21.07%2046.97-46.97V456.8c0-17.76-14.4-32.16-32.16-32.16Z%22%20class%3D%22cls-1%22%2F%3E%3Cpath%20d%3D%22M741.16%200H514.18c-23.03%200-41.69%2018.67-41.69%2041.69%200%2023.03%2018.67%2041.7%2041.69%2041.7h126.31L352.02%20371.86c-16.28%2016.28-16.28%2042.68%200%2058.97%2016.28%2016.28%2042.68%2016.28%2058.97%200l288.47-288.47v126.31c0%2023.03%2018.67%2041.69%2041.69%2041.69%2023.03%200%2041.69-18.67%2041.69-41.69V41.69C782.84%2018.66%20764.17%200%20741.15%200Z%22%20class%3D%22cls-1%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .p-icon-right--outer-link--black::after {
    background-image: url("data:image/svg+xml;charset=utf8, %3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22_レイヤー_1%22%20viewBox%3D%220%200%20782.85%20760%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1{fill%3A%231a1a1a%3Bstroke-width%3A0}%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M649.22%20424.64c-17.76%200-32.16%2014.4-32.16%2032.16v218.78c0%2011.1-9%2020.1-20.1%2020.1H84.42c-11.1%200-20.1-9-20.1-20.1V163.04c0-11.1%209-20.1%2020.1-20.1H303.2c17.76%200%2032.16-14.4%2032.16-32.16%200-17.76-14.4-32.16-32.16-32.16H46.97c-12.53%200-24.33%204.89-33.2%2013.77C4.89%20101.26%200%20113.06%200%20125.59v587.44c0%2012.53%204.89%2024.32%2013.77%2033.2%208.88%208.88%2020.67%2013.77%2033.2%2013.77h587.44c25.9%200%2046.97-21.07%2046.97-46.97V456.8c0-17.76-14.4-32.16-32.16-32.16Z%22%20class%3D%22cls-1%22%2F%3E%3Cpath%20d%3D%22M741.16%200H514.18c-23.03%200-41.69%2018.67-41.69%2041.69%200%2023.03%2018.67%2041.7%2041.69%2041.7h126.31L352.02%20371.86c-16.28%2016.28-16.28%2042.68%200%2058.97%2016.28%2016.28%2042.68%2016.28%2058.97%200l288.47-288.47v126.31c0%2023.03%2018.67%2041.69%2041.69%2041.69%2023.03%200%2041.69-18.67%2041.69-41.69V41.69C782.84%2018.66%20764.17%200%20741.15%200Z%22%20class%3D%22cls-1%22%2F%3E%3C%2Fsvg%3E");
  }
}
@layer project {
  .p-hr {
    position: relative;
    z-index: 0;
    text-align: center;
    font-size: 1.2rem;
    font-weight: bold;
  }
  .p-hr::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 0;
    display: block;
    width: 100%;
    border-bottom: 4px dotted #000000;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .p-hr__text {
    background-color: #fff;
    padding-inline: 1.2em;
  }
  @media all and (min-width: 768px) {
    .p-hr {
      font-size: 1.4rem;
    }
  }
}
@layer project {
  .p-nav-menu {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1em;
  }
  .p-nav-menu:hover a, .p-nav-menu:hover span {
    opacity: 0.5;
  }
  .p-nav-menu__item:hover a, .p-nav-menu__item:hover span {
    opacity: 1;
  }
  @media all and (min-width: 768px) {
    .p-nav-menu {
      gap: 1.5em;
    }
  }
  .p-nav-menu-item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-align: baseline;
    -webkit-align-items: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    line-height: 1.4;
  }
  .p-nav-menu-item a {
    position: relative;
    color: inherit;
    text-decoration: none;
  }
  .p-nav-menu-item a::after {
    content: "";
    display: block;
    border-bottom: 1px solid;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transform-origin: left;
            transform-origin: left;
    -webkit-transition: -webkit-transform 0.2s;
    transition: -webkit-transform 0.2s;
    transition: transform 0.2s;
    transition: transform 0.2s, -webkit-transform 0.2s;
  }
  .p-nav-menu-item a:hover {
    opacity: 1;
  }
  .p-nav-menu-item a:hover::after {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
  .p-nav-menu-item__main {
    width: 100%;
    font-size: 26px;
    font-weight: bold;
  }
  .p-nav-menu-item__main a {
    display: inline-block;
  }
  .p-nav-menu-item__sub {
    width: 100%;
    font-size: 14px;
    font-weight: normal;
  }
  .p-nav-menu-item__sub a {
    display: inline-block;
    margin-top: 0.5em;
    margin-right: 2em;
  }
  @media all and (min-width: 768px) {
    .p-nav-menu-item__main {
      font-size: 36px;
    }
    .p-nav-menu-item__sub {
      font-size: 16px;
    }
  }
  .p-nav-footer-banner-link {
    --footer-banner-link-gap: 32px;
    --footer-banner-link-count: 1;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: var(--footer-banner-link-gap);
  }
  .p-nav-footer-banner-link > * {
    overflow: hidden;
    display: block;
    width: -webkit-calc((100% - var(--footer-banner-link-gap) * (var(--footer-banner-link-count) - 1)) / var(--footer-banner-link-count));
    width: calc((100% - var(--footer-banner-link-gap) * (var(--footer-banner-link-count) - 1)) / var(--footer-banner-link-count));
    max-width: 480px;
    border-radius: 6px;
  }
  .p-nav-footer-banner-link a {
    display: block;
    -webkit-transition: -webkit-transform 0.2s;
    transition: -webkit-transform 0.2s;
    transition: transform 0.2s;
    transition: transform 0.2s, -webkit-transform 0.2s;
  }
  .p-nav-footer-banner-link a:hover {
    opacity: 1;
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  @media all and (min-width: 768px) {
    .p-nav-footer-banner-link {
      --footer-banner-link-count: 2;
    }
  }
  .p-nav-footer-sitemap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 0.5em 40px;
  }
  .p-nav-footer-sitemap a {
    color: inherit;
    text-decoration: none;
  }
  .p-nav-footer-sub a {
    color: inherit;
    font-size: 13px;
    text-decoration: none;
  }
}
@layer project {
  .p-section {
    width: var(--site-layout-width);
    max-width: var(--site-layout-max-width);
    margin-inline: auto;
  }
  .p-section--max-none {
    max-width: none;
  }
  @media all and (min-width: 768px) {
    .p-section-tab {
      width: var(--site-layout-width);
      max-width: var(--site-layout-max-width);
      margin-inline: auto;
    }
  }
  .p-section-02 {
    width: var(--site-layout-width-02);
    max-width: var(--site-layout-max-width-02);
    margin-inline: auto;
  }
  .p-section-02--max-none {
    max-width: none;
  }
  @media all and (min-width: 768px) {
    .p-section-02-tab {
      width: var(--site-layout-width-02);
      max-width: var(--site-layout-max-width-02);
      margin-inline: auto;
    }
    .p-section-02-tab--max-none {
      max-width: none;
    }
  }
  .p-section-03 {
    width: var(--site-layout-width-03);
    max-width: var(--site-layout-max-width-03);
    margin-inline: auto;
  }
  @media all and (min-width: 768px) {
    .p-section-03-tab {
      width: var(--site-layout-width-03);
      max-width: var(--site-layout-max-width-03);
      margin-inline: auto;
    }
  }
  .p-section-04 {
    width: var(--site-layout-width-04);
    max-width: var(--site-layout-max-width-04);
    margin-inline: auto;
  }
  @media all and (min-width: 768px) {
    .p-section-04-tab {
      width: var(--site-layout-width-04);
      max-width: var(--site-layout-max-width-04);
      margin-inline: auto;
    }
  }
  .p-section-05 {
    width: var(--site-layout-width-05);
    max-width: var(--site-layout-max-width-05);
    margin-inline: auto;
  }
}
@layer project {
  .p-gap-tb {
    margin-block: var(--def-content-tb-gap);
  }
  .p-gap-tb-p04 {
    margin-block: -webkit-calc(var(--def-content-tb-gap) + 32px);
    margin-block: calc(var(--def-content-tb-gap) + 32px);
  }
  .p-gap-tb-m02 {
    margin-block: -webkit-calc(var(--def-content-tb-gap) - 16px);
    margin-block: calc(var(--def-content-tb-gap) - 16px);
  }
  .p-gap-tb-m03 {
    margin-block: -webkit-calc(var(--def-content-tb-gap) - 24px);
    margin-block: calc(var(--def-content-tb-gap) - 24px);
  }
  .p-gap-tb-m04 {
    margin-block: -webkit-calc(var(--def-content-tb-gap) - 32px);
    margin-block: calc(var(--def-content-tb-gap) - 32px);
  }
  .p-gap-tb-m06 {
    margin-block: -webkit-calc(var(--def-content-tb-gap) - 48px);
    margin-block: calc(var(--def-content-tb-gap) - 48px);
  }
  .p-gap-tb-m08 {
    margin-block: -webkit-calc(var(--def-content-tb-gap) - 64px);
    margin-block: calc(var(--def-content-tb-gap) - 64px);
  }
  .p-gap-tb-m10 {
    margin-block: -webkit-calc(var(--def-content-tb-gap) - 80px);
    margin-block: calc(var(--def-content-tb-gap) - 80px);
  }
  .p-gap-tb-m12 {
    margin-block: -webkit-calc(var(--def-content-tb-gap) - 96px);
    margin-block: calc(var(--def-content-tb-gap) - 96px);
  }
  @media not all and (min-width: 768px) {
    .p-gap-tb-p04 {
      margin-block: -webkit-calc(var(--def-content-tb-gap) + 16px);
      margin-block: calc(var(--def-content-tb-gap) + 16px);
    }
    .p-gap-tb-m02 {
      margin-block: -webkit-calc(var(--def-content-tb-gap) - 8px);
      margin-block: calc(var(--def-content-tb-gap) - 8px);
    }
    .p-gap-tb-m03 {
      margin-block: -webkit-calc(var(--def-content-tb-gap) - 12px);
      margin-block: calc(var(--def-content-tb-gap) - 12px);
    }
    .p-gap-tb-m04 {
      margin-block: -webkit-calc(var(--def-content-tb-gap) - 16px);
      margin-block: calc(var(--def-content-tb-gap) - 16px);
    }
    .p-gap-tb-m06 {
      margin-block: -webkit-calc(var(--def-content-tb-gap) - 24px);
      margin-block: calc(var(--def-content-tb-gap) - 24px);
    }
    .p-gap-tb-m08 {
      margin-block: -webkit-calc(var(--def-content-tb-gap) - 32px);
      margin-block: calc(var(--def-content-tb-gap) - 32px);
    }
    .p-gap-tb-m10 {
      margin-block: -webkit-calc(var(--def-content-tb-gap) - 40px);
      margin-block: calc(var(--def-content-tb-gap) - 40px);
    }
    .p-gap-tb-m12 {
      margin-block: -webkit-calc(var(--def-content-tb-gap) - 48px);
      margin-block: calc(var(--def-content-tb-gap) - 48px);
    }
  }
  .p-gap-top--0 {
    margin-top: 0;
  }
  .p-gap-bottom--0 {
    margin-bottom: 0;
  }
  .p-gap-top-header {
    margin-top: var(--header-height);
  }
  .gap-tb-cancel-content > *:first-child {
    margin-top: 0;
  }
  .gap-tb-cancel-content > *:last-child {
    margin-bottom: 0;
  }
  .p-gap-lr {
    padding-inline: var(--def-content-lr-gap);
  }
  .p-gap-lr-p02 {
    padding-inline: -webkit-calc(var(--def-content-lr-gap) + 8px);
    padding-inline: calc(var(--def-content-lr-gap) + 8px);
  }
  .p-gap-lr-p04 {
    padding-inline: -webkit-calc(var(--def-content-lr-gap) + 16px);
    padding-inline: calc(var(--def-content-lr-gap) + 16px);
  }
  .p-gap-lr-p06 {
    padding-inline: -webkit-calc(var(--def-content-lr-gap) + 24px);
    padding-inline: calc(var(--def-content-lr-gap) + 24px);
  }
  .p-gap-lr-p08 {
    padding-inline: -webkit-calc(var(--def-content-lr-gap) + 32px);
    padding-inline: calc(var(--def-content-lr-gap) + 32px);
  }
}
@layer project {
  .p-text-page-title {
    margin: 0;
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.4;
  }
  @media all and (min-width: 768px) {
    .p-text-page-title {
      font-size: 3rem;
    }
  }
  .p-text-page-title-02 {
    margin: 0;
    font-size: 5rem;
    font-weight: bold;
    line-height: 1.4;
  }
  .p-text-section-title {
    margin: 0;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.6;
  }
  @media all and (min-width: 768px) {
    .p-text-section-title {
      font-size: 2.1rem;
    }
  }
  .p-text-contents-title {
    margin: 0;
    font-size: 1.3rem;
    font-weight: bold;
    line-height: 1.6;
  }
  @media all and (min-width: 768px) {
    .p-text-contents-title {
      font-size: 1.5rem;
    }
  }
  .p-text-contents-title-02 {
    margin: 0;
    font-size: 1.15rem;
    font-weight: bold;
    line-height: 1.6;
  }
  @media all and (min-width: 768px) {
    .p-text-contents-title-02 {
      font-size: 1.3rem;
    }
  }
  .p-text-annotation {
    position: relative;
    padding-left: 1em;
  }
  .p-text-annotation::before {
    content: "※";
    display: inline-block;
    width: 1em;
    height: 1em;
    position: absolute;
    left: 0.25em;
  }
  .p-text-ruby {
    ruby-position: over;
  }
  .p-text-ruby > rt {
    font-size: 0.3em;
    font-weight: normal;
    text-align: center;
  }
  .p-text-ruby-02 {
    ruby-position: under;
    -webkit-ruby-position: after;
  }
  .p-text-ruby-02 > rt {
    font-size: 0.45em;
    text-align: center;
  }
  .p-text-ruby-03 {
    line-height: 1;
  }
  .p-text-ruby-03__top {
    display: block;
    font-size: 0.3em;
    font-weight: normal;
  }
  .p-text-ruby-03__bottom {
    display: block;
    font-size: 0.45em;
  }
  .p-text-ruby-03 {
    display: block;
  }
  .p-text-ruby-03__rt {
    display: block;
    font-size: 0.8em;
    font-weight: normal;
    text-align: inherit;
  }
  .p-text-signature {
    display: inline-block;
  }
  .p-text-signature__post {
    display: block;
    text-align: left;
  }
  .p-text-signature__name {
    display: block;
    margin-left: 1em;
    text-align: left;
    font-size: 30px;
    font-family: serif;
    font-weight: bold;
    line-height: 1.4;
  }
  .p-number-01-text__number {
    vertical-align: text-bottom;
    margin-right: 0.1em;
  }
  @media not all and (min-width: 480px) {
    .p-number-01-text {
      position: relative;
    }
    .p-number-01-text__text {
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      text-align: center;
    }
  }
  @media all and (min-width: 480px) {
    .p-number-01-text {
      text-align: center;
    }
  }
  @media all and (min-width: 992px) {
    .p-number-01-text {
      margin-top: -0.8em;
    }
  }
  @media all and (min-width: 1280px) {
    .p-number-01-text {
      margin-top: -0.5em;
      position: relative;
      text-align: left;
    }
    .p-number-01-text__text {
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      text-align: center;
    }
  }
  .p-text-tel {
    position: relative;
    display: inline-block;
    padding-left: 1.2em;
    color: #606060;
    font-size: 10vw;
    font-weight: bold;
    line-height: 1;
  }
  .p-text-tel::before {
    content: "";
    position: absolute;
    left: 0;
    width: 1em;
    height: 1em;
    background-image: url("data:image/svg+xml;charset=utf8, %3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22_レイヤー_1%22%20viewBox%3D%220%200%20113.26%2064%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1{fill%3A%234b4b4b}%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M101.01%2057.87a6.13%206.13%200%200%200%2012.26%200c0-3.38-2.75-6.13-6.13-6.13s-6.13%202.75-6.13%206.13m.7%200c0-2.99%202.43-5.42%205.42-5.42s5.42%202.43%205.42%205.42-2.43%205.41-5.42%205.41-5.42-2.43-5.42-5.41Z%22%20class%3D%22cls-1%22%2F%3E%3Cpath%20d%3D%22M110.11%2061.84h-1.18l-2.38-3.68h-1.04v3.68h-.94v-8.1h2.29c.77%200%201.38.18%201.82.56.45.37.67.89.67%201.56%200%20.49-.16.93-.49%201.32-.33.38-.78.64-1.35.78l2.59%203.88m-4.58-4.5h1.19c.5%200%20.9-.14%201.21-.41.31-.27.46-.61.46-1.02%200-.9-.55-1.35-1.65-1.35h-1.21v2.78ZM24.64%2022.06c5.53%203.15%2012.06%208.41%2012.06%2014.99%200%208.48-6.68%2012.59-12.06%2012.59s-12.06-4.11-12.06-12.59c0-6.58%206.52-11.84%2012.06-14.99ZM98.06%200v64H0V0h98.06Zm-.01%209.96c-9.96%200-18.79%202.48-24.79%205.6-6-3.12-14.28-5.6-24.24-5.6s-18.25%202.48-24.24%205.6c-6-3.12-14.82-5.6-24.78-5.6v5.6c5.89%200%2013.03%201.1%2018.65%203.54C12.59%2023.15%206.6%2029.29%206.6%2037.04c0%2010.24%208.72%2018.07%2018.18%2018.07s17.76-7.82%2017.76-18.07c0-7.75-5.57-13.89-11.63-17.94%205.61-2.44%2012.22-3.54%2018.11-3.54s12.5%201.1%2018.11%203.54C61.07%2023.15%2055.5%2029.29%2055.5%2037.04c0%2010.24%208.3%2018.07%2017.76%2018.07s18.05-7.82%2018.05-18.07c0-7.75-5.86-13.89-11.92-17.94%205.61-2.44%2012.77-3.54%2018.66-3.54v-5.6ZM61.59%2036.91c0%208.48%206.67%2012.59%2012.05%2012.59s12.05-4.11%2012.05-12.59c0-6.59-6.52-11.85-12.05-14.99-5.54%203.14-12.05%208.41-12.05%2014.99Z%22%20class%3D%22cls-1%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: center;
    -webkit-transform-origin: left center;
            transform-origin: left center;
  }
  @media all and (min-width: 480px) {
    .p-text-tel {
      font-size: 40px;
    }
  }
  @media all and (min-width: 768px) {
    .p-text-tel {
      font-size: 32px;
    }
  }
  @media all and (min-width: 992px) {
    .p-text-tel {
      font-size: 31px;
    }
  }
  @media all and (min-width: 1280px) {
    .p-text-tel {
      font-size: 3.5vw;
    }
  }
  @media all and (min-width: 1920px) {
    .p-text-tel {
      font-size: 55px;
    }
  }
  .p-text-lr-circle-box {
    display: inline-block;
    padding: 0.5em 3em;
    border-radius: 9999px;
    color: #fff;
    background-color: #928178;
    line-height: 1.4;
    letter-spacing: 0;
  }
  .p-text-add-text {
    font-size: 1.5rem;
    letter-spacing: 6px;
    line-height: 1.4;
  }
  @media all and (min-width: 768px) {
    .p-text-add-text {
      font-size: 1.9rem;
    }
  }
  .p-text-add-text-02 {
    font-size: 2.3rem;
    color: #009c55;
    letter-spacing: 6px;
    line-height: 1.4;
  }
  .p-text-add-text-02--01 {
    line-height: 1.2;
  }
  @media all and (min-width: 768px) {
    .p-text-add-text-02 {
      font-size: 2.6rem;
      text-align: center;
    }
  }
  .p-text-add-text-03 {
    font-size: 19px;
    line-height: 1.4;
  }
  @media all and (min-width: 768px) {
    .p-text-add-text-03 {
      text-align: center;
    }
  }
  .p-text-add-text-04 {
    max-width: 880px;
    margin-top: 0;
    margin-inline: auto;
    padding-block: 0.5em;
    border: 1px solid #000;
    border-radius: 8px;
    font-weight: 400;
    font-size: 1.6rem;
    letter-spacing: 2px;
    line-height: 1.4;
    text-align: center;
  }
  @media all and (min-width: 768px) {
    .p-text-add-text-04 {
      font-size: 2.1rem;
      letter-spacing: 8px;
    }
  }
}
@layer project {
  .p-layout-01 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 10%;
  }
  .p-layout-01__title {
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    width: 100%;
    text-align: center;
  }
  .p-layout-01__description {
    width: 100%;
    margin-block: 40px 0;
    text-align: center;
  }
  @media all and (min-width: 768px) {
    .p-layout-01 {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
    }
    .p-layout-01__title {
      width: auto;
      text-align: right;
    }
    .p-layout-01__description {
      width: auto;
      margin-block: 0;
      text-align: left;
    }
  }
  .p-layout-02 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 64px;
  }
  .p-layout-02__content {
    width: 100%;
  }
  .p-layout-02__content__img {
    margin-left: -8.2%;
    margin-right: 0;
  }
  .p-layout-02__content__text {
    margin-top: 0.5em;
  }
  .p-layout-02__content:nth-child(2n) .p-layout-02__content__img {
    margin-left: 0;
    margin-right: -8.2%;
  }
  @media all and (min-width: 768px) {
    .p-layout-02__content {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      gap: 48px;
    }
    .p-layout-02__content__img {
      width: 73%;
      margin-left: -6%;
    }
    .p-layout-02__content__text {
      width: 33%;
      margin-top: 0;
      padding-left: 0;
      padding-right: 5%;
    }
    .p-layout-02__content:nth-child(2n) .p-layout-02__content__img {
      margin-left: 0;
      margin-right: -6%;
    }
    .p-layout-02__content:nth-child(2n) .p-layout-02__content__text {
      -webkit-box-ordinal-group: 0;
      -webkit-order: -1;
          -ms-flex-order: -1;
              order: -1;
      padding-left: 5%;
      padding-right: 0;
    }
  }
  .p-layout-02-content-img img {
    width: 100%;
  }
  .p-layout-02-content-title {
    margin: 0;
  }
  .p-layout-02-content-description {
    margin: 0;
  }
  .p-layout-04__img {
    overflow: hidden;
    border-radius: 12px;
  }
  .p-layout-04__img img {
    width: 100%;
  }
  .p-layout-04__title {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 0 1.5em;
    margin-top: 1em;
    margin-bottom: 0.5em;
  }
  .p-layout-04__description {
    margin-bottom: 1em;
  }
  .p-layout-04-title {
    margin: 0;
    font-size: 20px;
    font-weight: bold;
  }
  .p-layout-04-link {
    margin-block: 0;
    font-size: 11px;
  }
  .p-layout-04-description {
    margin-block: 0;
  }
  .p-layout-05 {
    -webkit-font-feature-settings: normal;
            font-feature-settings: normal;
  }
  .p-layout-05__item {
    margin-block: 48px;
  }
  .p-layout-05--01 .p-layout-05__item:last-child {
    margin-left: -8%;
  }
  .p-layout-05--03 {
    margin-left: -8%;
  }
  @media all and (min-width: 992px) {
    .p-layout-05 {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      gap: 64px;
    }
    .p-layout-05__item {
      margin-block: 0;
    }
    .p-layout-05--01 .p-layout-05__item:first-child {
      width: 33%;
    }
    .p-layout-05--01 .p-layout-05__item:last-child {
      -webkit-box-flex: 1;
      -webkit-flex-grow: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      margin-left: auto;
      margin-right: -12.5%;
    }
    .p-layout-05--02 .p-layout-05__item:first-child {
      width: 40%;
    }
    .p-layout-05--02 .p-layout-05__item:last-child {
      width: 60%;
    }
    .p-layout-05--03 .p-layout-05__item:first-child {
      -webkit-box-flex: 1;
      -webkit-flex-grow: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      margin-left: -12.5%;
    }
    .p-layout-05--03 .p-layout-05__item:last-child {
      width: 33%;
    }
  }
  .p-layout-custom-home-flow__item {
    margin-block: 64px;
  }
  .p-layout-custom-home-flow__item__number {
    margin-block: 24px;
    text-align: center;
  }
  .p-layout-custom-home-flow__item__number img {
    width: 68px;
  }
  .p-layout-custom-home-flow__item__content {
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    margin-block: 24px;
  }
  @media all and (min-width: 768px) {
    .p-layout-custom-home-flow__item {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
    }
    .p-layout-custom-home-flow__item__number {
      -webkit-flex-shrink: 0;
          -ms-flex-negative: 0;
              flex-shrink: 0;
      margin-right: 2.5em;
      margin-block: 0;
    }
    .p-layout-custom-home-flow__item__number img {
      width: 120px;
    }
    .p-layout-custom-home-flow__item__content {
      margin-block: 0;
    }
    .p-layout-custom-home-flow__item__number + .p-layout-custom-home-flow__item__content {
      margin-top: 2em;
    }
  }
  @media all and (min-width: 992px) {
    .p-layout-custom-home-flow {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      gap: 64px;
    }
    .p-layout-custom-home-flow__item {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      width: -webkit-calc(50% - 32px);
      width: calc(50% - 32px);
      margin-block: 1.5em 0;
    }
    .p-layout-custom-home-flow__item__number {
      -webkit-flex-shrink: 0;
          -ms-flex-negative: 0;
              flex-shrink: 0;
      margin-block: -1.5em 0;
      margin-right: 1.5em;
    }
    .p-layout-custom-home-flow__item__number img {
      width: 100px;
    }
    .p-layout-custom-home-flow__item__content {
      margin-block: 0;
      text-align: justify;
    }
    .p-layout-custom-home-flow__item__number + .p-layout-custom-home-flow__item__content {
      margin-top: 0;
    }
    .p-layout-custom-home-flow__item--full {
      width: 100%;
    }
  }
  .p-layout-company-info {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 32px;
  }
  .p-layout-company-info__content {
    width: 100%;
  }
  @media all and (min-width: 768px) {
    .p-layout-company-info {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      gap: 96px;
    }
    .p-layout-company-info__content {
      width: auto;
    }
  }
  .p-layout-company-info-content {
    margin-top: -32px;
  }
  .p-layout-company-info-content__item {
    margin-top: 32px;
  }
  .p-layout-company-info-content-item-title {
    margin: 0;
    font-size: 1rem;
  }
  .p-layout-company-info-content-item-text {
    margin: 0.2em 0 0 0;
    font-size: 1rem;
    line-height: 1.4;
  }
  .p-layout-greeting {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 32px;
  }
  .p-layout-greeting__img, .p-layout-greeting__text {
    width: 100%;
  }
  @media all and (min-width: 768px) {
    .p-layout-greeting {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
    }
    .p-layout-greeting__text {
      -webkit-box-flex: 1;
      -webkit-flex-grow: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
    }
  }
  .p-layout-contact-link {
    overflow: hidden;
    color: #fff;
    background-color: #4d4d4d;
    border-radius: 8px;
  }
  .p-layout-contact-link__item {
    width: 85%;
    margin-block: 1.5em;
    margin-inline: auto;
  }
  .p-layout-contact-link__item__title {
    margin-top: 1em;
    text-align: center;
  }
  .p-layout-contact-link__item__link {
    max-width: 420px;
    margin-top: 1em;
    margin-inline: auto;
  }
  .p-layout-contact-link-title {
    margin: 0;
  }
  .p-layout-contact-link-text {
    margin: 0;
  }
  .p-layout-contact-link-tel {
    display: inline-block;
    margin-block: 0;
    font-size: 8.5vw;
    font-weight: bold;
    line-height: 1;
  }
  .p-layout-contact-link-tel::before {
    content: "";
    display: inline-block;
    width: 1.2em;
    height: 1em;
    background-image: url("data:image/svg+xml;charset=utf8, %3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22_レイヤー_1%22%20viewBox%3D%220%200%20113.26%2064%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1{fill%3A%23fff}%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M101.01%2057.87a6.13%206.13%200%200%200%2012.26%200c0-3.38-2.75-6.13-6.13-6.13s-6.13%202.75-6.13%206.13m.7%200c0-2.99%202.43-5.42%205.42-5.42s5.42%202.43%205.42%205.42-2.43%205.41-5.42%205.41-5.42-2.43-5.42-5.41Z%22%20class%3D%22cls-1%22%2F%3E%3Cpath%20d%3D%22M110.11%2061.84h-1.18l-2.38-3.68h-1.04v3.68h-.94v-8.1h2.29c.77%200%201.38.18%201.82.56.45.37.67.89.67%201.56%200%20.49-.16.93-.49%201.32-.33.38-.78.64-1.35.78l2.59%203.88m-4.58-4.5h1.19c.5%200%20.9-.14%201.21-.41.31-.27.46-.61.46-1.02%200-.9-.55-1.35-1.65-1.35h-1.21v2.78ZM24.64%2022.06c5.53%203.15%2012.06%208.41%2012.06%2014.99%200%208.48-6.68%2012.59-12.06%2012.59s-12.06-4.11-12.06-12.59c0-6.58%206.52-11.84%2012.06-14.99ZM98.06%200v64H0V0h98.06Zm-.01%209.96c-9.96%200-18.79%202.48-24.79%205.6-6-3.12-14.28-5.6-24.24-5.6s-18.25%202.48-24.24%205.6c-6-3.12-14.82-5.6-24.78-5.6v5.6c5.89%200%2013.03%201.1%2018.65%203.54C12.59%2023.15%206.6%2029.29%206.6%2037.04c0%2010.24%208.72%2018.07%2018.18%2018.07s17.76-7.82%2017.76-18.07c0-7.75-5.57-13.89-11.63-17.94%205.61-2.44%2012.22-3.54%2018.11-3.54s12.5%201.1%2018.11%203.54C61.07%2023.15%2055.5%2029.29%2055.5%2037.04c0%2010.24%208.3%2018.07%2017.76%2018.07s18.05-7.82%2018.05-18.07c0-7.75-5.86-13.89-11.92-17.94%205.61-2.44%2012.77-3.54%2018.66-3.54v-5.6ZM61.59%2036.91c0%208.48%206.67%2012.59%2012.05%2012.59s12.05-4.11%2012.05-12.59c0-6.59-6.52-11.85-12.05-14.99-5.54%203.14-12.05%208.41-12.05%2014.99Z%22%20class%3D%22cls-1%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: center;
    vertical-align: bottom;
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
    -webkit-transform-origin: left center;
            transform-origin: left center;
  }
  @media all and (min-width: 768px) {
    .p-layout-contact-link-tel {
      font-size: 48px;
    }
  }
  .p-layout-gallery__thumb {
    margin-top: 10px;
  }
  .p-layout-footer-info {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 24px;
    width: 100%;
  }
  .p-layout-footer-info__left, .p-layout-footer-info__right {
    width: 100%;
  }
  .p-layout-footer-info__left {
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
  @media all and (min-width: 768px) {
    .p-layout-footer-info {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
    }
    .p-layout-footer-info__left, .p-layout-footer-info__right {
      width: auto;
    }
  }
  @media all and (min-width: 992px) {
    .p-layout-footer-info__right {
      -webkit-flex-shrink: 0;
          -ms-flex-negative: 0;
              flex-shrink: 0;
    }
  }
  .p-layout-footer-info-left {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    gap: 1em 40px;
  }
  .p-layout-footer-info-left__left, .p-layout-footer-info-left__right {
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    width: 100%;
  }
  @media all and (min-width: 768px) {
    .p-layout-footer-info-left__left, .p-layout-footer-info-left__right {
      width: auto;
    }
  }
  .p-layout-footer-info-left-right {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1em;
  }
  .p-layout-footer-info-left-right__bottom {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1em;
  }
  @media all and (min-width: 768px) {
    .p-layout-footer-info-left-right__bottom {
      -webkit-box-align: start;
      -webkit-align-items: flex-start;
          -ms-flex-align: start;
              align-items: flex-start;
    }
  }
  .p-layout-footer-info-right {
    text-align: center;
    font-size: 15px;
  }
  .p-layout-footer-info-right__inner {
    display: inline-block;
    text-align: left;
  }
}
@layer project {
  .p-list-post-post {
    --gap: 32px;
    --col: 1;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: var(--gap);
  }
  .p-list-post-post > * {
    width: -webkit-calc(100% / var(--col) - var(--gap) * (var(--col) - 1) / var(--col));
    width: calc(100% / var(--col) - var(--gap) * (var(--col) - 1) / var(--col));
    background-color: #fff;
    border: 1px solid #ededed;
  }
  @media all and (min-width: 600px) {
    .p-list-post-post {
      --col: 2;
    }
  }
  @media all and (min-width: 768px) {
    .p-list-post-post {
      --gap: 64px;
      --col: 3;
    }
  }
  @media all and (min-width: 992px) {
    .p-list-post-post {
      --col: 4;
    }
  }
  .p-list-post-works {
    --gap: 32px;
    --col: 2;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: var(--gap);
  }
  .p-list-post-works > * {
    width: -webkit-calc(100% / var(--col) - var(--gap) * (var(--col) - 1) / var(--col));
    width: calc(100% / var(--col) - var(--gap) * (var(--col) - 1) / var(--col));
  }
  @media all and (min-width: 768px) {
    .p-list-post-works {
      --gap: 64px;
      --col: 3;
    }
  }
  .p-list-post-houseinfo {
    --gap: 32px;
    --col: 2;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: var(--gap);
  }
  .p-list-post-houseinfo > * {
    width: -webkit-calc(100% / var(--col) - var(--gap) * (var(--col) - 1) / var(--col));
    width: calc(100% / var(--col) - var(--gap) * (var(--col) - 1) / var(--col));
  }
  @media all and (min-width: 768px) {
    .p-list-post-houseinfo {
      --gap: 64px;
      --col: 3;
    }
  }
  @media not all and (min-width: 768px) {
    .p-list-post-houseinfo--fist-sticky > *:first-child {
      width: 100%;
    }
  }
  .p-list-badge {
    --gap: 32px;
    --col: 1;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: var(--gap);
  }
  .p-list-badge > * {
    width: -webkit-calc(100% / var(--col) - var(--gap) * (var(--col) - 1) / var(--col));
    width: calc(100% / var(--col) - var(--gap) * (var(--col) - 1) / var(--col));
  }
  @media all and (min-width: 375px) {
    .p-list-badge {
      --col: 2;
    }
  }
  @media all and (min-width: 480px) {
    .p-list-badge {
      --col: 3;
    }
  }
  @media all and (min-width: 768px) {
    .p-list-badge {
      --col: 4;
    }
  }
  @media all and (min-width: 992px) {
    .p-list-badge {
      --col: 5;
    }
  }
  .p-list-instagram {
    --gap: 8px;
    --col: 2;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: var(--gap);
  }
  .p-list-instagram > * {
    width: -webkit-calc(100% / var(--col) - var(--gap) * (var(--col) - 1) / var(--col));
    width: calc(100% / var(--col) - var(--gap) * (var(--col) - 1) / var(--col));
  }
  @media all and (min-width: 375px) {
    .p-list-instagram {
      --col: 3;
    }
  }
  @media all and (min-width: 768px) {
    .p-list-instagram {
      --col: 4;
    }
  }
  @media all and (min-width: 992px) {
    .p-list-instagram {
      --col: 5;
    }
  }
  .p-list-img {
    --gap: 24px;
    --col: 2;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: var(--gap);
  }
  .p-list-img > * {
    width: -webkit-calc(100% / var(--col) - var(--gap) * (var(--col) - 1) / var(--col));
    width: calc(100% / var(--col) - var(--gap) * (var(--col) - 1) / var(--col));
  }
  .p-list-img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  @media not all and (min-width: 768px) {
    .p-list-img--u-tab-1-col > * {
      width: 100%;
    }
  }
  .p-list-contents {
    --gap: 64px;
    --col: 1;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: var(--gap);
  }
  .p-list-contents > * {
    width: -webkit-calc(100% / var(--col) - var(--gap) * (var(--col) - 1) / var(--col));
    width: calc(100% / var(--col) - var(--gap) * (var(--col) - 1) / var(--col));
  }
  @media all and (min-width: 768px) {
    .p-list-contents {
      --col: 2;
    }
  }
}
@layer project {
  .p-article-post-post {
    position: relative;
    z-index: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-article-post-post__category {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    overflow-x: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .p-article-post-post__category::-webkit-scrollbar {
    display: none;
  }
  .p-article-post-post__content {
    width: 100%;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
  .p-article-post-post-content {
    position: relative;
    z-index: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 100%;
    color: inherit;
    text-decoration: none;
  }
  .p-article-post-post-content__img {
    overflow: hidden;
    width: 100%;
  }
  .p-article-post-post-content__img__content {
    -webkit-transition: -webkit-transform 0.2s;
    transition: -webkit-transform 0.2s;
    transition: transform 0.2s;
    transition: transform 0.2s, -webkit-transform 0.2s;
  }
  .p-article-post-post-content__text {
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    overflow: hidden;
    width: 100%;
    padding: 1em;
  }
  .p-article-post-post-content:hover {
    opacity: 1;
  }
  .p-article-post-post-content:hover .p-article-post-post-content__img .p-article-post-post-content__img__content {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  .p-article-post-post-content-img {
    position: relative;
    height: 0;
    padding-top: 75%;
    background-color: #ededed;
    background-image: url("data:image/svg+xml;charset=utf8, %3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22_レイヤー_2%22%20viewBox%3D%220%200%20280%20200%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1{fill%3A%23231815%3Bstroke-width%3A0}%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M80%200v120h120V0H80Zm14.63%20105.37V14.63h34.67l3.39%203.39v83.96l-3.39%203.39H94.63Zm90.74-3.39-3.39%203.39h-34.67V67.31h34.67l3.39%203.39v31.27Zm0-83.96v31.27l-3.39%203.39h-34.67V14.63h34.67l3.39%203.39Z%22%20style%3D%22fill%3A%23009c55%3Bstroke-width%3A0%22%2F%3E%3Cpath%20d%3D%22M41.28%20154.42h8.8v24.99h-8.8zM25.67%20154.42h7.15v7.15h-7.15zM63.49%20174.7c-.04%202.92-.54%205.38-1.5%207.35-.97%201.98-2.08%203.57-3.35%204.79-1.27%201.21-2.62%202.13-4.06%202.75-1.44.63-3.14%201.15-5.11%201.58v8.82c.07%200%20.85-.16%202.33-.48%201.48-.32%203.3-.9%205.48-1.74%202.18-.84%204.48-2.22%206.9-4.14%202.42-1.93%204.37-4.45%205.85-7.57%201.48-3.12%202.23-6.91%202.27-11.36v-20.28h-8.8v20.28ZM16.05%20154.42h7.15v7.15h-7.15zM263.22%20154.42h7.15v7.15h-7.15zM80.81%20171.01h26.77v8.4H80.81z%22%20class%3D%22cls-1%22%2F%3E%3Cpath%20d%3D%22M8.97%20154.42H0v44.82h8.97v-19.78h23.85v-8.4H8.97v-16.64zM174.9%20154.42h7.15v7.15h-7.15zM256.15%20154.42h-8.97v44.82h8.97v-19.78H280v-8.4h-23.85v-16.64zM133.53%20171.01c1.94%203.71%205.11%2011.99%207.14%2019.83h-18.05c2.66-5.76%208.25-24.05%2010.37-36.42h-10.34c-2.12%2012.37-7.71%2031.09-10.37%2036.85v7.97h39.52c-1.14-9.35-6.15-23.12-8.82-28.23h-9.45ZM272.85%20154.42H280v7.15h-7.15zM226.23%20154.42h-8.36v44.94c7.66-.47%2014.88-3.24%2021.58-6.93v-9.6c-2.47%201.48-7.91%204.57-13.22%206.36v-34.77Z%22%20class%3D%22cls-1%22%2F%3E%3Cpath%20d%3D%22M168.19%20154.42h-8.69v32.9c.23%204.1%201.61%207.08%204.15%208.93%202.54%201.85%205.89%202.87%2010.05%203.05%203.45.07%205.77.03%208.61-.13s5.96-.42%209.37-.78v-8.56c-3.52.53-6.59.89-9.2%201.07-2.61.18-5.59.25-8.92.21-2.35-.11-3.12-.56-3.98-1.37-.85-.8-1.32-1.88-1.39-3.24v-14.08h23.48v-8.4h-23.48v-9.63ZM204.53%20173.62c0%203.71-.31%207.12-.94%2010.24-.62%203.12-1.35%205.82-2.19%208.1-.83%202.28-1.89%204.71-3.18%207.27h9.54c.08%200%20.53-.94%201.36-2.81.83-1.87%201.69-4.73%202.58-8.58.89-3.85%201.35-8.59%201.39-14.23v-19.2h-8.57v19.2Z%22%20class%3D%22cls-1%22%2F%3E%3Cpath%20d%3D%22M184.52%20154.42h7.15v7.15h-7.15z%22%20class%3D%22cls-1%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-size: 40%;
    background-position: center;
  }
  .p-article-post-post-content-img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .p-article-post-post-content-title {
    overflow: hidden;
    display: -webkit-box;
    height: 1.6em;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    -webkit-line-clamp: 1;
    margin-block: 0;
    line-height: 1.4;
  }
  .p-article-post-post-content-date {
    position: relative;
    margin-block: 0.5em;
    padding-left: 2em;
    line-height: 1.4;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
  }
  .p-article-post-post-content-date::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    display: inline-block;
    width: 1.4em;
    height: 1.4em;
    background-image: url("data:image/svg+xml;charset=utf8, %3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22_レイヤー_2%22%20viewBox%3D%220%200%2044%2044%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1{fill%3A%234b4b4b%3Bstroke-width%3A0}%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M22%200C9.87%200%200%209.87%200%2022s9.87%2022%2022%2022%2022-9.87%2022-22S34.13%200%2022%200Z%22%20style%3D%22fill%3A%23fff%3Bstroke-width%3A0%22%2F%3E%3Cpath%20d%3D%22M22%200C9.87%200%200%209.87%200%2022s9.87%2022%2022%2022%2022-9.87%2022-22S34.13%200%2022%200Zm0%2038.76c-9.24%200-16.76-7.52-16.76-16.76S12.76%205.24%2022%205.24%2038.76%2012.76%2038.76%2022%2031.24%2038.76%2022%2038.76Z%22%20class%3D%22cls-1%22%2F%3E%3Cpath%20d%3D%22M22.21%209.95c-1.1%200-1.99.89-1.99%201.99v9.02l-6.36%206.36c-.78.78-.78%202.04%200%202.82.78.78%202.04.78%202.82%200l7.53-7.53V11.93c0-1.1-.89-1.99-1.99-1.99Z%22%20class%3D%22cls-1%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .p-article-post-post-content-map {
    position: relative;
    margin-block: 0.5em;
    padding-left: 2em;
    line-height: 1.4;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
  }
  .p-article-post-post-content-map::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    display: inline-block;
    width: 1.4em;
    height: 1.4em;
    background-image: url("data:image/svg+xml;charset=utf8, %3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2040%2048.28%22%3E%3Cpath%20d%3D%22M34.14%205.86c-7.81-7.81-20.47-7.81-28.28%200-7.81%207.81-7.81%2020.47%200%2028.28L20%2048.28l14.14-14.14c7.81-7.81%207.81-20.47%200-28.28ZM20%2027.65a7.65%207.65%200%201%201%200-15.3%207.65%207.65%200%200%201%200%2015.3Z%22%20style%3D%22fill%3A%234b4b4b%3Bstroke-width%3A0%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .p-article-post-works {
    position: relative;
    z-index: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .p-article-post-works__content {
    width: 100%;
  }
  .p-article-post-works-content {
    display: block;
    height: 100%;
    color: inherit;
    text-align: center;
    text-decoration: none;
  }
  .p-article-post-works-content__text {
    padding-top: 1em;
  }
  .p-article-post-works-content-img {
    overflow: hidden;
    position: relative;
    z-index: 0;
    height: 0;
    padding-top: 100%;
    border-radius: 12px;
    background-color: #ededed;
    background-image: url("data:image/svg+xml;charset=utf8, %3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22_レイヤー_2%22%20viewBox%3D%220%200%20280%20200%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1{fill%3A%23231815%3Bstroke-width%3A0}%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M80%200v120h120V0H80Zm14.63%20105.37V14.63h34.67l3.39%203.39v83.96l-3.39%203.39H94.63Zm90.74-3.39-3.39%203.39h-34.67V67.31h34.67l3.39%203.39v31.27Zm0-83.96v31.27l-3.39%203.39h-34.67V14.63h34.67l3.39%203.39Z%22%20style%3D%22fill%3A%23009c55%3Bstroke-width%3A0%22%2F%3E%3Cpath%20d%3D%22M41.28%20154.42h8.8v24.99h-8.8zM25.67%20154.42h7.15v7.15h-7.15zM63.49%20174.7c-.04%202.92-.54%205.38-1.5%207.35-.97%201.98-2.08%203.57-3.35%204.79-1.27%201.21-2.62%202.13-4.06%202.75-1.44.63-3.14%201.15-5.11%201.58v8.82c.07%200%20.85-.16%202.33-.48%201.48-.32%203.3-.9%205.48-1.74%202.18-.84%204.48-2.22%206.9-4.14%202.42-1.93%204.37-4.45%205.85-7.57%201.48-3.12%202.23-6.91%202.27-11.36v-20.28h-8.8v20.28ZM16.05%20154.42h7.15v7.15h-7.15zM263.22%20154.42h7.15v7.15h-7.15zM80.81%20171.01h26.77v8.4H80.81z%22%20class%3D%22cls-1%22%2F%3E%3Cpath%20d%3D%22M8.97%20154.42H0v44.82h8.97v-19.78h23.85v-8.4H8.97v-16.64zM174.9%20154.42h7.15v7.15h-7.15zM256.15%20154.42h-8.97v44.82h8.97v-19.78H280v-8.4h-23.85v-16.64zM133.53%20171.01c1.94%203.71%205.11%2011.99%207.14%2019.83h-18.05c2.66-5.76%208.25-24.05%2010.37-36.42h-10.34c-2.12%2012.37-7.71%2031.09-10.37%2036.85v7.97h39.52c-1.14-9.35-6.15-23.12-8.82-28.23h-9.45ZM272.85%20154.42H280v7.15h-7.15zM226.23%20154.42h-8.36v44.94c7.66-.47%2014.88-3.24%2021.58-6.93v-9.6c-2.47%201.48-7.91%204.57-13.22%206.36v-34.77Z%22%20class%3D%22cls-1%22%2F%3E%3Cpath%20d%3D%22M168.19%20154.42h-8.69v32.9c.23%204.1%201.61%207.08%204.15%208.93%202.54%201.85%205.89%202.87%2010.05%203.05%203.45.07%205.77.03%208.61-.13s5.96-.42%209.37-.78v-8.56c-3.52.53-6.59.89-9.2%201.07-2.61.18-5.59.25-8.92.21-2.35-.11-3.12-.56-3.98-1.37-.85-.8-1.32-1.88-1.39-3.24v-14.08h23.48v-8.4h-23.48v-9.63ZM204.53%20173.62c0%203.71-.31%207.12-.94%2010.24-.62%203.12-1.35%205.82-2.19%208.1-.83%202.28-1.89%204.71-3.18%207.27h9.54c.08%200%20.53-.94%201.36-2.81.83-1.87%201.69-4.73%202.58-8.58.89-3.85%201.35-8.59%201.39-14.23v-19.2h-8.57v19.2Z%22%20class%3D%22cls-1%22%2F%3E%3Cpath%20d%3D%22M184.52%20154.42h7.15v7.15h-7.15z%22%20class%3D%22cls-1%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-size: 40%;
    background-position: center;
  }
  .p-article-post-works-content-img img {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .p-article-post-works-content-title {
    margin: 0;
    font-size: 20px;
  }
  .p-article-post-works-content-description {
    margin-block: 0.5em 0;
    font-size: 15px;
    line-height: 1.4;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
  }
  a.p-article-post-works-content {
    -webkit-transition: -webkit-transform 0.2s;
    transition: -webkit-transform 0.2s;
    transition: transform 0.2s;
    transition: transform 0.2s, -webkit-transform 0.2s;
  }
  a.p-article-post-works-content:hover {
    opacity: 1;
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  .p-article-post-houseinfo {
    position: relative;
    z-index: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .p-article-post-houseinfo__content {
    width: 100%;
  }
  .p-article-post-houseinfo-content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 100%;
    color: inherit;
    text-decoration: none;
  }
  .p-article-post-houseinfo-content__img {
    overflow: hidden;
    width: 100%;
  }
  .p-article-post-houseinfo-content__text {
    overflow: hidden;
    width: 100%;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    margin-top: 1em;
  }
  .p-article-post-houseinfo-content-img {
    overflow: hidden;
    position: relative;
    z-index: 0;
    height: 0;
    padding-top: 62.5%;
    border-radius: 12px;
    background-color: #ededed;
    background-image: url("data:image/svg+xml;charset=utf8, %3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22_レイヤー_2%22%20viewBox%3D%220%200%20280%20200%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1{fill%3A%23231815%3Bstroke-width%3A0}%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M80%200v120h120V0H80Zm14.63%20105.37V14.63h34.67l3.39%203.39v83.96l-3.39%203.39H94.63Zm90.74-3.39-3.39%203.39h-34.67V67.31h34.67l3.39%203.39v31.27Zm0-83.96v31.27l-3.39%203.39h-34.67V14.63h34.67l3.39%203.39Z%22%20style%3D%22fill%3A%23009c55%3Bstroke-width%3A0%22%2F%3E%3Cpath%20d%3D%22M41.28%20154.42h8.8v24.99h-8.8zM25.67%20154.42h7.15v7.15h-7.15zM63.49%20174.7c-.04%202.92-.54%205.38-1.5%207.35-.97%201.98-2.08%203.57-3.35%204.79-1.27%201.21-2.62%202.13-4.06%202.75-1.44.63-3.14%201.15-5.11%201.58v8.82c.07%200%20.85-.16%202.33-.48%201.48-.32%203.3-.9%205.48-1.74%202.18-.84%204.48-2.22%206.9-4.14%202.42-1.93%204.37-4.45%205.85-7.57%201.48-3.12%202.23-6.91%202.27-11.36v-20.28h-8.8v20.28ZM16.05%20154.42h7.15v7.15h-7.15zM263.22%20154.42h7.15v7.15h-7.15zM80.81%20171.01h26.77v8.4H80.81z%22%20class%3D%22cls-1%22%2F%3E%3Cpath%20d%3D%22M8.97%20154.42H0v44.82h8.97v-19.78h23.85v-8.4H8.97v-16.64zM174.9%20154.42h7.15v7.15h-7.15zM256.15%20154.42h-8.97v44.82h8.97v-19.78H280v-8.4h-23.85v-16.64zM133.53%20171.01c1.94%203.71%205.11%2011.99%207.14%2019.83h-18.05c2.66-5.76%208.25-24.05%2010.37-36.42h-10.34c-2.12%2012.37-7.71%2031.09-10.37%2036.85v7.97h39.52c-1.14-9.35-6.15-23.12-8.82-28.23h-9.45ZM272.85%20154.42H280v7.15h-7.15zM226.23%20154.42h-8.36v44.94c7.66-.47%2014.88-3.24%2021.58-6.93v-9.6c-2.47%201.48-7.91%204.57-13.22%206.36v-34.77Z%22%20class%3D%22cls-1%22%2F%3E%3Cpath%20d%3D%22M168.19%20154.42h-8.69v32.9c.23%204.1%201.61%207.08%204.15%208.93%202.54%201.85%205.89%202.87%2010.05%203.05%203.45.07%205.77.03%208.61-.13s5.96-.42%209.37-.78v-8.56c-3.52.53-6.59.89-9.2%201.07-2.61.18-5.59.25-8.92.21-2.35-.11-3.12-.56-3.98-1.37-.85-.8-1.32-1.88-1.39-3.24v-14.08h23.48v-8.4h-23.48v-9.63ZM204.53%20173.62c0%203.71-.31%207.12-.94%2010.24-.62%203.12-1.35%205.82-2.19%208.1-.83%202.28-1.89%204.71-3.18%207.27h9.54c.08%200%20.53-.94%201.36-2.81.83-1.87%201.69-4.73%202.58-8.58.89-3.85%201.35-8.59%201.39-14.23v-19.2h-8.57v19.2Z%22%20class%3D%22cls-1%22%2F%3E%3Cpath%20d%3D%22M184.52%20154.42h7.15v7.15h-7.15z%22%20class%3D%22cls-1%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-size: 40%;
    background-position: center;
  }
  .p-article-post-houseinfo-content-img img {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .p-article-post-houseinfo-content-title {
    margin: 0;
    line-height: 1.4;
  }
  .p-article-post-houseinfo-content-description {
    margin-block: 0.5em 0;
    line-height: 1.4;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
  }
  a.p-article-post-houseinfo-content {
    -webkit-transition: -webkit-transform 0.2s;
    transition: -webkit-transform 0.2s;
    transition: transform 0.2s;
    transition: transform 0.2s, -webkit-transform 0.2s;
  }
  a.p-article-post-houseinfo-content:hover {
    opacity: 1;
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
@layer project {
  .p-form-contact {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: -48px;
  }
  .p-form-contact__item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin-top: 48px;
  }
  .p-form-contact__item__label {
    width: 100%;
    margin-bottom: 0.5em;
  }
  .p-form-contact__item__contents {
    width: 100%;
  }
  @media all and (min-width: 768px) {
    .p-form-contact__item {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
    }
    .p-form-contact__item__label {
      -webkit-flex-shrink: 0;
          -ms-flex-negative: 0;
              flex-shrink: 0;
      width: 35%;
      margin-top: 1em;
    }
    .p-form-contact__item__contents {
      -webkit-box-flex: 1;
      -webkit-flex-grow: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      width: auto;
    }
  }
  .p-form-contact-item-label {
    font-weight: bold;
  }
  .p-form-contact-item-label--required {
    position: relative;
  }
  .p-form-contact-item-label--required::after {
    content: "必 須";
    position: absolute;
    top: -0.25em;
    left: 100%;
    display: inline-block;
    margin-left: 1.5em;
    padding: 0.2em 0.75em;
    border-radius: 5px;
    color: #fff;
    background-color: #000;
    font-size: 12px;
    font-weight: bold;
    vertical-align: top;
    white-space: nowrap;
  }
  .p-form-item {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-size: 16px;
    vertical-align: bottom;
  }
  .p-form-item--text {
    width: 100%;
    padding: 0.5em;
    border: 1px solid #8e8e8e;
    border-radius: 5px;
    height: 56px;
    background-color: #fff;
  }
  .p-form-item--text:focus {
    border: 3px solid #000;
  }
  .p-form-item--textarea {
    width: 100%;
    padding: 0.5em;
    border: 1px solid #8e8e8e;
    border-radius: 5px;
    min-height: 272px;
    background-color: #fff;
  }
  .p-form-item--textarea:focus {
    border: 3px solid #000;
  }
  .p-form-item--submit {
    width: 100%;
    max-width: 400px;
    padding: 1.6em;
    border-radius: 5px;
    color: #fff;
    background-color: #4d4d4e;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    cursor: pointer;
    -webkit-transition: opacity 0.2s;
    transition: opacity 0.2s;
  }
  .p-form-item--submit:hover {
    opacity: 0.5;
  }
  .p-form-item--submit:disabled {
    opacity: 0.2;
  }
  .p-form-item--text, .p-form-item--textarea :-webkit-autofill {
    box-shadow: 0 0 0px 100px #fff inset;
  }
  .p-form-item-checkbox label {
    display: inline-block;
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
  }
  .p-form-item-checkbox label input[type=checkbox] {
    display: none;
  }
  .p-form-item-checkbox label input[type=checkbox] + span {
    position: relative;
    display: inline-block;
    padding-left: 2.8em;
    padding: 0.25em 0 0.25em 2.8em;
  }
  .p-form-item-checkbox label input[type=checkbox] + span::before {
    content: "";
    display: block;
    width: 2em;
    height: 2em;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    border: 1px solid #8e8e8e;
    border-radius: 5px;
    background-color: #fff;
  }
  .p-form-item-checkbox label input[type=checkbox]:checked + span {
    font-weight: bold;
  }
  .p-form-item-checkbox label input[type=checkbox]:checked + span::before {
    border: 3px solid #000;
  }
  .p-form-item-checkbox label input[type=checkbox]:checked + span::after {
    content: "";
    display: block;
    width: 1em;
    height: 2em;
    position: absolute;
    top: 0;
    left: 0;
    border-right: 5px solid;
    border-bottom: 5px solid;
    -webkit-transform: translateX(0.5em) rotate(50deg) scale(0.65);
            transform: translateX(0.5em) rotate(50deg) scale(0.65);
  }
  .p-form-item-radio label {
    display: inline-block;
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
  }
  .p-form-item-radio label input[type=radio] {
    display: none;
  }
  .p-form-item-radio label input[type=radio] + span {
    position: relative;
    display: inline-block;
    padding-left: 2.8em;
    padding: 0.25em 0 0.25em 2.8em;
  }
  .p-form-item-radio label input[type=radio] + span::before {
    content: "";
    display: block;
    width: 2em;
    height: 2em;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    border: 1px solid #8e8e8e;
    border-radius: 50%;
    background-color: #fff;
  }
  .p-form-item-radio label input[type=radio]:checked + span {
    font-weight: bold;
  }
  .p-form-item-radio label input[type=radio]:checked + span::before {
    border: 3px solid #000;
  }
  .p-form-item-radio label input[type=radio]:checked + span::after {
    content: "";
    display: block;
    width: 2em;
    height: 2em;
    position: absolute;
    left: 0;
    top: 50%;
    border: 1px solid #8e8e8e;
    border-radius: 50%;
    background-color: #000;
    -webkit-transform: translateY(-50%) scale(0.4);
            transform: translateY(-50%) scale(0.4);
  }
}
.p-caption__text {
  margin: 0;
  color: #333;
}

@layer project {
  .p-animation-00 {
    opacity: 0;
    -webkit-transition: opacity 1s;
    transition: opacity 1s;
  }
  .p-animation-00.js-in-view--in {
    opacity: 1;
  }
  .js-in-view--in .p-animation-00 {
    opacity: 1;
  }
  .p-animation-01 {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
    -webkit-transition: opacity 1s, -webkit-transform 1s;
    transition: opacity 1s, -webkit-transform 1s;
    transition: opacity 1s, transform 1s;
    transition: opacity 1s, transform 1s, -webkit-transform 1s;
  }
  .p-animation-01.js-in-view--in {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
  .js-in-view--in .p-animation-01 {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
  .p-animation-02 {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    -webkit-transition: opacity 1s, -webkit-transform 1s;
    transition: opacity 1s, -webkit-transform 1s;
    transition: opacity 1s, transform 1s;
    transition: opacity 1s, transform 1s, -webkit-transform 1s;
  }
  .p-animation-02.js-in-view--in {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
  .js-in-view--in .p-animation-02 {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
  .p-animation-03 {
    opacity: 0;
    -webkit-transform: translateX(-100px);
            transform: translateX(-100px);
    -webkit-transition: opacity 1s, -webkit-transform 1s;
    transition: opacity 1s, -webkit-transform 1s;
    transition: opacity 1s, transform 1s;
    transition: opacity 1s, transform 1s, -webkit-transform 1s;
  }
  .p-animation-03.js-in-view--in {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
  .js-in-view--in .p-animation-03 {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
  .p-animation-04 {
    opacity: 0;
    -webkit-transform: translateX(100px);
            transform: translateX(100px);
    -webkit-transition: opacity 1s, -webkit-transform 1s;
    transition: opacity 1s, -webkit-transform 1s;
    transition: opacity 1s, transform 1s;
    transition: opacity 1s, transform 1s, -webkit-transform 1s;
  }
  .p-animation-04.js-in-view--in {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
  .js-in-view--in .p-animation-04 {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
  .p-animation-05 {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  .p-animation-05.js-in-view--in {
    -webkit-animation: p-animation-05-anime 10s linear forwards;
            animation: p-animation-05-anime 10s linear forwards;
  }
  .js-in-view--in .p-animation-05 {
    -webkit-animation: p-animation-05-anime 10s linear forwards;
            animation: p-animation-05-anime 10s linear forwards;
  }
  @-webkit-keyframes p-animation-05-anime {
    from {
      -webkit-transform: scale(1.2);
              transform: scale(1.2);
    }
    to {
      -webkit-transform: none;
              transform: none;
    }
  }
  @keyframes p-animation-05-anime {
    from {
      -webkit-transform: scale(1.2);
              transform: scale(1.2);
    }
    to {
      -webkit-transform: none;
              transform: none;
    }
  }
  .p-animation-06.js-in-view--in {
    -webkit-animation: p-animation-06-anime 4s ease-in-out forwards;
            animation: p-animation-06-anime 4s ease-in-out forwards;
  }
  .js-in-view--in .p-animation-06 {
    -webkit-animation: p-animation-06-anime 4s ease-in-out forwards;
            animation: p-animation-06-anime 4s ease-in-out forwards;
  }
  @-webkit-keyframes p-animation-06-anime {
    0%, 20%, 30%, 60%, 70% {
      -webkit-transform: scale(1);
              transform: scale(1);
    }
    25%, 65% {
      -webkit-transform: scale(1.2);
              transform: scale(1.2);
    }
  }
  @keyframes p-animation-06-anime {
    0%, 20%, 30%, 60%, 70% {
      -webkit-transform: scale(1);
              transform: scale(1);
    }
    25%, 65% {
      -webkit-transform: scale(1.2);
              transform: scale(1.2);
    }
  }
}
@layer project {
  .p-site-branding {
    display: inline-block;
  }
  .p-site-branding a {
    display: block;
    color: #fff;
    text-decoration: none;
  }
  .p-site-branding img {
    width: 50px;
    height: 50px;
    -o-object-fit: contain;
       object-fit: contain;
  }
  @media all and (min-width: 768px) {
    .p-site-branding img {
      width: 75px;
      height: 75px;
    }
  }
  .p-site-branding-text {
    margin-top: 1em;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.2;
  }
  .p-site-branding-text__small {
    font-size: 0.8em;
    font-weight: normal;
  }
  @media all and (min-width: 768px) {
    .p-site-branding-text {
      font-size: 24px;
    }
  }
  .p-site-btn-menu {
    display: inline-block;
    cursor: pointer;
    -webkit-transition: opacity 0.5s, -webkit-transform 0.5s;
    transition: opacity 0.5s, -webkit-transform 0.5s;
    transition: opacity 0.5s, transform 0.5s;
    transition: opacity 0.5s, transform 0.5s, -webkit-transform 0.5s;
  }
  .p-site-btn-menu:hover {
    opacity: 0.8;
  }
  .p-site-btn-menu img {
    width: 80px;
    height: 80px;
  }
  .p-site-btn-menu----flag:checked ~ * .p-site-btn-menu--open {
    -webkit-transform: rotateY(90deg);
            transform: rotateY(90deg);
  }
  .p-site-btn-menu----flag:checked ~ * .p-site-btn-menu--close {
    -webkit-transform: rotateY(0);
            transform: rotateY(0);
  }
  .p-site-btn-menu--open {
    -webkit-transform: rotateY(0);
            transform: rotateY(0);
  }
  .p-site-btn-menu--close {
    -webkit-transform: rotateY(90deg);
            transform: rotateY(90deg);
  }
  @media all and (min-width: 768px) {
    .p-site-btn-menu img {
      width: 100px;
      height: 100px;
    }
  }
  .p-site-footer-contact-address {
    margin: 0;
  }
  .p-site-footer-contact-tel {
    position: relative;
    display: inline-block;
    margin-block: 0;
    padding-left: 1.2em;
    font-size: 10vw;
    font-weight: bold;
    line-height: 1;
  }
  .p-site-footer-contact-tel::before {
    content: "";
    position: absolute;
    left: 0;
    width: 1em;
    height: 1em;
    background-image: url("data:image/svg+xml;charset=utf8, %3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22_レイヤー_1%22%20viewBox%3D%220%200%20113.26%2064%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1{fill%3A%234b4b4b}%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M101.01%2057.87a6.13%206.13%200%200%200%2012.26%200c0-3.38-2.75-6.13-6.13-6.13s-6.13%202.75-6.13%206.13m.7%200c0-2.99%202.43-5.42%205.42-5.42s5.42%202.43%205.42%205.42-2.43%205.41-5.42%205.41-5.42-2.43-5.42-5.41Z%22%20class%3D%22cls-1%22%2F%3E%3Cpath%20d%3D%22M110.11%2061.84h-1.18l-2.38-3.68h-1.04v3.68h-.94v-8.1h2.29c.77%200%201.38.18%201.82.56.45.37.67.89.67%201.56%200%20.49-.16.93-.49%201.32-.33.38-.78.64-1.35.78l2.59%203.88m-4.58-4.5h1.19c.5%200%20.9-.14%201.21-.41.31-.27.46-.61.46-1.02%200-.9-.55-1.35-1.65-1.35h-1.21v2.78ZM24.64%2022.06c5.53%203.15%2012.06%208.41%2012.06%2014.99%200%208.48-6.68%2012.59-12.06%2012.59s-12.06-4.11-12.06-12.59c0-6.58%206.52-11.84%2012.06-14.99ZM98.06%200v64H0V0h98.06Zm-.01%209.96c-9.96%200-18.79%202.48-24.79%205.6-6-3.12-14.28-5.6-24.24-5.6s-18.25%202.48-24.24%205.6c-6-3.12-14.82-5.6-24.78-5.6v5.6c5.89%200%2013.03%201.1%2018.65%203.54C12.59%2023.15%206.6%2029.29%206.6%2037.04c0%2010.24%208.72%2018.07%2018.18%2018.07s17.76-7.82%2017.76-18.07c0-7.75-5.57-13.89-11.63-17.94%205.61-2.44%2012.22-3.54%2018.11-3.54s12.5%201.1%2018.11%203.54C61.07%2023.15%2055.5%2029.29%2055.5%2037.04c0%2010.24%208.3%2018.07%2017.76%2018.07s18.05-7.82%2018.05-18.07c0-7.75-5.86-13.89-11.92-17.94%205.61-2.44%2012.77-3.54%2018.66-3.54v-5.6ZM61.59%2036.91c0%208.48%206.67%2012.59%2012.05%2012.59s12.05-4.11%2012.05-12.59c0-6.59-6.52-11.85-12.05-14.99-5.54%203.14-12.05%208.41-12.05%2014.99Z%22%20class%3D%22cls-1%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: center;
    -webkit-transform-origin: left center;
            transform-origin: left center;
  }
  @media all and (min-width: 768px) {
    .p-site-footer-contact-tel {
      font-size: 48px;
    }
  }
  .p-site-footer-contact-link {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: -0.5em;
    margin-left: -1em;
    font-size: 16px;
  }
  .p-site-footer-contact-link__item {
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    display: inline-block;
    margin-top: 0.5em;
    margin-left: 1em;
  }
  .p-site-footer-copyright {
    font-size: 14px;
  }
  .p-site-404 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    height: 80dvh;
  }
  .p-site-gallery {
    overflow: hidden;
    position: relative;
    height: 0;
    padding-bottom: 56.25%;
  }
  .p-site-gallery::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff;
  }
  .p-site-gallery img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .p-site-gallery-thumb {
    overflow: hidden;
    position: relative;
    height: 0;
    padding-bottom: 56.25%;
  }
  .p-site-gallery-thumb img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@layer project {
  .p-wp-link-pages-01 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.5em;
  }
  .p-wp-link-pages-01 .post-page-numbers {
    width: 2.5em;
    height: 2.5em;
    border-radius: 9999px;
    border: 1px solid #808080;
    color: inherit;
    text-decoration: none;
    text-align: center;
    vertical-align: middle;
    line-height: 2.5em;
  }
  .p-wp-link-pages-01 .post-page-numbers.current {
    border: none;
    color: #fff;
    background-color: #808080;
    font-weight: bold;
  }
  .p-wp-post-navigation-01 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.5em;
  }
  .p-wp-post-navigation-01 a {
    color: inherit;
    text-decoration: none;
    line-height: 1.4;
  }
  .p-wp-post-navigation-01__next a {
    position: relative;
    display: block;
    padding-left: 3em;
  }
  .p-wp-post-navigation-01__next a::before {
    content: "";
    display: block;
    width: 3em;
    height: 3em;
    position: absolute;
    top: 50%;
    left: 0;
    border: 1px solid #808080;
    border-radius: 9999px;
    background-image: url("data:image/svg+xml;charset=utf8, %3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20474.77%22%3E%3Cpath%20d%3D%22M316.51%20164.46V0L0%20237.38l316.51%20237.39V310.31H512V164.46H316.51z%22%20style%3D%22fill%3Agray%3Bstroke-width%3A0%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 1.25em;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .p-wp-post-navigation-01__next .p-wp-post-navigation-01-text {
    padding-left: 1em;
  }
  .p-wp-post-navigation-01__prev a {
    position: relative;
    display: block;
    padding-right: 3em;
    text-align: right;
  }
  .p-wp-post-navigation-01__prev a::before {
    content: "";
    display: block;
    width: 3em;
    height: 3em;
    position: absolute;
    top: 50%;
    right: 0;
    border: 1px solid #808080;
    border-radius: 9999px;
    background-image: url("data:image/svg+xml;charset=utf8, %3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20474.77%22%3E%3Cpath%20d%3D%22M316.51%20164.46V0L0%20237.38l316.51%20237.39V310.31H512V164.46H316.51z%22%20style%3D%22fill%3Agray%3Bstroke-width%3A0%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 1.25em;
    -webkit-transform: translateY(-50%) rotate(180deg);
            transform: translateY(-50%) rotate(180deg);
  }
  .p-wp-post-navigation-01__prev .p-wp-post-navigation-01-text {
    padding-right: 1em;
  }
  .p-wp-post-navigation-01__archive {
    width: 100%;
    max-width: 300px;
  }
  .p-wp-post-navigation-01__archive a {
    display: block;
    padding: 0.75em;
    width: 100%;
    border: 1px solid #808080;
    border-radius: 9999px;
    text-align: center;
  }
  @media not all and (min-width: 768px) {
    .p-wp-post-navigation-01__next .p-wp-post-navigation-01-text, .p-wp-post-navigation-01__prev .p-wp-post-navigation-01-text {
      display: none;
    }
  }
  .p-wp-posts-pagination .nav-links {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1em;
  }
  .p-wp-posts-pagination .nav-links .page-numbers:not(.dots):not(.prev):not(.next) {
    padding: 0.5em 1em;
  }
  .p-wp-posts-pagination .nav-links .page-numbers:not(.dots):not(.prev):not(.next):not(.current) {
    background-color: #fff;
    border: 1px solid #000;
  }
  .p-wp-posts-pagination .nav-links .page-numbers.current {
    color: #fff;
    background-color: #888;
    font-weight: bold;
  }
  .p-wp-posts-pagination .nav-links .page-numbers.prev {
    padding-right: 0.5em;
  }
  .p-wp-posts-pagination .nav-links .page-numbers.next {
    padding-left: 0.5em;
  }
  .p-wp-posts-pagination .nav-links .page-numbers.dots {
    padding-inline: 0.5em;
  }
  .p-wp-posts-pagination a {
    color: inherit;
    text-decoration: none;
  }
  .p-wp-the-category .post-categories {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 0.5em;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .p-wp-the-category .post-categories li {
    white-space: pre;
  }
  .p-wp-the-category a {
    display: inline-block;
    padding: 0.5em 1em;
    color: #fff;
    background-color: #4b4b4b;
    text-decoration: none;
    -webkit-transition: background-color 0.2s;
    transition: background-color 0.2s;
  }
  .p-wp-the-category a:hover {
    opacity: 1;
    background-color: #000;
  }
  .p-wp-the-category--center .post-categories {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .p-wp-the-category--nowrap .post-categories {
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
  }
}
.o-gmap-maymap {
  overflow: hidden;
}
.o-gmap-maymap iframe {
  position: relative;
  top: -46px;
  bottom: -1px;
  left: -2px;
  right: -2px;
  width: -webkit-calc(100% + 4px);
  width: calc(100% + 4px);
  height: -webkit-calc(100% + 47px);
  height: calc(100% + 47px);
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
}

.o-swiper-03-main__wrapper__slide img {
  width: 100%;
}

.o-swiper-03-thumbnail__wrapper__slide {
  cursor: pointer;
  opacity: 0.25;
}
.o-swiper-03-thumbnail__wrapper__slide.swiper-slide-thumb-active {
  opacity: 1;
}
@media all and (min-width: 1280px) {
  .o-swiper-03-thumbnail__wrapper {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 10px;
    -webkit-transform: none !important;
            transform: none !important;
  }
  .o-swiper-03-thumbnail__wrapper__slide {
    width: -webkit-calc(20% - 8px) !important;
    width: calc(20% - 8px) !important;
    margin-right: 0 !important;
  }
}

.o-swiper-04 {
  height: 100%;
}
.o-swiper-04__wrapper__slide {
  height: 100%;
}
.o-swiper-04__wrapper__slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.o-swiper-04-button {
  overflow: hidden;
  display: inline-block;
  width: 40px;
  height: 40px;
  position: relative;
  vertical-align: bottom;
  background-color: rgba(255, 255, 255, 0.1);
  text-indent: 100%;
  white-space: pre;
  -webkit-transition: background-color 0.1s;
  transition: background-color 0.1s;
}
.o-swiper-04-button::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  border-top: 8px solid #fff;
  border-right: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 8px solid transparent;
}
.o-swiper-04-button:hover {
  background-color: rgba(255, 255, 255, 0.2);
}
.o-swiper-04-button--prev::after {
  -webkit-transform: translate(-50%, -50%) translateX(-4px) rotate(90deg);
          transform: translate(-50%, -50%) translateX(-4px) rotate(90deg);
}
.o-swiper-04-button--next::after {
  -webkit-transform: translate(-50%, -50%) translateX(4px) rotate(-90deg);
          transform: translate(-50%, -50%) translateX(4px) rotate(-90deg);
}

.o-splide-01 .splide__track {
  overflow: visible;
}
.o-splide-01 .splide__slide {
  width: 330px;
  margin-inline: 12px;
}

.o-splide-02 .splide__slide {
  width: 330px;
  margin-right: 32px;
  background-color: #fff;
}
.o-splide-02 .splide__pagination {
  position: static;
  margin-top: 24px;
}
.o-splide-02 .splide__pagination__page {
  background-color: #000;
  opacity: 0.2;
  margin: 0 4px;
}
.o-splide-02 .splide__pagination__page.is-active {
  background-color: #007aff;
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
@media all and (min-width: 1280px) {
  .o-splide-02 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .o-splide-02 .splide__list {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    width: auto;
    gap: 16px;
  }
  .o-splide-02 .splide__slide {
    margin-inline: 0;
    width: -webkit-calc(25% - 12px);
    width: calc(25% - 12px);
  }
}

.wpcf7-radio, .wpcf7-checkbox {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 0 2em;
}
.wpcf7-radio .wpcf7-list-item, .wpcf7-checkbox .wpcf7-list-item {
  margin: 0;
}

.wpcf7-form-control-wrap {
  position: relative;
}
.wpcf7-form-control-wrap .wpcf7-not-valid {
  border-color: #dc3232;
}
.wpcf7-form-control-wrap .wpcf7-not-valid-tip {
  position: absolute;
  font-size: 0.9em;
  font-weight: bold;
  color: #dc3232;
}

.wpcf7 form .wpcf7-response-output {
  margin: 2em 0 0 0;
  padding: 2em;
  color: #fff;
  font-weight: bold;
  border: 4px solid #00a0d2;
  background-color: #00ace2;
  text-align: center;
}

.wpcf7 form.sent .wpcf7-response-output {
  border-color: #46b450;
  background-color: #44c150;
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
  border-color: #d30606;
  background-color: #b01717;
}

.wpcf7 form.spam .wpcf7-response-output {
  border-color: #d30606;
  background-color: #d2510e;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
  border-color: #c08b01;
  background-color: #ecab00;
}

.grecaptcha-badge {
  visibility: hidden;
}

.u-overflow--hidden {
  overflow: hidden;
}

.u-display--inline-block {
  display: inline-block;
}

.u-display--block {
  display: block;
}

.u-width--100par {
  width: 100%;
}

.u-width--176px {
  width: 176px;
}

.u-max-width--368px {
  max-width: 368px;
}

.u-max-width--800px {
  max-width: 800px;
}

.u-max-width--1000px {
  max-width: 1000px;
}

.u-max-width--80par {
  max-width: 80%;
}

.u-height--100par {
  height: 100%;
}

.u-height--100dvh {
  height: 100vh;
  height: 100dvh;
}

.u-height--500px {
  height: 500px;
}

.u-min-height--100dvh {
  min-height: 100vh;
  min-height: 100dvh;
}

.u-margin-inline--auto {
  margin-inline: auto;
}

.u-margin-block--2rem {
  margin-block: 2rem;
}

.u-margin-block--1em {
  margin-block: 1em;
}

.u-margin-block--0d5em {
  margin-block: 0.5em;
}

.u-margin-block--0 {
  margin-block: 0;
}

.u-margin-top--0 {
  margin-top: 0;
}

.u-margin-top--2rem {
  margin-top: 2rem;
}

.u-margin-bottom--0 {
  margin-bottom: 0;
}

.u-margin-bottom--1rem {
  margin-bottom: 1rem;
}

.u-padding--0d5em {
  padding: 0.5em;
}

.u-padding--0d25em {
  padding: 0.25em;
}

.u-border-color-gray {
  border: 1px solid #808080;
}

.u-border-top {
  border-top: 1px solid #808080;
}

.u-border-bottom {
  border-bottom: 1px solid #808080;
}

.u-border-radius--6px {
  border-radius: 5px;
}

.u-border-radius--12px {
  border-radius: 12px;
}

.u-color--inherit {
  color: inherit;
}

.u-color--white {
  color: #fff;
}

.u-color--888 {
  color: #888;
}

.u-color--zeh {
  color: #207f2d;
}

.u-background-color--key-color {
  background-color: #d5cec9;
}

.u-background-color--light-gray {
  background-color: #f1f1f1;
}

.u-vertical-align--text-bottom {
  vertical-align: text-bottom;
}

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

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

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

.u-text-decoration--underline {
  text-decoration: underline;
}

.u-text-decoration--none {
  text-decoration: none;
}

.u-font-size--inherit {
  font-size: inherit;
}

.u-font-size--11px {
  font-size: 11px;
}

.u-font-size--0d4em {
  font-size: 0.4em;
}

.u-font-size--0d9em {
  font-size: 0.9em;
}

.u-font-size-1d7em {
  font-size: 1.7em;
}

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

.u-letter-spacing--0d1em {
  letter-spacing: 0.1em;
}

.u-mix-blend-mode--multiply {
  mix-blend-mode: multiply;
}

.u-object-fit--contain {
  -o-object-fit: contain;
     object-fit: contain;
}

@media not all and (min-width: 768px) {
  .u-display-none--u-tb {
    display: none;
  }
  .u-text-align--center--u-tb {
    text-align: center;
  }
}
@media all and (min-width: 768px) {
  .u-text-align--center--tb {
    text-align: center;
  }
  .u-display-none--utb {
    display: none;
  }
}
@media not all and (min-width: 992px) {
  .u-display-none--u-pc {
    display: none;
  }
}
