@charset "UTF-8";
/* Base */
html, body {
  background: #fff;
  height: 100%;
  margin: 0; }

body {
  font-family: "Noto Sans JP", "Open Sans", "Helvetica Neue", Helvetica, Arial, Verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 15px;
  color: #030000;
  line-height: 2.1;
  letter-spacing: 0.05em;
  font-feature-settings: normal;
  display: flex;
  flex-direction: column; }
  @media only screen and (max-width: 821px) {
    body {
      font-size: 14px;
      line-height: 2.1; } }

main {
  flex: 1; }

a {
  color: #030000; }

::selection {
  background-color: rgba(185, 142, 37, 0.3); }

img.zoomable {
  width: 100%;
  touch-action: manipulation; }

p {
  margin-bottom: 1.5em; }

h2, h3, h4, h5 {
  color: #030000;
  font-weight: 200; }
  h2.black, h3.black, h4.black, h5.black {
    color: #030000; }

h2 {
  font-size: 42px;
  margin-bottom: .8em;
  line-height: 1;
  color: #b98e25;
  text-transform: uppercase;
  text-align: center; }
  @media only screen and (max-width: 821px) {
    h2 {
      font-size: 28px;
      margin-bottom: 0;
      line-height: 2.4; } }
  h2.hdg {
    font-weight: 200;
    letter-spacing: .1em; }
    @media only screen and (max-width: 821px) {
      h2.hdg {
        padding-top: 24px;
        background: url(_shared/image/mark.svg) 50% 0/30x no-repeat;
        margin-bottom: 1.5em;
        line-height: 1.4; } }
    #home h2.hdg {
      font-size: 24px;
      margin-bottom: 28px; }
      @media only screen and (max-width: 821px) {
        #home h2.hdg {
          margin-bottom: 20px; } }
    .single h2.hdg {
      font-size: 20px;
      max-width: 440px;
      margin: 0 auto;
      line-height: 1.6; }
      @media only screen and (max-width: 821px) {
        .single h2.hdg {
          max-width: 100%; } }
      .single h2.hdg span {
        font-size: 16px;
        font-weight: 200;
        margin-top: 24px;
        text-transform: none; }
        @media only screen and (max-width: 821px) {
          .single h2.hdg span {
            font-size: 15px;
            margin-top: 12px; } }
  h2 span {
    font-size: 22px;
    margin-top: 20px;
    display: block;
    letter-spacing: .1em; }
    @media only screen and (max-width: 821px) {
      h2 span {
        font-size: 18px;
        margin-top: 12px; } }
  .single h2, .blog h2, .category h2, #privacy-policy h2 {
    margin-bottom: 1.5em; }
    @media only screen and (max-width: 821px) {
      .single h2, .blog h2, .category h2, #privacy-policy h2 {
        font-size: 2.1em;
        margin-bottom: 1em; } }

h3 {
  font-size: 36px;
  letter-spacing: .1em;
  margin-bottom: 36px;
  text-transform: uppercase;
  text-align: center;
  color: #b98e25; }
  @media only screen and (max-width: 821px) {
    h3 {
      font-size: 28px;
      margin-bottom: 20px; } }
  .blog h3, .category h3, .single h3 {
    margin-bottom: .4em; }
    @media only screen and (max-width: 821px) {
      .blog h3, .category h3, .single h3 {
        font-size: 1.2em; } }

h4 {
  font-size: 24px;
  margin-bottom: 24px;
  text-align: center; }
  @media only screen and (max-width: 821px) {
    h4 {
      font-size: 20px;
      margin-bottom: 24px; } }
  h3 + h4 {
    margin-bottom: 48px; }
  @media only screen and (max-width: 821px) {
    #mission h4 {
      font-size: 20px;
      margin-bottom: 24px; } }

h5 {
  font-size: 1em;
  margin-bottom: .5em; }
  @media only screen and (max-width: 821px) {
    h5 {
      margin-bottom: .2em; } }

