
        :root {
            --FONT_FAMILY_ZEN: "見出ゴMB31 JIS2004", "serif";
        --FONT_FAMILY: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
        
        }
        h1, h2, h3, h4, h5 {
            font-family: var(--FONT_FAMILY_ZEN);
        }
        body {
            font-family: var(--FONT_FAMILY);
        }
        
        body { margin: 0 auto; padding: 0px 0px; line-height: 1.6; }
        h1 { color: #333;  padding-bottom: 10px; }
        h2 { color: #333!important; margin-top: 40px; border-left: 4px solid #af8850; padding-left: 10px; font-weight: 900!important;}
        .breadcrumb { color: #666; }
        .breadcrumb a { color: #0066cc; text-decoration: none; }
        .breadcrumb a:hover { text-decoration: underline; }
        .container-fullwidth {
          max-width: 100% !important;
          width: 100% !important;
          padding-right: 15px;
          padding-left: 15px;
        }
        .kv-overlay-title {
          position: absolute;
          top: 50%;
          left: 50%;
          width: 100%;
          transform: translate(-50%, -50%);
          color: #fff;
          text-shadow: 2px 2px 8px rgba(0,0,0,0.7);
          font-size: 2.2rem;
          text-align: center;
          font-family: var(--FONT_FAMILY_ZEN);
          z-index: 2;
          padding: 0 1rem;
          pointer-events: none;
          /* レスポンシブ調整は適宜追加 */
        }

        .month{
          font-weight: 1000;
            display: inline;
        color: #333;
        background: linear-gradient(transparent 60%, #FFD700 60%);
        text-shadow: 
          2px 2px 0 #fff,
          -2px 2px 0 #fff,
          2px -2px 0 #fff,
          -2px -2px 0 #fff,
          2px 0 0 #fff,
          -2px 0 0 #fff,
          0 2px 0 #fff,
          0 -2px 0 #fff;
          line-height: 1.5;
        }

        .toiu{
          font-size:0.7em; 
        }

        
        .copy{
          font-weight: 1000;
          font-size:1.3em;
        }



        .accordion-header{
          padding:1px;
        }

        .accordion-item {
          border:none;
        }
        .station-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 15px; margin-top: 20px; }
        .station-card { border: 1px solid #ddd; padding: 15px; border-radius: 5px; }
        .station-card a { color:#000;text-decoration: none; font-weight: bold; }
        .station-card a:hover { text-decoration: underline; }
        .badge { background: #4CAF50; color: white; padding: 2px 8px; border-radius: 3px; font-size: 0.8em; margin-left: 5px; }
        /*.towns-list { column-count: 3; column-gap: 20px; }
        .towns-list li { break-inside: avoid; margin-bottom: 5px; }*/
        .fullwidth-visual {
          width: 100vw;
          position: relative;
          left: 50%;
          right: 50%;
          margin-left: -50vw;
          margin-right: -50vw;
        }


        .brown{
            background-color: #e7dac4;
            padding-top:30px;
            padding-bottom:30px ;
        }

        .towns-list{
            display: flex;
            flex-wrap: wrap;
            margin: 0 -1%;
            padding: 1rem 0;
        }

        .towns-list li{
            width: calc(100% / 6 - 2%);
            margin: 0.6rem 1%;
            background: #fff;
            list-style: none;
            padding: 0.4rem 0;
            text-align: center;
        }
        .step{
            border:1px solid #af8850;
        }

        .step-header{
            background-color: #af8850;
        }

        .pet-items ul{
            display: flex;
            flex-wrap: wrap;
            padding-left: 0;
        }

        .pet-items ul li{
            letter-spacing: 0px;
            list-style: none;
            margin: 0px 5px;
            position: relative;
        }

        .pet-items ul li:after {
            content: "/";
            position: relative;
            right: -10px;
        }
        .kouken{background:#fff;padding:12px;border-radius:8px;box-shadow:0 2px 16px rgba(0,0,0,0.13);display:block;width:100%;height:auto;}

        .me {
          background-color: #fff7e6 !important;
        }

        .me th{
          background-color: #ffecc4 !important;
        }
        @media (max-width: 768px) {
        .kv-overlay-title {
          font-size: 1.1rem;
        }

        .month{
    font-size: 1rem;
    line-height: 1.2;
    text-shadow: 
      0.5px 0.5px 0 #fff,
      -0.5px 0.5px 0 #fff,
      0.5px -0.5px 0 #fff,
      -0.5px -0.5px 0 #fff;
        }

        .toiu{
          font-size:0.5em; 
        }

        
        .copy{
          font-weight: 600;
          font-size:1em;
        }
        }
        @media (max-width: 480px) {
            /*.towns-list { column-count: 1; }*/
        }
        .form-control, .form-select {
          height: 45px;
        }

        .btn-full {
          height: 50px;
          width: 100%;
          display: block;
          font-size: 1.1rem;
        }
        .cta{
          padding-top:30px;
          padding-bottom: 30px;  
        }

        .floating-header {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 1000;
        box-shadow: 0 2px 8px rgba(0,0,0,0.08);
        }
        body {
        padding-top: 110px; /* ヘッダー高さ分だけ下に余白 */
        }

        .white-nowrap {
            white-space: nowrap;
        }
        .underline_text {
            background:linear-gradient(transparent 70%, #FFFF00 0%)!important;
        }
        
        .area-card { border: 1px solid #ddd; padding: 15px; border-radius: 5px; text-align: center!important;}
        .area-card h4 { margin: 0 10px 10px 10px; color: #4CAF50; }
        .area-card a { color: #0066cc; text-decoration: none; display: inline-block; margin-top: 5px; }
        .area-card a:hover { text-decoration: underline; }
        .station-count { color: #666; font-size: 0.9em; }