:root{--primary-color:#002244;--secondary-color:#333333;--accent-color:#006600;--text-color:#000000;--light-bg:#f8f9fa;--white:#ffffff;--border-color:#888888;--font-family-body:'Segoe UI', 'Helvetica Neue', Arial, sans-serif;--font-family-heading:'Roboto', 'Segoe UI', sans-serif;--white-color:#ffffff;--light-gray-background:#e9ecef;--border-radius:8px}body{font-family:var(--font-family-body);line-height:1.6;color:var(--text-color);margin:0;padding:0;background-color:var(--light-bg);overflow-x:hidden}.container{max-width:1200px;margin:0 auto;padding:0 20px}h1,h2,h3{font-family:var(--font-family-heading);margin-top:1.5em;margin-bottom:.8em;text-align:center}h1{font-size:2.8em;font-weight:700;line-height:1.2;padding-top:40px;padding-bottom:20px;color:var(--primary-color)}h2{font-size:2.2em;font-weight:600;margin-bottom:1.5em;color:var(--primary-color)}h3{font-size:1.6em;font-weight:500;color:var(--text-color)}p{margin-bottom:1em}strong{color:var(--primary-color)}a{color:var(--primary-color);text-decoration:none;transition:color 0.3s ease}a:hover{color:var(--accent-color)}ul{list-style:none;padding:0;margin:0}.button{display:inline-block;padding:12px 25px;border-radius:5px;text-align:center;font-weight:700;transition:background-color 0.3s ease,color 0.3s ease}.primary-button{background-color:var(--primary-color);color:var(--white);border:2px solid var(--primary-color)}.primary-button:hover{background-color:#012;border-color:#012}.secondary-button{background-color:var(--white);color:var(--primary-color);border:2px solid var(--primary-color)}.secondary-button:hover{background-color:var(--primary-color);color:var(--white)}.link-button{background-color:#fff0;color:var(--primary-color);border:2px solid var(--primary-color)}.link-button:hover{background-color:var(--primary-color);color:var(--white)}.main-header{background-color:var(--white);padding:15px 0;box-shadow:0 2px 4px rgb(0 0 0 / .1);position:sticky;top:0;z-index:1000}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 20px}.logo a{font-family:var(--font-family-heading);font-size:1.8em;font-weight:700;color:var(--primary-color);text-decoration:none}.main-nav ul{display:flex}.main-nav ul li{margin-left:30px}.main-nav ul li a{color:var(--text-color);font-weight:500;font-size:1.05em;padding:5px 0;position:relative;text-decoration:underline;text-decoration-color:var(--primary-color)}.main-nav ul li a:hover,.main-nav ul li a:focus{color:var(--primary-color);text-decoration:underline;text-decoration-color:currentColor;outline:2px solid var(--accent-color);outline-offset:2px}.faq-list dd a{text-decoration:underline;color:var(--primary-color)}.faq-list dd a:hover,.faq-list dd a:focus{color:var(--accent-color);text-decoration:underline;outline:2px solid var(--accent-color);outline-offset:2px}.main-nav ul li a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:2px;background-color:var(--accent-color);transition:width 0.3s ease}.main-nav ul li a:hover::after{width:100%}.hamburger{display:none;width:30px;height:20px;position:relative;background:none;border:none;cursor:pointer;padding:0;z-index:1001}.hamburger .bar{display:block;width:100%;height:2px;background-color:var(--primary-color);border-radius:2px;position:absolute;left:0;transition:transform 0.3s ease,opacity 0.3s ease}.hamburger .bar:nth-child(1){top:0}.hamburger .bar:nth-child(2){top:9px}.hamburger .bar:nth-child(3){top:18px}.hamburger.is-active .bar:nth-child(1){transform:translateY(9px) rotate(45deg)}.hamburger.is-active .bar:nth-child(2){opacity:0}.hamburger.is-active .bar:nth-child(3){transform:translateY(-9px) rotate(-45deg)}section{padding:60px 0;text-align:center;background-color:var(--white);margin-bottom:20px;box-shadow:0 0 10px rgb(0 0 0 / .05)}section:nth-of-type(even){background-color:var(--light-bg)}.section-description{max-width:800px;margin:0 auto 40px auto;font-size:1.1em;color:var(--secondary-color)}.hero-section{min-height:400px;background:linear-gradient(rgb(0 34 68 / .8),rgb(0 34 68 / .6)),url(https://via.placeholder.com/1600x600/007bff/ffffff?text=Your+Hero+Image) no-repeat center center/cover;color:var(--white);padding:100px 0;text-align:center;position:relative;overflow:hidden;margin-bottom:20px}.hero-section h1{color:var(--white);font-size:3.5em;margin-bottom:20px}.hero-description{font-size:1.5em;margin-bottom:40px;font-weight:300}.section-benefits .benefit-points{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;margin-top:40px}.benefit-points .point-item{background-color:var(--white);padding:30px;border-radius:8px;box-shadow:0 4px 15px rgb(0 0 0 / .08);transition:transform 0.3s ease,box-shadow 0.3s ease}.benefit-points .point-item:hover{transform:translateY(-5px);box-shadow:0 8px 25px rgb(0 0 0 / .12)}.benefit-points .point-item img{width:60px;height:60px;margin-bottom:20px}.benefit-points .point-item h3{font-size:1.4em;margin-top:0;color:var(--primary-color)}.section-features .feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;margin-top:40px}.feature-grid .feature-item{background-color:var(--white);padding:30px;border-radius:8px;text-align:left;box-shadow:0 4px 10px rgb(0 0 0 / .05);border-left:5px solid var(--primary-color);transition:border-color 0.3s ease}.feature-grid .feature-item:hover{border-color:var(--accent-color)}.feature-grid .feature-item h3{font-size:1.3em;margin-top:0;margin-bottom:10px;color:var(--text-color);text-align:left}.section-casestudy .case-study-card{background-color:var(--white);padding:40px;border-radius:8px;box-shadow:0 4px 20px rgb(0 0 0 / .1);max-width:800px;margin:40px auto 0 auto}.section-casestudy .case-study-card img{max-width:150px;height:auto;border-radius:50%;margin-bottom:20px;border:4px solid var(--primary-color)}.section-casestudy .case-study-card h3{font-size:1.6em;margin-bottom:15px}.section-faq .faq-list{text-align:left;max-width:800px;margin:40px auto}.faq-list dt{font-weight:700;font-size:1.1em;margin-top:20px;padding-bottom:5px;border-bottom:1px dashed var(--border-color);color:var(--primary-color)}.faq-list dd{margin-bottom:15px;padding-left:10px}.text-center{text-align:center}.cta-section{background-color:var(--primary-color);color:var(--white);padding:80px 0;text-align:center}.cta-section h2{color:var(--white);font-size:2.5em;margin-bottom:25px}.cta-section p{font-size:1.2em;margin-bottom:40px;max-width:800px;margin-left:auto;margin-right:auto;line-height:1.6;color:var(--white)}.cta-section .button.primary-button{display:inline-block;background-color:var(--accent-color);color:var(--white);padding:18px 35px;font-size:20px;border-radius:8px;text-decoration:none;transition:background-color 0.3s ease;border:none}.cta-section .button.primary-button:hover{background-color:#040}.main-footer{background-color:var(--text-color);color:var(--white);padding:40px 0;text-align:center;font-size:.9em}.main-footer .footer-links{list-style:none;padding:0;display:flex;justify-content:center;flex-wrap:wrap;margin-top:20px;gap:15px 30px}.main-footer .footer-links li a{color:var(--white);text-decoration:none;font-size:15px;transition:color 0.3s ease;text-decoration:underline}.footer-links li a:hover,.footer-links li a:focus{text-decoration:underline;color:var(--light-bg);outline:2px solid var(--light-bg);outline-offset:2px}.button.primary-button,.button.secondary-button{text-decoration:none}.main-footer .footer-links li a:hover{color:var(--accent-color)}@media (max-width:768px){h1{font-size:2em}h2{font-size:1.8em}.hero-section{padding:80px 0}.hero-section h1{font-size:2.5em}.hero-description{font-size:1.2em}.hamburger{display:block}.main-nav{position:fixed;top:0;left:-100%;width:70%;height:100%;background-color:var(--primary-color);padding-top:80px;box-shadow:2px 0 10px rgb(0 0 0 / .2);transition:left 0.3s ease;z-index:999;overflow-y:auto}.main-nav.is-active{left:0}.main-nav ul{flex-direction:column;padding:0 20px}.main-nav ul li{margin:0;border-bottom:1px solid rgb(255 255 255 / .2)}.main-nav ul li:last-child{border-bottom:none}.main-nav ul li a{display:block;padding:15px 0;color:var(--white);font-size:1.2em;text-align:left}.main-nav ul li a::after{display:none}.main-nav ul li a:hover{background-color:rgb(255 255 255 / .1)}body.no-scroll{overflow:hidden}}@media (max-width:480px){h1{font-size:1.8em}h2{font-size:1.6em}.button{padding:10px 20px;font-size:.9em}.hero-section{padding:60px 0}.hero-section h1{font-size:2em}.hero-description{font-size:1em}.section-benefits .benefit-points,.section-features .feature-grid{grid-template-columns:1fr}}.faq-list-section{padding:60px 0;background-color:var(--light-bg)}.faq-category{margin-bottom:40px}.faq-category h2{font-size:28px;color:var(--primary-color);text-align:center;margin-bottom:30px;position:relative;padding-bottom:10px}.faq-category h2::after{content:'';display:block;width:60px;height:3px;background-color:var(--accent-color);margin:10px auto 0}.faq-accordion{max-width:800px;margin:0 auto;border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden}.accordion-header{margin:0;border-bottom:1px solid var(--border-color)}.accordion-header:last-of-type{border-bottom:none}.accordion-button{display:flex;align-items:center;width:100%;padding:18px 25px;background-color:var(--white-color);color:var(--text-color);font-size:18px;font-weight:700;text-align:left;border:none;cursor:pointer;transition:background-color 0.3s ease,color 0.3s ease;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box}.accordion-button:hover{background-color:var(--light-gray-background);color:var(--primary-color)}.accordion-button::before{content:'Q.';font-size:20px;color:var(--accent-color);font-weight:700;margin-right:15px;flex-shrink:0}.accordion-button::after{content:'+';font-size:24px;font-weight:700;color:var(--primary-color);margin-left:auto;transition:transform 0.3s ease;flex-shrink:0;padding-left:15px}.accordion-button[aria-expanded="true"]::after{content:'-';transform:rotate(0deg)}.accordion-panel{padding:20px 25px 20px 50px;background-color:var(--white-color);color:var(--text-color);font-size:16px;line-height:1.8;border-top:1px dashed var(--border-color);margin:0;box-sizing:border-box}.accordion-panel:last-of-type{border-bottom:none}.accordion-panel a{color:var(--accent-color);text-decoration:underline}.accordion-panel::before{content:'A.';font-size:20px;color:var(--primary-color);font-weight:700;margin-right:15px;float:left;margin-left:-25px}@media (max-width:768px){.faq-list-section{padding:40px 0}.faq-category h2{font-size:24px}.accordion-button{font-size:16px;padding:15px 20px}.accordion-button::before{font-size:18px;margin-right:10px}.accordion-button::after{font-size:20px;padding-left:10px}.accordion-panel{font-size:15px;padding:15px 20px 15px 45px}.accordion-panel::before{font-size:18px;margin-right:10px;margin-left:-20px}}@media (max-width:480px){.accordion-button{padding:12px 15px;font-size:15px}.accordion-button::before{margin-right:8px;font-size:16px}.accordion-button::after{font-size:18px;padding-left:8px}.accordion-panel{padding:12px 15px 12px 40px;font-size:14px}.accordion-panel::before{margin-right:8px;margin-left:-18px;font-size:16px}}.casestudy-hero-section{padding:80px 20px;background-color:var(--primary-color);color:var(--white);text-align:center}.casestudy-hero-section .casestudy-title{color:var(--white);font-size:42px;margin-bottom:20px}.casestudy-hero-section .casestudy-subtitle{font-size:20px;max-width:800px;margin:0 auto;line-height:1.6}.casestudy-list-section{padding:60px 0;background-color:var(--light-bg)}.casestudy-card-detail{background-color:var(--white);border-radius:10px;box-shadow:0 5px 15px rgb(0 0 0 / .1);margin-bottom:60px;padding:40px;overflow:hidden}.casestudy-card-detail:last-child{margin-bottom:0}.casestudy-card-detail .card-header{display:flex;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid var(--border-color)}.casestudy-card-detail .company-logo{width:80px;height:80px;object-fit:contain;margin-right:25px;border-radius:50%;border:1px solid var(--border-color)}.casestudy-card-detail .company-info h2{font-size:28px;color:var(--primary-color);margin-top:0;margin-bottom:5px}.casestudy-card-detail .industry-type,.casestudy-card-detail .location{font-size:16px;color:var(--secondary-color);margin-bottom:5px}.casestudy-card-detail .card-body h3{font-size:24px;color:var(--text-color);margin-top:30px;margin-bottom:15px;border-left:5px solid var(--accent-color);padding-left:15px}.casestudy-card-detail .card-body p{font-size:17px;line-height:1.8;margin-bottom:25px}.casestudy-card-detail .effect-list{list-style:none;padding:0;margin-bottom:30px}.casestudy-card-detail .effect-list li{position:relative;padding-left:35px;margin-bottom:15px;font-size:18px;line-height:1.6;color:var(--text-color)}.casestudy-card-detail .effect-list li i{position:absolute;left:0;top:5px;color:var(--accent-color);font-size:20px}.casestudy-card-detail .effect-list li strong{color:var(--primary-color)}.casestudy-card-detail .customer-voice{background-color:#dbe9ff;border-left:5px solid var(--primary-color);padding:25px 30px;margin:40px 0;font-style:italic;font-size:18px;line-height:1.7;color:var(--text-color);border-radius:5px;position:relative}.casestudy-card-detail .customer-voice::before{content:'\201C';font-family:serif;font-size:60px;color:rgb(0 34 68 / .2);position:absolute;top:0;left:10px;line-height:1}.casestudy-card-detail .customer-voice cite{display:block;margin-top:15px;text-align:right;font-size:16px;font-weight:700;color:var(--primary-color);font-style:normal}.casestudy-card-detail .casestudy-screenshot{max-width:100%;height:auto;display:block;margin:40px auto 0 auto;border-radius:8px;box-shadow:0 2px 8px rgb(0 0 0 / .1)}.main-footer{background-color:var(--text-color);color:var(--white);padding:40px 0;text-align:center;font-size:.9em}.main-footer .footer-links{list-style:none;padding:0;display:flex;justify-content:center;flex-wrap:wrap;margin-top:20px;gap:15px 30px}.main-footer .footer-links li a{color:var(--white);text-decoration:none;font-size:15px;transition:color 0.3s ease}.main-footer .footer-links li a:hover{color:var(--accent-color)}img{max-width:100%;height:auto;display:block}.point-item img{width:60px;height:60px}@font-face{font-family:'Roboto';font-display:optional}main{min-height:80vh}.casestudy-image{width:100%;aspect-ratio:600 / 400;object-fit:cover}/* ヒーローセクション全体のレイアウト（スマホでは縦積み、PCでは横並び） */
.hero-content-wrapper {
    display: flex;
    flex-direction: column; /* スマホでは縦に並べる */
    align-items: center;
    gap: 40px; /* 要素間の隙間 */
    text-align: center;
}
.hero-text-area {
    max-width: 600px;
}
.hero-image-area {
    max-width: 100%;
}
.system-screenshot {
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

/* 2つのCTAボタンを並べるためのスタイル */
.cta-group {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 30px;
    flex-wrap: wrap; /* スマホでボタンがはみ出さないように折り返す */
}
.large-button {
    padding: 18px 30px;
    font-size: 1.1em;
    min-width: 250px;
}
/* 新しく追加する「資料請求」ボタンのスタイル */
.secondary-button {
    background-color: var(--white);
    color: var(--primary-color);
    border: 2px solid var(--primary-color);
}
.secondary-button:hover {
    background-color: var(--light-bg);
    color: var(--primary-color);
    border-color: var(--primary-color);
}

/* PC（768px以上）でのレイアウト変更 */
@media (min-width: 769px) {
    .hero-content-wrapper {
        flex-direction: row; /* PCでは横に並べる */
        justify-content: space-between;
        text-align: left;
        padding-top: 50px;
        padding-bottom: 50px;
    }
    .hero-text-area {
        order: 1; /* テキストを左側 (Order 1) に */
        text-align: left;
    }
    .hero-image-area {
        order: 2; /* 画像を右側 (Order 2) に */
    }
    .hero-section h1 {
        text-align: left; /* PCでは左寄せに戻す */
    }
    .cta-group {
        justify-content: flex-start; /* ボタンを左寄せに */
    }
}