dl {
  font-weight: 600; }
  dl div dd {
    padding-left: 0;
    border: none;
    font-weight: normal; }
  dl.faq div .q, dl.faq div .a {
    font-weight: 600;
    display: inline-block;
    margin-right: 1em;
    color: #b98e25; }
  dl.faq div dd {
    padding: 1.5em 0; }

.button-area {
  display: flex;
  justify-content: center;
  grid-gap: 24px; }

.button {
  margin-top: 0;
  display: flex;
  justify-content: center; }
  @media only screen and (max-width: 821px) {
    .button {
      display: grid;
      justify-content: center; } }
  .button a {
    border: none;
    border-radius: 2em;
    background-color: #b98e25;
    color: #fff;
    font-size: 1em;
    font-weight: 600;
    line-height: 1;
    padding: 1.2em 2em;
    display: flex;
    justify-content: center; }
    .button a i {
      margin-left: .5em;
      opacity: .9; }

/* Layout */
main {
  width: 100%;
  min-width: 100%;
  padding: 0; }
  @media only screen and (max-width: 821px) {
    main {
      padding: 0; } }

.blog #content, .archive #content, .single #content, #privacy-policy #content {
  max-width: 960px;
  margin: 0 auto; }
  @media only screen and (max-width: 821px) {
    .blog #content, .archive #content, .single #content, #privacy-policy #content {
      margin-top: 0; } }

.container {
  width: 86%;
  max-width: 960px;
  padding: 0;
  margin: 0 auto 90px; }
  @media only screen and (max-width: 821px) {
    .container {
      width: 100%;
      padding: 0 24px 0;
      margin-bottom: 40px; } }
  .single .container {
    max-width: 720px; }

.container-sm {
  width: 70%;
  max-width: 960px;
  margin: 0 auto; }
  @media only screen and (max-width: 821px) {
    .container-sm {
      width: 100%; } }

.row {
  gap: 32px 48px; }
  @media only screen and (max-width: 821px) {
    .row {
      gap: 32px; } }

/* Contents */
#hero {
  position: relative;
  margin: 210px 0 40px 4vw;
  overflow: hidden;
  border-top-left-radius: 40px;
  border-bottom-left-radius: 40px; }
  @media only screen and (max-width: 821px) {
    #hero {
      margin: 150px 0 40px 24px;
      border-top-left-radius: 24px;
      border-bottom-left-radius: 24px; } }
  #hero #main-copy {
    position: absolute;
    bottom: 64px;
    left: -12px;
    font-weight: 600; }
    @media only screen and (max-width: 821px) {
      #hero #main-copy {
        bottom: 20px; } }
    #hero #main-copy span {
      background: rgba(255, 255, 255, 0.9);
      padding: 8px 10px 10px 48px;
      line-height: 1;
      display: inline-block;
      margin-top: 16px;
      font-size: 26px;
      border-radius: 4px; }
      @media only screen and (max-width: 821px) {
        #hero #main-copy span {
          padding-left: 24px;
          font-size: 16px;
          margin-top: 10px; } }

#sub-copy {
  text-align: center;
  font-weight: 600;
  font-size: 1.1em; }

