@charset "utf-8";

        
        body {
            font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', sans-serif;
            background: #f5f5f5;
        }
        
        .container {
            max-width: 800px;
            margin: 0 auto;
            background: white;
        }
        
        .image-section {
            width: 100%;
        }
        
        .image-section img {
            width: 100%;
            height: auto;
            display: block;
        }
        


/* FV画像の親を relative に */
.image-section.fv {
  position: relative;
  width: 100%;
}

/* FV画像をスマホ幅に合わせる */
.fv-img {
  width: 100%;
  height: auto;
  display: block;
}

/* ボタン始め */
.overlay {
  position: absolute;
  top: 80%; /* 縦位置調整 */
  left: 50%; /* 横位置調整 */
  transform: translate(-50%, -50%);
  text-align: center;
  width: 100%;
  pointer-events: none; /* 吹き出し画像がクリックを邪魔しない */
}

.overlay a.bouncy-btn {
  display: inline-block;
  pointer-events: auto; /* ボタンだけクリック可能に */
  margin-top: 8px; /* 吹き出しとの間隔 */
}





        /* FAQ よくある質問*/

/* FAQ よくある質問*/

.faq-section {
    padding: 40px 20px;
    background: white;
}

.faq-header {
    text-align: center;
    margin-bottom: 30px;
}

.faq-title {
    font-size: 32px;
    font-weight: bold;
    margin-bottom: 10px;
}

.faq-subtitle {
    font-size: 14px;
    color: #666;
    line-height: 1.8;
}

.faq-list {
    list-style: none;
}

.faq-item {
    border-bottom: 1px solid #eee;
    margin-bottom: 20px;
}

.faq-question {
    padding: 15px;
    cursor: pointer;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    position: relative;
}

.faq-question:hover {
    background: #f9f9f9;
}

.faq-question.active::after {
    transform: rotate(180deg);
}

.faq-question::after {
    content: '▼';
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 12px;
    color: #7FD8BE;
    transition: transform 0.3s;
}

.q-mark {
    background: #7FD8BE;
    color: white;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    flex-shrink: 0;
}

.question-text {
    flex: 1;
    font-size: 16px;
    font-weight: bold;
}

/* FAQアニメーション用 */
.faq-answer {
    margin:0 0 10px;
    padding: 0 15px  ;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
}


.a-mark {
    background: #FFA500;
    color: white;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    margin-right: 10px;
}

.answer-text {
    font-size: 14px;
    line-height: 1.8;
    color: #666;
}

        
        /* Footer */

        .footer {
            background: #333;
            color: white;
            padding: 30px 20px;
            text-align: center;
        }
        
        .footer-line {
            border: none;
            border-top: 1px solid #555;
            margin-bottom: 20px;
        }
        
        .footer-links {
            margin-bottom: 15px;
        }
        
        .footer-links a {
            color: #7FD8BE;
            text-decoration: none;
            margin: 0 5px;
        }
        
        .footer-copy {
            font-size: 12px;
            line-height: 1.8;
            color: #999;
        }


/*ボタン最終*/

        .hukidasi{
            margin-bottom: -30px;
        }

          .bouncy-btn img {
    display: inline-block;
    animation: bounce 2s infinite;
    cursor: pointer;
    transition: transform 0.2s;
  }


  .bouncy-btn img:hover {
    transform: scale(1.1);
  }

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-15px);
  }
  60% {
    transform: translateY(-7px);
  }
}

/* Footer Access 住所情報 */
.footer-access {
    padding: 30px 20px;
    text-align: center;
}

.footer-heading {
    font-size: 28px;
    font-weight: 300;
    letter-spacing: 8px;
    margin-bottom: 30px;
    color: #333;
}

.access-table {
    max-width: 500px;
    margin: 0 auto;
    width: 100%;
    border-collapse: collapse;
}

.access-table tr {
    border-bottom: 1px solid #eee;
}

.access-table th {
    text-align: left;
    padding: 15px 10px;
    font-weight: normal;
    color: #666;
    width: 100px;
    font-size: 14px;
}

.access-table td {
    text-align: left;
    padding: 15px 10px;
    font-size: 14px;
    line-height: 1.8;
}

.access-table a {
    color: #7FD8BE;
    text-decoration: none;
}

.access-table a:hover {
    text-decoration: underline;
}

/*googleMap*/

.map-container {
    position: relative;
    width: 100%;
    height: 400px; /* 固定の高さ */
    margin-top: 30px;
    overflow: hidden;
    border-radius: 10px;
}

.map-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}




