/*** Custom styles to complement Bootstrap ***/
@media (min-width: 1400px) {
    .container {
      max-width: 1000px !important;
    }
    .container--wide {
      max-width: 1200px !important;
    }
    .container--narrow {
      max-width: 800px !important;
    }
  }
  
  /*** Global styles ***/
  :root {
    --main-color: #0090A9;
    --base-color: #EBEBEC;
    --sub-color: #d7e8ed;
    --accent-color: #D98B00;
    --sub-accent-color: #CBBF9E;
    --font-base-color: #212529;
  }
  
  .text-main {
    color: var(--main-color)!important;
  }
  
  .text-base {
    color: var(--base-color)!important;
  }
  
  .text-sub {
    color: var(--sub-color)!important;
  }
  
  .text-accent {
    color: var(--accent-color)!important;
  }
  
  .text-font-base {
    color: var(--font-base-color)!important;
  }
  
  .bg-main {
    background-color: var(--main-color)!important;
  }
  
  .bg-base {
    background-color: var(--base-color)!important;
  }
  
  .bg-sub {
    background-color: var(--sub-color)!important;
  }
  
  .bg-accent {
    background-color: var(--accent-color)!important;
  }
  
  .bg-sub-accent {
    background-color: var(--sub-accent-color)!important;
  }
  
  .bg-font-base {
    background-color: var(--font-base-color)!important;
  }
  
  .bg-dot {
    background-color: var(--sub-color);
    background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.2' fill-rule='evenodd'%3E%3Ccircle cx='3' cy='3' r='3'/%3E%3Ccircle cx='13' cy='13' r='3'/%3E%3C/g%3E%3C/svg%3E");
  }
  
  .bg-grid {
    background-color: var(--base-color);
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='10' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.3'%3E%3Cpath d='M0 0h20v1H0zM0 19h20v1H0zM0 0h1v20H0zM19 0h1v20h-1z'/%3E%3C/g%3E%3C/svg%3E");
  }
  
  .bg-wave {
    background-color: var(--sub-color);
    background-image: url("data:image/svg+xml,%3Csvg width='52' height='26' viewBox='0 0 52 26' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.3'%3E%3Cpath d='M10 10c0-2.21-1.79-4-4-4-3.314 0-6-2.686-6-6h2c0 2.21 1.79 4 4 4 3.314 0 6 2.686 6 6 0 2.21 1.79 4 4 4 3.314 0 6 2.686 6 6 0 2.21 1.79 4 4 4 3.314 0 6 2.686 6 6 0 2.21 1.79 4 4 4 3.314 0 6 2.686 6 6h-2c0-2.21-1.79-4-4-4-3.314 0-6-2.686-6-6 0-2.21-1.79-4-4-4-3.314 0-6-2.686-6-6 0-2.21-1.79-4-4-4-3.314 0-6-2.686-6-6h-2z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  }
  
  .border-main {
    border-color: var(--main-color)!important;
  }
  
  .border-sub {
    border-color: var(--sub-color)!important;
  }
  
  .border-accent {
    border-color: var(--accent-color)!important;
  }
  
  .border-sub-accent {
    border-color: var(--sub-accent-color)!important;
  }
  
  .marker {
    background:linear-gradient(transparent 65%,#ffe369 0);
  }
  .heading-underline {
    position: absolute;
    bottom: -16px;
    left: 50%;
    transform: translateX(-50%);
    width: 50px; /* さらに短い下線 */
    height: 5px;
    background-color: #cbbfa3;
  }
  
  /*** Common Components ***/
  
  body {
    font-family: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
  }

  .breadcrumb-item a {
    color: var(--text-color);
    text-decoration: none;
  }

  /* ヘッダーナビゲーション */
  .nav-menu li {
    margin: 0 15px;
  }
  
  .nav-menu a {
    color: #333;
    text-decoration: none;
    transition: all 0.3s ease;
  }
  
  .nav-menu a:hover {
    color: var(--accent-color);
  }
  
  .nav-menu a:hover {
    color: var(--accent-color);
  }
  
  .nav-menu .btn:hover {
    opacity: 0.8;
    cursor: pointer;
  }