/* Header, Nav, Footer */
header {
  position: absolute;
  top: 0;
  z-index: 9999;
  padding: 0;
  height: auto;
  box-sizing: border-box; }
  @media only screen and (max-width: 821px) {
    header {
      padding: 0;
      height: 96px; } }
  header h1 img {
    width: 240px;
    height: auto;
    display: block;
    padding: 36px; }
    @media only screen and (max-width: 821px) {
      header h1 img {
        width: 164px;
        padding: 24px; } }
  header #nav-menu {
    display: block; }
  header nav {
    padding: 24px 28px 48px !important; }
    header nav ul {
      text-align: left;
      margin-bottom: 0; }
      @media only screen and (max-width: 1030px) {
        header nav ul {
          font-size: 20px; } }
      header nav ul li {
        font-size: 18px;
        line-height: 1;
        font-weight: 400;
        color: #b98e25;
        text-transform: uppercase;
        margin-bottom: 20px;
        padding-bottom: 20px;
        border-bottom: .9px solid #aaa; }
        @media only screen and (max-width: 821px) {
          header nav ul li {
            font-size: 15px;
            margin-bottom: 16px;
            padding-bottom: 16px; } }
        header nav ul li a {
          color: #b98e25; }
        header nav ul li span {
          font-size: 13px;
          font-weight: normal;
          color: #030000;
          display: block;
          margin-top: 10px; }
          @media only screen and (max-width: 821px) {
            header nav ul li span {
              margin-top: 8px; } }

footer {
  margin-top: 120px;
  padding: 60px 0;
  top: 100%;
  text-align: center;
  color: #fff;
  background-color: #b98e25; }
  @media only screen and (max-width: 821px) {
    footer {
      margin-top: 60px;
      padding: 60px 24px; } }
  footer #footer-container {
    position: relative; }
    footer #footer-container #company-info {
      line-height: 1.9; }
    footer #footer-container a {
      color: #fff; }
    footer #footer-container h1 {
      text-align: center;
      margin-bottom: 20px; }
      footer #footer-container h1 img {
        width: 300px;
        height: auto; }
        @media only screen and (max-width: 821px) {
          footer #footer-container h1 img {
            width: 240px; } }
    footer #footer-container #footer-sub {
      margin-top: 24px;
      display: flex;
      justify-content: center;
      align-items: center;
      grid-gap: 40px;
      font-size: .9em; }
      @media only screen and (max-width: 821px) {
        footer #footer-container #footer-sub {
          grid-gap: 20px;
          flex-direction: column-reverse; } }
      footer #footer-container #footer-sub #copyright {
        margin-bottom: 0; }
        @media only screen and (max-width: 821px) {
          footer #footer-container #footer-sub #copyright {
            font-size: .8em; } }
      footer #footer-container #footer-sub ul {
        display: flex;
        grid-gap: 24px;
        margin-bottom: 0; }
        @media only screen and (max-width: 821px) {
          footer #footer-container #footer-sub ul {
            grid-gap: 0; } }
        footer #footer-container #footer-sub ul li {
          text-transform: uppercase; }
          @media only screen and (max-width: 821px) {
            footer #footer-container #footer-sub ul li {
              line-height: 1; } }
          footer #footer-container #footer-sub ul li a {
            color: #fff !important; }
          @media only screen and (max-width: 821px) {
            footer #footer-container #footer-sub ul li:first-child {
              padding-right: 12px;
              margin-right: 12px;
              border-right: .9px solid #fff; } }
    footer #footer-container #privacy-policy {
      font-size: .9em;
      font-weight: 600;
      margin-left: auto;
      margin-bottom: 0; }
      @media only screen and (max-width: 821px) {
        footer #footer-container #privacy-policy {
          margin-left: 0;
          margin-bottom: 1em;
          opacity: .8; } }
    footer #footer-container #nav-page-top {
      position: absolute;
      top: -136px;
      right: 28px; }
      @media only screen and (max-width: 821px) {
        footer #footer-container #nav-page-top {
          top: -126px;
          right: 0px; } }
      footer #footer-container #nav-page-top a {
        color: #b98e25;
        border: 1px solid #b98e25;
        border-radius: 2em;
        width: 48px;
        height: 48px;
        font-size: 32px;
        line-height: 1;
        display: grid;
        align-items: center; }
        @media only screen and (max-width: 821px) {
          footer #footer-container #nav-page-top a {
            width: 44px;
            height: 44px; } }
        footer #footer-container #nav-page-top a i {
          position: relative;
          top: -2px; }

#home #info-area-bg {
  background-color: #f6f4ee;
  padding: 60px 0; }
  @media only screen and (max-width: 821px) {
    #home #info-area-bg {
      padding: 16px 0 60px; } }
  #home #info-area-bg .container {
    margin-bottom: 0; }
  #home #info-area-bg .row {
    margin-bottom: 0; }
#home footer {
  margin-top: 0; }

#info-area {
  display: grid;
  justify-content: center; }
  @media only screen and (max-width: 821px) {
    #info-area ul li {
      margin-bottom: 12px; } }
  #info-area ul li a {
    display: flex;
    grid-gap: 36px; }
    @media only screen and (max-width: 821px) {
      #info-area ul li a {
        grid-gap: 24px; } }