/*プライバシーポリシー*/

 * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        
        body {
            font-family: 'Noto Sans JP', sans-serif;
            line-height: 1.8;
            color: #333;
            background: #f9f9f9;
        }
        
        .container {
            max-width: 800px;
            margin: 0 auto;
            background: white;
            min-height: 100vh;
        }
        
        .header {
            background: linear-gradient(135deg, #7FD8BE 0%, #20C997 100%);
            color: white;
            padding: 40px 20px;
            text-align: center;
        }
        
        .logo {
            font-size: 28px;
            font-weight: bold;
            letter-spacing: 8px;
            margin-bottom: 10px;
        }
        
        .page-title {
            font-size: 20px;
            font-weight: 500;
            letter-spacing: 2px;
        }
        
        .content {
            padding: 40px 20px;
        }
        
        .intro-text {
            font-size: 14px;
            color: #333;
            margin-bottom: 40px;
            line-height: 2;
        }
        
        .policy-section {
            margin-bottom: 40px;
        }
        
        .section-title {
            font-size: 18px;
            font-weight: 700;
            color: #333;
            margin-bottom: 15px;
            padding-left: 15px;
            border-left: 4px solid #7FD8BE;
        }
        
        .section-text {
            font-size: 14px;
            line-height: 2;
            color: #333;
            margin-bottom: 15px;
        }
        
        .policy-list {
            list-style: none;
            padding-left: 0;
        }
        
        .policy-list li {
            font-size: 14px;
            line-height: 2;
            padding-left: 20px;
            position: relative;
            margin-bottom: 8px;
        }
        
        .policy-list li::before {
            content: '①';
            position: absolute;
            left: 0;
            color: #7FD8BE;
            font-weight: 500;
        }
        
        .policy-list li:nth-child(2)::before {
            content: '②';
        }
        
        .policy-list li:nth-child(3)::before {
            content: '③';
        }
        
        .policy-list li:nth-child(4)::before {
            content: '④';
        }
        
        .contact-box {
            background: #f5f5f5;
            padding: 25px;
            border-radius: 10px;
            margin-top: 20px;
        }
        
        .contact-title {
            font-size: 16px;
            font-weight: 700;
            color: #333;
            margin-bottom: 15px;
        }
        
        .contact-item {
            font-size: 14px;
            margin-bottom: 10px;
        }
        
        .contact-item a {
            color: #7FD8BE;
            text-decoration: none;
        }
        
        .contact-item a:hover {
            text-decoration: underline;
        }
        
        .back-link {
            text-align: center;
            margin: 40px 0;
        }
        
        .back-btn {
            display: inline-block;
            background: #7FD8BE;
            color: white;
            padding: 15px 40px;
            border-radius: 30px;
            text-decoration: none;
            font-weight: 500;
            transition: background 0.3s;
        }
        
        .back-btn:hover {
            background: #20C997;
        }
        
        .footer {
            background: #333;
            color: white;
            padding: 20px;
            text-align: center;
            font-size: 12px;
        }
    

        /*特定商*/

     
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        
        body {
            font-family: 'Noto Sans JP', sans-serif;
            line-height: 1.8;
            color: #333;
            background: #f9f9f9;
        }
        
        .container {
            max-width: 800px;
            margin: 0 auto;
            background: white;
            min-height: 100vh;
        }
        
        .header {
            background: linear-gradient(135deg, #7FD8BE 0%, #20C997 100%);
            color: white;
            padding: 40px 20px;
            text-align: center;
        }
        
        .logo {
            font-size: 28px;
            font-weight: bold;
            letter-spacing: 8px;
            margin-bottom: 10px;
        }
        
        .page-title {
            font-size: 20px;
            font-weight: 500;
            letter-spacing: 2px;
        }
        
        .content {
            padding: 40px 20px;
        }
        
        .intro-text {
            font-size: 14px;
            color: #666;
            margin-bottom: 40px;
            line-height: 2;
        }
        
        .tokusho-table {
            width: 100%;
            border-collapse: collapse;
            margin-bottom: 40px;
        }
        
        .tokusho-table tr {
            border-bottom: 1px solid #eee;
        }
        
        .tokusho-table th {
            background: #f5f5f5;
            text-align: left;
            padding: 20px 15px;
            font-weight: 500;
            width: 180px;
            vertical-align: top;
            font-size: 14px;
        }
        
        .tokusho-table td {
            padding: 20px 15px;
            font-size: 14px;
            line-height: 2;
        }
        
        .tokusho-table a {
            color: #7FD8BE;
            text-decoration: none;
        }
        
        .tokusho-table a:hover {
            text-decoration: underline;
        }
        
        .back-link {
            text-align: center;
            margin: 40px 0;
        }
        
        .back-btn {
            display: inline-block;
            background: #7FD8BE;
            color: white;
            padding: 15px 40px;
            border-radius: 30px;
            text-decoration: none;
            font-weight: 500;
            transition: background 0.3s;
        }
        
        .back-btn:hover {
            background: #20C997;
        }
        
        .footer {
            background: #333;
            color: white;
            padding: 20px;
            text-align: center;
            font-size: 12px;
        }
        
        /* スマホ対応 */
        @media (max-width: 600px) {
            .tokusho-table th,
            .tokusho-table td {
                display: block;
                width: 100%;
            }
            
            .tokusho-table th {
                padding-bottom: 10px;
            }
            
            .tokusho-table td {
                padding-top: 10px;
                padding-bottom: 25px;
            }
        }
