:root {
            --primary: #56ADC6;
            --secondary: #8b4513;
            --accent: #9c27b0;
            --bg-light: #f9f7f7;
            --text: #333333;
        }

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

        body {
            font-family: 'M PLUS Rounded 1c', sans-serif;
            line-height: 1.8;
            color: var(--text);
        }

        .header {
            background: white;
            padding: 1rem;
            position: fixed;
            width: 100%;
            top: 0;
            z-index: 1000;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
        }

        .header-inner {
            max-width: 1200px;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .logo {
            font-size: 1.5rem;
            color: var(--primary);
            font-weight: bold;
        }

        .wrapper {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 5%;
          }
        
        .nav-button {
            background: #F27D7D;
            color: white;
            padding: 0.5rem 1.5rem;
            border-radius: 25px;
            text-decoration: none;
            font-weight: bold;
        }

        .nav-button1 {
            background: #F27D7D;
            color: white;
            padding: 0.5rem 1.5rem;
            border-radius: 25px;
            text-decoration: none;
            font-weight: bold;
            line-height: 5em;
        }

        .nav-button2 {
            background: #F27D7D;
            color: white;
            padding: 0.5rem 1.5rem;
            border-radius: 25px;
            text-decoration: none;
            font-weight: bold;
            line-height: 5em;
        }

        .hero {
            margin-top: 60px;
            height: 80vh;
            background: linear-gradient(rgba(180, 180, 180, 0.2), rgba(180,180,180,0.2)),
                        url('./31306176_l.jpg') center/cover;
            display: flex;
            align-items:center;
            justify-content: center;
            text-align: center;
            color: white;
        }

        .hero-content {
            max-width: 800px;
            padding: 2rem;
            background-color: rgba( 74, 115, 144, 0.5);
            padding: 10px;
            border-radius: 5px;
        }

        .hero h1 {
            font-size: 3rem;
            margin-bottom: 1rem;
        }

        .title-pc {
            display: block;
        }

        .title-sp {
            display: none;
        }

        .section {
            padding: 3rem 1rem;
        }

        .section:nth-child(even) {
            background: var(--bg-light);
        }

        .container {
            max-width: 1200px;
            margin: 0 auto;
        }

        .section-title {
            text-align: center;
            margin-bottom: 1rem;
            color: var(--primary);
        }

        .concept-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 2rem;
        }

        .concept-card {
            background: white;
            padding: 2rem;
            border-radius: 15px;
            text-align: left;
            box-shadow: 0 3px 15px rgba(0,0,0,0.1);
        }

        .concept-card img {
            width: 100%;
            height: 200px;
            object-fit: cover;
            border-radius: 10px;
            margin-bottom: 1rem;
        }

        .plot-info {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 2rem;
            align-items: center;
        }

        .plot-image {
            width: 100%;
            margin-bottom: 20px;
            height: 400px;
            border-radius: 15px;
        }
        
        .plot-image img{
            width: 100%;
            height: 400px;
            object-fit: contain;
            border-radius: 10px;
        }

        .facility-card1 {
            background: white;
            padding: 1.5rem;
            margin-bottom: 20px;
            border-radius: 10px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
        }

        .example-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 2rem;
        }

        .example-card {
            background: white;
            padding: 2rem;
            border-radius: 15px;
            text-align: left;
            box-shadow: 0 3px 15px rgba(0,0,0,0.1);
        }

        .example-card img {
            width: 100%;
            height: 250px;
            object-fit: cover;
            border-radius: 10px;
            margin-bottom: 1rem;
        }

        .slider {
            display: flex;
            overflow-x: auto;
            scroll-snap-type: x mandatory;
            gap: 1rem;
            scroll-behavior: smooth;
            margin-bottom: 1rem;
          }
          
          .slider img {
            flex: 0 0 100%;
            height: 250px;
            object-fit: cover;
            border-radius: 10px;
            scroll-snap-align: start;
          }

          .slider-wrapper {
            position: relative;
            margin-bottom: 2rem;
          }
          
          .dots {
            text-align: center;
            margin-top: 10px;
          }
          
          .dot {
            display: inline-block;
            width: 10px;
            height: 10px;
            margin: 0 5px;
            background: #ccc;
            border-radius: 50%;
            cursor: pointer;
            transition: background 0.3s;
          }
          
          .dot.active {
            background: #56AADC; /* アクティブなドットの色 */
          }
          
        .surroundings {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 2rem;
        }

        .facility-card {
            background: white;
            padding: 1.5rem;
            border-radius: 10px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
        }

        .facility-card img {
            width: 100%;
            height: 200px;
            object-fit: cover;
            border-radius: 10px;
            margin-bottom: 1rem;
        }

        .company-info {
            max-width: 800px;
            margin: 0 auto;
            padding: 2rem 1rem;           /* 余白を内側に追加 */
            box-sizing: border-box;
            text-align: left;             /* テキストは左揃え */
            font-size: 1.1rem;            /* 少し読みやすく */
            line-height: 1.8;             /* 行間をゆったりと */
            color: #333;                  /* 見やすい文字色 */
          }
          
          .company-info p {
            margin-bottom: 1.5rem;
          }
          
          .company-info img {
            display: block;
            max-width: 100%;
            width: 80%;
            margin: 0 auto;
            height: auto;
          }
          
          /* レスポンシブ対応（スマホ向け） */
          @media (max-width: 600px) {
            .company-info {
              font-size: 1rem;
              padding: 1.5rem 1rem;
            }
          
            .company-info img {
              width: 100%;
            }
          }
          
        .faq {
            max-width: 800px;
            margin: 0 auto;
        }

        .faq-item {
            display: inline;
            justify-content: center;
            max-width: 500px;
            margin-bottom: 7px;
            border-bottom: 2px solid #d0d0d0;
        }

        .faq-item summary {
            display: flex;
            justify-content: space-between;
            align-items: center;
            text-decoration: underline #56ADC6;
            position: relative;
            padding: 1em 2em;
            color: #64b5dd;
            font-weight: 600;
            cursor: pointer;
        }

        .faq-item summary::-webkit-details-marker {
            display: none;
        }

        .faq-item summary::after {
            transform: translateY(-25%) rotate(45deg);
            width: 7px;
            height: 7px;
            margin-left: 10px;
            border-bottom: 3px solid #56ADC6;
            border-right: 3px solid #56ADC6;
            content: '';
            transition: transform .3s;
        }
        .faq-item[open] summary::after {
            transform: rotate(225deg);
        }
        
        .faq-item p{
            transform: translateY(-10px);
            opacity: 0;
            margin: 0;
            padding: .3em 2em 1.5em;
            color: #333333;
            transition: transform .5s, opacity .5s;
        }

        .faq-item[open] p {
            text-decoration: underline none;
            transform: none;
            opacity: 1;
        }

        .property-overview {
            width: 100%;
            border-collapse: collapse;
            margin-top: 2rem;
        }

        .property-overview th,
        .property-overview td {
            padding: 0.5rem;
            border: 1px solid #ddd;
            text-align: left;
        }

        .property-overview th {
            background: var(--primary);
            color: white;
        }

        #footer {
            background-color: #56ADC6;
            font-size: 0.750rem;
          }

          #footer .flex-item {
            display: flex;
            justify-content: space-between;
            color: #fff;
            padding-top: 20px;
            padding-bottom: 20px;
          }

          #footer .item {
            width: 33%;
            line-height: 2;
          }

          #footer .item:first-child {
            padding: 60px 0;
          }

          #footer .item .title {
            font-size: 1rem;
            font-weight: bold;
            margin-bottom: 10px;
          }

          .item ul li a {
            color: inherit; /* 親要素の色を引き継ぐ */
            text-decoration: none; /* 下線も消す */
          }
          
          .item ul li a:hover {
            text-decoration: underline; /* ホバー時に下線つけたい場合（任意） */
          }          

          #footer .copyright {
            background-color: #fff;
            text-align: center;
            padding: 10px 0;
          }

        @media (max-width: 768px) {
            .hero h1 {
                font-size: 2rem;
            }
            .title-pc {
                display: none;
            }
            .title-sp {
                display: block;
            }

            .plot-info {
                grid-template-columns: 1fr;
            }

            #footer .flex-item {
                flex-direction: column;
                padding-top: 30px;
                padding-bottom: 20px;
              }
              #footer .item {
                width: 100%;
                margin-bottom: 30px;
              }
              #footer .item:first-child {
                text-align: center;
                padding: 0;
              }
        }