#company-overview #mission, #company-overview #about-logo, #company-overview #csr, #company-overview #message, #company-overview #company, #company-overview #pamphlet {
  border-bottom: 1px solid rgba(185, 142, 37, 0.5);
  padding-bottom: 60px;
  margin-bottom: 120px; }
  @media only screen and (max-width: 821px) {
    #company-overview #mission, #company-overview #about-logo, #company-overview #csr, #company-overview #message, #company-overview #company, #company-overview #pamphlet {
      padding-bottom: 20px;
      margin-bottom: 60px; } }
@media only screen and (max-width: 821px) {
  #company-overview #mission img {
    width: 80%;
    margin: 16px auto;
    display: block; } }
#company-overview #mission .panel {
  display: grid;
  grid-template-columns: 1fr 11fr;
  grid-gap: 24px;
  padding: 0;
  margin-bottom: 24px; }
  @media only screen and (max-width: 821px) {
    #company-overview #mission .panel {
      grid-gap: 16px; } }
  #company-overview #mission .panel .num {
    width: 40px;
    height: 40px;
    font-size: 20px;
    font-weight: 800;
    line-height: 1;
    display: grid;
    justify-content: center;
    align-items: center;
    background-color: #ccc; }
    @media only screen and (max-width: 821px) {
      #company-overview #mission .panel .num {
        width: 28px;
        height: 28px;
        font-size: 15px; } }
    #company-overview #mission .panel .num {
      background-color: #f4c6db; }
  #company-overview #mission .panel:nth-child(2) .num {
    background-color: #fff162; }
  #company-overview #mission .panel:nth-child(3) .num {
    background-color: #99c5de; }
  #company-overview #mission .panel div h5 {
    font-weight: 600; }
  #company-overview #mission .panel div p {
    margin-bottom: 0; }
@media only screen and (max-width: 821px) {
  #company-overview #about-logo img {
    width: 60%;
    margin: 16px auto 0;
    display: block; } }
#company-overview #message img {
  border-radius: 40px; }
  @media only screen and (max-width: 821px) {
    #company-overview #message img {
      border-radius: 24px;
      width: 50%;
      margin: 0 auto;
      display: block; } }
#company-overview #message #ceo {
  text-align: right; }
  #company-overview #message #ceo span {
    font-size: 1.4em;
    display: inline-block;
    margin-left: 12px; }
@media only screen and (max-width: 821px) {
  #company-overview #company {
    padding-bottom: 48px; } }
#company-overview #company dl {
  width: 80%;
  margin: 0 auto; }
  @media only screen and (max-width: 821px) {
    #company-overview #company dl {
      width: 100%; } }
#company-overview #pamphlet img {
  width: 200px;
  height: auto;
  margin: 72px auto;
  display: block;
  border: 1px solid #ccc; }
  @media only screen and (max-width: 821px) {
    #company-overview #pamphlet img {
      width: 80%;
      margin: 48px auto; } }
#company-overview #access h5 {
  font-weight: 600; }
#company-overview #access #map-area {
  grid-template-columns: 8fr 4fr; }
  #company-overview #access #map-area .grid {
    border: .9px solid #000;
    border-radius: 40px;
    overflow: hidden; }
    @media only screen and (max-width: 821px) {
      #company-overview #access #map-area .grid {
        border-radius: 24px; } }
  #company-overview #access #map-area .map-illust {
    display: grid;
    align-items: center; }
@media only screen and (max-width: 821px) {
  #company-overview #access .row-2 {
    display: block; }
  #company-overview #access #map-area {
    display: grid;
    grid-template-columns: 1fr;
    margin-top: 24px; } }

#pamphlet img {
  width: 200px;
  height: auto;
  margin: 72px auto;
  display: block;
  border: 1px solid #ccc; }
  @media only screen and (max-width: 821px) {
    #pamphlet img {
      width: 80%;
      margin: 48px auto; } }

#business-role #role {
  border-bottom: 1px solid rgba(185, 142, 37, 0.5);
  padding-bottom: 60px;
  margin-bottom: 120px; }
  @media only screen and (max-width: 821px) {
    #business-role #role {
      padding-bottom: 20px;
      margin-bottom: 60px; } }
