/* ヒーローセクション */
.hero-section {
    padding: 20px;
    max-width: 1200px;
    margin: 0 auto;
    background-color: #fff;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    text-align: center;
}

.hero-section h1 {
    font-size: 2.5rem;
    color: #ff5733;
    margin-bottom: 20px;
}

.hero-section p {
    text-align: center;
    margin-bottom: 20px;
}

.hero-section img {
    display: block;
    max-width: 90%;
    height: auto;
    margin: 0 auto 20px;
}

.hero-section .cta-button {
    display: block;
    margin: 0 auto;
    width: 40%;
    text-align: center;
    background-color: #ff5733;
    color: white;
    padding: 10px 20px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: bold;
}

.hero-section .cta-button:hover {
    background-color: #e64a19;
}

/* サービス概要セクション */
.service-overview {
    padding: 20px;
    max-width: 1200px;
    margin: 0 auto;
    background-color: #f9f9f9;
    text-align: center;
}

.service-overview h2 {
    font-size: 1.8rem;
    color: #ff5733;
    border-bottom: 2px solid #ff5733;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

.service-overview img {
    display: block;
    max-width: 90%;
    height: auto;
    margin: 0 auto 20px;
}

.service-overview p {
    margin-bottom: 15px;
    line-height: 1.6;
}

/* 困っている人向けのセクション */
.problem-solving {
    padding: 20px;
    max-width: 1200px;
    margin: 0 auto;
    background-color: #fff;
    text-align: center;
}

.problem-solving h2 {
    font-size: 1.8rem;
    color: #ff5733;
    border-bottom: 2px solid #ff5733;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

.problem-solving .checklist-container {
    margin: 20px 0;
}

.problem-solving img {
    display: block;
    max-width: 75%;
    height: auto;
    margin: 0 auto 20px;
}

.problem-solving .checklist {
    display: inline-block;
    text-align: left;
    list-style: none;
    padding: 0;
    margin-bottom: 20px;
}

.problem-solving .checklist li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 10px;
}

.problem-solving .checklist li::before {
    content: '✔';
    position: absolute;
    left: 0;
    color: #ff5733;
    font-weight: bold;
}

.problem-solving p {
    margin-top: 15px;
    line-height: 1.6;
    font-size: 1rem;
}

/* サービスの特徴セクション */
.service-features {
    padding: 20px;
    max-width: 1200px;
    margin: 0 auto;
    background-color: #fff;
    text-align: center;
}

.service-features h2 {
    font-size: 1.8rem;
    color: #ff5733;
    border-bottom: 2px solid #ff5733;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

.service-features img {
    display: block;
    max-width: 80%;
    height: auto;
    margin: 0 auto 20px;
}

.service-features ul {
    list-style: none;
    padding: 0;
    margin: 20px auto;
    max-width: 800px;
    text-align: left;
}

.service-features ul li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 15px;
    font-size: 1rem;
    line-height: 1.6;
}

.service-features ul li::before {
    content: '✔';
    position: absolute;
    left: 0;
    color: #ff5733;
    font-weight: bold;
}

/* 事例とお客様の声セクション */
.case-testimonials {
    padding: 20px;
    max-width: 800px;
    margin: 0 auto;
    background-color: #fff;
    text-align: center;
}

.case-testimonials h2 {
    font-size: 1.8rem;
    color: #ff5733;
    border-bottom: 2px solid #ff5733;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

.case-testimonials .case-container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-between;
    text-align: left;
}

.case-testimonials .case {
    flex: 1 1 calc(50% - 20px);
    padding: 15px;
    border-radius: 8px;
    background-color: #f9f9f9;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.case-testimonials .case h3 {
    font-size: 1.2rem;
    color: #ff5733;
    margin-bottom: 10px;
}

.case-testimonials .case p {
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 10px;
}

.case-testimonials .case ul {
    margin: 10px 0;
    padding-left: 20px;
    list-style: disc;
}

.case-testimonials .case ul li {
    margin-bottom: 5px;
}

/* ご利用の流れセクション */
.usage-flow {
    padding: 20px;
    max-width: 1200px;
    margin: 0 auto;
    background-color: #f5f5f5;
    text-align: center;
}

.usage-flow h2 {
    font-size: 1.8rem;
    color: #4CAF50;
    border-bottom: 2px solid #4CAF50;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

.usage-flow .steps-container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-between;
}

.usage-flow .step {
    flex: 1 1 calc(25% - 20px);
    text-align: center;
    padding: 10px;
    border-radius: 8px;
    background-color: #fff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.usage-flow .step img {
    max-width: 100%;
    height: auto;
    margin-bottom: 10px;
}

.usage-flow .step p {
    font-size: 1rem;
    line-height: 1.6;
    color: #333;
}

.usage-flow .note {
    margin-top: 20px;
    font-size: 0.9rem;
    color: #666;
}

/* 料金案内セクション */
.pricing {
    padding: 20px;
    max-width: 800px;
    margin: 30px auto;
    text-align: center;
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.pricing h2 {
    font-size: 1.8rem;
    color: #4CAF50;
    margin-bottom: 15px;
    border-bottom: 2px solid #4CAF50;
    padding-bottom: 10px;
}

.pricing p {
    font-size: 1rem;
    color: #333;
    line-height: 1.6;
}

.pricing .price {
    font-size: 1.5rem;
    font-weight: bold;
    color: #FF5722;
    margin: 10px 0;
}

.cta-button {
    display: block;
    margin: 0 auto;
    text-align: center;
    background-color: #ff5733;
    color: white;
    padding: 10px 20px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: bold;
}

.cta-button:hover {
    background-color: #e64a19;
}

/* FAQセクション */
.faq {
    padding: 20px;
    max-width: 800px;
    margin: 20px auto;
    background-color: #f4f4f4;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.faq h2 {
    font-size: 1.8rem;
    color: #4CAF50;
    margin-bottom: 15px;
    border-bottom: 2px solid #4CAF50;
    padding-bottom: 10px;
}

.faq dl {
    margin: 0;
    padding: 0;
}

.faq dt {
    font-weight: bold;
    font-size: 1.2rem;
    color: #333;
    margin-top: 15px;
}

.faq dd {
    margin: 5px 0 15px 20px;
    font-size: 1rem;
    color: #555;
    line-height: 1.6;
}

/* 注意事項セクション */
.important-notice {
    padding: 20px;
    max-width: 800px;
    margin: 20px auto;
    background-color: #fff7e6;
    border: 1px solid #ffcc00;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    text-align: center;
}

.important-notice h2 {
    font-size: 1.8rem;
    color: #e65c00;
    border-bottom: 2px solid #e65c00;
    padding-bottom: 10px;
    margin-bottom: 15px;
}

.important-notice p {
    font-size: 1rem;
    color: #333;
    line-height: 1.6;
}

@media screen and (max-width: 1024px) and (max-height: 1366px) {}

@media screen and (min-width: 431px) and (max-width: 960px) {}

@media screen and (max-width: 430px) {
    .hero-section h1 {
        font-size: 1.3rem;
    }

    .case-testimonials .case-container {
        flex-direction: column;
    }

    .case-testimonials .case {
        flex: 1 1 100%;
        margin-bottom: 20px;
    }

    .usage-flow .steps-container {
        flex-direction: column;
    }

    .usage-flow .step {
        flex: 1 1 100%;
        margin-bottom: 20px;
    }

    .pricing {
        padding: 15px;
    }

    .pricing h2 {
        font-size: 1.5rem;
    }

    .pricing .price {
        font-size: 1.3rem;
    }

    .faq {
        padding: 15px;
    }

    .faq h2 {
        font-size: 1.5rem;
    }

    .faq dt {
        font-size: 1.1rem;
    }

    .faq dd {
        font-size: 0.95rem;
    }
}