#business-role #partnership {
  /* パーセンテージで位置指定（レスポンシブ対応） */
  /* アクセシビリティ向上 */ }
  #business-role #partnership .image-container {
    position: relative;
    display: inline-block;
    width: 100%; }
  #business-role #partnership .image-container img {
    width: 100%;
    height: auto;
    display: block; }
  #business-role #partnership .area {
    position: absolute;
    cursor: pointer;
    display: block; }
    #business-role #partnership .area:hover {
      cursor: pointer; }
  #business-role #partnership .area1 {
    top: 40%;
    left: 2%;
    width: 28%;
    height: 14%; }
  #business-role #partnership .area2 {
    top: 40%;
    left: 34%;
    width: 32%;
    height: 14%; }
  #business-role #partnership .area3 {
    top: 40%;
    left: 70%;
    width: 28%;
    height: 14%; }
  #business-role #partnership .area span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0); }

#facility h3 {
  color: #030000;
  font-size: 18px;
  font-weight: 800;
  background: #dadbdb;
  width: 80%;
  border-radius: 2em;
  padding: 8px;
  margin: 0 auto; }
  @media only screen and (max-width: 821px) {
    #facility h3 {
      font-size: 16px;
      border-radius: 20px;
      padding: 12px 16px; } }
#facility .bg-section {
  background-color: #f6f4ee;
  border-radius: 40px;
  padding: 60px 40px 40px;
  margin-top: -54px; }
  @media only screen and (max-width: 821px) {
    #facility .bg-section {
      border-radius: 20px;
      padding: 50px 20px 20px;
      margin-top: -36px; } }
  #facility .bg-section .row-2 {
    margin-bottom: 0; }
    @media only screen and (max-width: 821px) {
      #facility .bg-section .row-2 {
        grid-gap: 0; } }

#faq dl {
  display: block; }
  #faq dl dt, #faq dl dd {
    font-weight: normal; }
    #faq dl dt div, #faq dl dd div {
      display: flex;
      align-items: start;
      justify-content: start;
      gap: 1em;
      border-bottom: 1px dotted rgba(3, 0, 0, 0.5);
      padding-top: 1.5em;
      padding-bottom: 1.5em; }
      @media only screen and (max-width: 821px) {
        #faq dl dt div, #faq dl dd div {
          padding-top: 1em;
          padding-bottom: 1em; } }
  #faq dl dt {
    cursor: pointer; }
    #faq dl dt span {
      font-size: 1em;
      font-weight: 600; }
  #faq dl dd {
    display: none; }
    #faq dl dd div {
      border-bottom: 1px solid rgba(3, 0, 0, 0.5); }
      #faq dl dd div span {
        font-size: 1em;
        font-weight: 600; }

#permit-list #title {
  padding-bottom: 60px; }
  @media only screen and (max-width: 821px) {
    #permit-list #title {
      padding-bottom: 24px; } }
#permit-list .link {
  text-align: center; }
  #permit-list .link a {
    color: #999; }
#permit-list .tab-buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 12px;
  margin-bottom: 40px;
  cursor: pointer; }
  @media only screen and (max-width: 821px) {
    #permit-list .tab-buttons {
      grid-gap: 16px;
      margin-bottom: 20px;
      margin-top: 32px; } }
  #permit-list .tab-buttons button {
    border: none;
    background-color: #ccc;
    border-radius: 4px;
    padding: 16px;
    text-align: center;
    cursor: pointer;
    font-size: 15px;
    color: #030000; }
    #permit-list .tab-buttons button.active {
      background-color: #b98e25;
      font-weight: 600;
      color: #fff !important; }
    #permit-list .tab-buttons button:hover {
      opacity: .7;
      transition: .5s; }
#permit-list table {
  width: 100%; }
  #permit-list table tr {
    border-top: 1px solid #aaa; }
    #permit-list table tr:first-child {
      border-top: 1px solid #ccc; }
    #permit-list table tr th, #permit-list table tr td {
      width: 33.333%;
      padding: 12px 0; }
      @media only screen and (max-width: 821px) {
        #permit-list table tr th, #permit-list table tr td {
          font-size: 12px; } }
    #permit-list table tr th {
      font-weight: 600; }

#contact #contact-form {
  background: #f6f4ee;
  border-radius: 20px;
  padding: 40px; }
  @media only screen and (max-width: 821px) {
    #contact #contact-form {
      padding: 20px; } }
  #contact #contact-form .row {
    display: grid;
    grid-template-columns: 3fr 9fr;
    grid-gap: 20px;
    margin-bottom: 28px; }
    @media only screen and (max-width: 821px) {
      #contact #contact-form .row {
        grid-template-columns: 1fr;
        grid-gap: 0;
        margin-bottom: 24px; } }
    #contact #contact-form .row p {
      margin-bottom: 0; }
    #contact #contact-form .row .flex {
      display: flex;
      justify-content: space-between;
      grid-gap: 20px; }
      #contact #contact-form .row .flex p {
        display: grid;
        grid-gap: 0px;
        grid-template-columns: 2fr 10fr;
        align-items: center; }
    #contact #contact-form .row .wpcf7-list-item {
      margin: 0 1.2em 0 0;
      display: block; }
      #contact #contact-form .row .wpcf7-list-item label {
        font-weight: normal; }
    #contact #contact-form .row input[type='tel'] {
      padding: 0.9em;
      border: none;
      border-radius: 4px;
      border: 1px solid #888;
      width: 100%; }
    #contact #contact-form .row .note {
      font-weight: normal;
      font-size: 11px;
      line-height: 1.47;
      margin-top: 8px; }
    #contact #contact-form .row input[type='submit'] {
      background-color: #b98e25; }
  #contact #contact-form #zip .grid-9 label, #contact #contact-form #address .grid-9 label {
    font-weight: normal;
    display: grid;
    grid-gap: 0px;
    grid-template-columns: 2fr 10fr;
    align-items: center;
    margin-bottom: 28px; }
    @media only screen and (max-width: 821px) {
      #contact #contact-form #zip .grid-9 label, #contact #contact-form #address .grid-9 label {
        grid-template-columns: 3fr 9fr;
        grid-gap: 8px; } }
  #contact #contact-form #zip .grid-9 label {
    margin-bottom: 0; }
  #contact #contact-form #wpcf7cpcnf table {
    width: 100%; }
    #contact #contact-form #wpcf7cpcnf table tr th {
      width: 30%;
      font-weight: 600;
      border-bottom: 0.9px solid #030000;
      padding-top: 24px; }
    #contact #contact-form #wpcf7cpcnf table tr td {
      border-bottom: 0.9px solid #030000;
      padding-top: 24px; }
    #contact #contact-form #wpcf7cpcnf table tr:last-child {
      display: none; }
  #contact #contact-form .wpcf7cp-btns {
    display: flex;
    justify-content: start;
    grid-gap: 24px; }
    #contact #contact-form .wpcf7cp-btns button {
      padding: 1em 5em;
      margin: 20px 0;
      border: none;
      background-color: #030000;
      border-radius: 4em;
      color: #fff;
      display: inline-block; }
      #contact #contact-form .wpcf7cp-btns button:last-child {
        background-color: #b98e25; }

.badge {
  line-height: 1;
  border: 0.9px solid #030000;
  font-weight: 400;
  border-radius: 4px;
  padding: 2px 2px;
  font-size: 12px;
  display: inline-block;
  margin-right: 8px;
  position: relative;
  top: -2px; }

.badge-required {
  border: none;
  background-color: red;
  color: #fff; }

#privacy-policy h3, #privacy-policy h4, #privacy-policy h5 {
  font-weight: 800; }
#privacy-policy h3 {
  text-align: left;
  font-size: 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid #b98e25; }
#privacy-policy h4 {
  text-align: left;
  color: #b98e25;
  font-size: 16px;
  padding-bottom: 12px;
  border-bottom: 0.9px solid #b98e25; }
#privacy-policy h5 {
  text-align: left;
  border-left: 3px solid #b98e25;
  padding-left: 12px;
  margin-bottom: 12px; }

#site-map #site-map-list li {
  font-size: 18px;
  line-height: 1;
  font-weight: 400;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: .9px solid #aaa;
  text-transform: uppercase; }
  #site-map #site-map-list li a {
    color: #b98e25; }
  #site-map #site-map-list li span {
    font-size: 13px;
    font-weight: normal;
    color: #030000;
    display: inline-block;
    margin-left: 10px; }
    @media only screen and (max-width: 821px) {
      #site-map #site-map-list li span {
        display: block;
        margin-left: 0;
        margin-top: 12px; } }

.flex {
  display: flex;
  justify-content: space-between; }

.item-center {
  display: block !important; }
  .item-center .grid p {
    display: flex;
    justify-content: center; }

/*  */
.category-list {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 80px 0 0;
  line-height: 1; }
  @media only screen and (max-width: 821px) {
    .category-list {
      padding: 40px 0 0; } }
  .category-list li {
    padding-right: 20px;
    margin-right: 20px;
    border-right: 1px solid #030000; }
    @media only screen and (max-width: 821px) {
      .category-list li {
        padding-right: 12px;
        margin-right: 12px;
        border-right: 0.9px solid #030000; } }
    .category-list li:last-child {
      padding-right: 0;
      margin-right: 0;
      border: none; }

#page-nav {
  margin: 90px 0 40px;
  padding: 0; }
  @media only screen and (max-width: 821px) {
    #page-nav {
      margin: 40px 0 20px; } }

#title-image {
  margin-top: 220px;
  margin-left: 4vw; }
  @media only screen and (max-width: 821px) {
    #title-image {
      margin-top: 160px;
      margin-left: 24px; } }
  #title-image img {
    border-top-left-radius: 40px;
    border-bottom-left-radius: 40px; }
    @media only screen and (max-width: 821px) {
      #title-image img {
        border-top-left-radius: 24px;
        border-bottom-left-radius: 24px; } }

#footer-image {
  margin: 120px 0 60px 4vw; }
  @media only screen and (max-width: 821px) {
    #footer-image {
      margin-top: 60px;
      margin-left: 24px; } }
  #footer-image img {
    border-top-left-radius: 40px;
    border-bottom-left-radius: 40px; }
    @media only screen and (max-width: 821px) {
      #footer-image img {
        border-top-left-radius: 24px;
        border-bottom-left-radius: 24px; } }

#title {
  padding: 180px 24px 90px;
  margin-bottom: 0em; }
  @media only screen and (max-width: 821px) {
    #title {
      padding: 136px 24px 60px; } }
  #company-overview #title {
    padding-top: 90px; }
    @media only screen and (max-width: 821px) {
      #company-overview #title {
        padding: 36px 20px 36px; } }
  #title h2 {
    margin-bottom: 0; }
    #title h2 span {
      color: #030000; }
      @media only screen and (max-width: 821px) {
        #title h2 span {
          margin-top: 4px; }
          #company-overview #title h2 span {
            margin-top: 12px; } }
  @media only screen and (max-width: 821px) {
    .blog #title, .single #title {
      padding-bottom: 36px; } }

.tab-content {
  display: none; }

.tab-content.active {
  display: block; }

.tab-button.active {
  font-weight: 600; }

.text-brown {
  color: #b98e25 !important; }

/* Slider */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

.slider-container {
  position: relative;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  overflow: hidden; }

.slider-container::before {
  content: '';
  display: block;
  padding-top: 50%;
  /* 800/1600 = 0.5 = 50% */ }

@media (max-width: 821px) {
  .slider-container::before {
    padding-top: 150%;
    /* 1:2 = 200% */ } }
.slider {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0; }

.slide.active {
  opacity: 1; }

.slide img {
  width: 100%;
  height: 100%;
  object-fit: cover; }

.slider-nav {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 12px;
  z-index: 10; }
  @media only screen and (max-width: 821px) {
    .slider-nav {
      gap: 12px; } }

.nav-dot {
  width: 10px;
  height: 10px;
  border: 2px solid rgba(255, 255, 255, 0.8);
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  transition: all 0.3s ease; }
  @media only screen and (max-width: 821px) {
    .nav-dot {
      width: 8px;
      height: 8px; } }

.nav-dot.active {
  background: rgba(255, 255, 255, 0.9); }

.nav-dot:hover {
  background: rgba(255, 255, 255, 0.5); }

/* Lightbox */
.lightboxOverlay {
  background-color: #aaa !important;
  opacity: 0.8 !important; }

.lightbox img.lb-image {
  border: 12px solid white !important; }

/*# sourceMappingURL=style.css.map */
