:root{--color-primary: #001f3f;--color-secondary: #003366;--color-accent: #f0f4f8;--color-platinum: #d1d5db;--color-blue-accent: #00a8e8;--color-gold: var(--color-platinum);--color-text-main: #333333;--color-text-light: #666666;--color-white: #ffffff;--color-warning: #ffcc00;--font-main: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;--container-width: 1200px;--header-height: 80px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);color:var(--color-text-main);line-height:1.6;background-color:var(--color-accent);overflow-x:hidden;width:100%}a{text-decoration:none;color:inherit;transition:opacity .3s}a:hover{opacity:.8}ul{list-style:none}.container{max-width:var(--container-width);margin:0 auto;padding:0 20px}.section{padding:60px 0;background-color:var(--color-white)}.section:nth-child(2n){background-color:var(--color-accent)}.heading-lg{font-size:2.5rem;font-weight:700;margin-bottom:2rem;text-align:center;color:var(--color-primary)}.heading-md{font-size:1.8rem;font-weight:700;margin-bottom:1.5rem;color:var(--color-primary)}.text-center{text-align:center}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;background-color:var(--color-primary);color:var(--color-white);border-radius:4px;font-weight:700;text-align:center;transition:all .3s ease}.btn:hover{background-color:var(--color-secondary)}@media(max-width:768px){.heading-lg{font-size:1.5rem}}.header{background-color:var(--color-white);box-shadow:0 2px 4px #0000001a;position:sticky;top:0;z-index:1000;width:100%}.header-container{padding:10px 20px;position:relative;z-index:1001;background-color:var(--color-white)}.header-top{display:flex;justify-content:space-between;align-items:center}.agency-name{font-size:1.8rem;color:var(--color-primary);font-weight:700;margin:0;text-decoration:none}.header-right{display:flex;align-items:center;gap:20px}.sompo-logo-area{display:flex;flex-direction:column;align-items:flex-end;border-left:1px solid #ddd;padding-left:15px}.sompo-label{font-size:.7rem;color:#666}.mobile-label-group,.mobile-divider{display:none}.insurance-companies-container{display:flex;align-items:center;gap:8px}.agencies-wrapper{display:flex;flex-direction:column;align-items:center}.desktop-label{margin-bottom:2px}.badge-divider{width:1px;height:24px;background-color:#ddd;margin:0 4px}.insurance-companies-list{display:flex;flex-direction:row;gap:12px;align-items:center}.sompo-text-logo{display:flex;align-items:center;gap:5px;font-weight:700}.color-sompo{color:#c00}.color-tokiomarine{color:#007bc0}.color-msad{color:#00803c}.sompo-brand{font-size:1rem}.sompo-agent{color:#333;font-size:.8rem;background-color:#eee;padding:2px 6px;border-radius:4px;white-space:nowrap}.header-contact-info{display:flex;gap:15px}.contact-item{display:flex;flex-direction:column;align-items:flex-end}.header-contact-info .tel-label{font-size:.9rem;color:#666;line-height:1}.header-contact-info .tel-number{font-size:1.2rem;font-weight:700;color:var(--color-primary);line-height:1.1;font-family:Helvetica Neue,Arial,sans-serif}.emergency-tel .tel-number{color:#d63031}.hamburger-btn{display:none;flex-direction:column;justify-content:space-between;width:30px;height:21px;background:transparent;border:none;cursor:pointer;padding:0;z-index:1100}.hamburger-btn .bar{width:100%;height:3px;background-color:var(--color-primary);border-radius:3px;transition:all .3s ease-in-out}.header-nav{background-color:var(--color-primary)}.nav-list{display:flex;justify-content:flex-end;margin:0;padding:0;list-style:none}.nav-item{display:block;padding:15px 20px;color:#fff;text-decoration:none;font-weight:700;transition:background .3s}.nav-item:hover{background-color:var(--color-secondary)}.nav-contact{background-color:#f39c12}.nav-contact:hover{background-color:#e67e22}@media(max-width:768px){.header-container{padding:5px 15px}.agency-name{font-size:1.15rem;white-space:nowrap}.header-contact-info{display:none}.hamburger-btn{display:flex}.hamburger-btn.open .bar:nth-child(1){transform:translateY(9px) rotate(45deg)}.hamburger-btn.open .bar:nth-child(2){opacity:0}.hamburger-btn.open .bar:nth-child(3){transform:translateY(-9px) rotate(-45deg)}.header-nav{position:absolute;top:100%;left:0;width:100%;background-color:var(--color-primary);transform:translateY(-150%);transition:transform .3s ease-in-out;z-index:900;box-shadow:0 4px 6px #0000001a}.header-nav.open{transform:translateY(0)}.nav-list{flex-direction:column;align-items:center;padding:10px 0}.nav-list li{width:100%;text-align:center;border-bottom:1px solid rgba(255,255,255,.1)}.nav-item{padding:15px 0;width:100%;display:block}.sompo-logo-area{display:flex;flex-direction:column;align-items:flex-end;padding-left:5px;border-left:1px solid #eee;margin-right:5px}.desktop-label,.desktop-badge,.desktop-divider{display:none}.mobile-label-group{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.mobile-divider{display:none}.sompo-label{font-size:.55rem;white-space:nowrap}.insurance-companies-container{flex-direction:row;align-items:center;gap:3px}.insurance-companies-list{flex-direction:row;flex-wrap:wrap;justify-content:flex-end;max-width:170px;gap:2px 6px}.sompo-brand{font-size:.75rem}.sompo-agent{font-size:.7rem;padding:1px 3px}.mobile-menu-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;background-color:#00000080;z-index:800;cursor:pointer}.hamburger-btn{display:flex;z-index:1100}.hamburger-btn .bar{background-color:#333}}.footer{background-color:#f8f9fa;padding:60px 0 20px;border-top:1px solid #e9ecef;margin-top:auto;width:100%}.footer-container{display:flex;flex-direction:column;max-width:var(--container-width);margin:0 auto;padding:0 40px;width:100%}.footer-top{display:flex;justify-content:center;flex-wrap:wrap;align-items:flex-start;margin-bottom:40px;gap:80px}.footer-info{flex:0 1 500px;min-width:300px}.footer-logo{font-size:1.5rem;color:var(--color-primary);margin-bottom:1.5rem}.footer-address,.footer-hours{color:var(--color-text-light);font-size:.95rem;margin-bottom:.8rem;line-height:1.8}.footer-links{flex:0 0 auto;min-width:250px}.footer-links h3{font-size:1.1rem;margin-bottom:1.5rem;color:var(--color-primary);border-bottom:2px solid var(--color-secondary);display:inline-block;padding-bottom:5px}.footer-links ul li{margin-bottom:1rem}.footer-links ul li a{color:var(--color-text-main);text-decoration:none;transition:color .2s}.footer-links ul li a:hover{text-decoration:underline;color:var(--color-primary)}.footer-bottom{border-top:1px solid #dee2e6;padding-top:30px;text-align:center;font-size:.85rem;color:var(--color-text-light);display:flex;flex-direction:column;gap:15px;justify-content:center;align-items:center}@media(max-width:768px){.footer-top{flex-direction:column;gap:20px;margin-bottom:30px;text-align:center;align-items:center}.footer-info{flex:auto;width:100%;display:flex;flex-direction:column;align-items:center}.footer-links{width:100%;text-align:center}.footer-contact-links{justify-content:center}}.footer-contact-links{margin-top:15px;display:flex;gap:10px;flex-wrap:wrap}.footer-btn{display:inline-block;padding:8px 16px;background-color:var(--color-white);color:var(--color-primary);border:1px solid var(--color-primary);border-radius:4px;font-size:.9rem;text-decoration:none;transition:all .3s}.footer-btn:hover{background-color:var(--color-primary);color:#fff}.line-btn{color:#06c755;border-color:#06c755}.line-btn:hover{background-color:#06c755;color:#fff}.hero{position:relative;width:100%;height:80vh;min-height:550px;overflow:hidden;color:#fff}.hero-bg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.hero-img{width:100%;height:100%;object-fit:cover;display:block;max-width:100%}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0003;z-index:2;display:flex;align-items:center}.hero-content{width:100%;text-align:center;position:relative;height:100%;display:flex;flex-direction:column;justify-content:center}.authority-statement-top{position:absolute;top:20px;left:0;width:100%;text-align:center;font-size:.8rem;opacity:.9;text-shadow:1px 1px 2px rgba(0,0,0,.8)}.hero-title{font-size:3rem;font-weight:700;margin-bottom:1.5rem;text-shadow:2px 2px 4px rgba(0,0,0,.6);color:#fff}.hero-subtitle{font-size:1.5rem;line-height:1.6;text-shadow:1px 1px 2px rgba(0,0,0,.6)}@media(max-width:768px){.hero{height:70vh;min-height:500px}.hero-img{object-position:center}.hero-content{justify-content:center;padding-top:0;padding-bottom:0}.hero-title{font-size:clamp(1.2rem,6vw,2rem);white-space:nowrap;margin-bottom:1rem}.hero-subtitle{font-size:1rem;margin-bottom:1rem}.hero-emergency-card{margin-top:20px;width:100%;max-width:440px}.authority-statement-top{font-size:.7rem;padding:0 10px}}.hero-emergency-card{background:#ffffff26;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.3);border-radius:12px;padding:20px;margin-top:40px;display:inline-block;box-shadow:0 8px 32px #0000001a;animation:fadeInUp 1s ease-out .5s both;width:100%;max-width:440px}.emergency-label{font-size:.9rem;margin-bottom:15px;font-weight:700;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.insurance-selector{display:flex;justify-content:center;gap:8px;margin-bottom:15px;padding:4px;background:#0000001a;border-radius:8px}.selector-btn{background:transparent;border:1px solid transparent;color:#fffc;padding:8px 12px;border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);flex:1;white-space:nowrap;font-weight:500}.selector-btn:hover{background:#ffffff1a;color:#fff}.selector-btn.active{background:#fff;box-shadow:0 2px 4px #0000001a;border-color:#fff;font-weight:700}.selector-btn.active.sj{color:#c00}.selector-btn.active.tm{color:#005da0}.selector-btn.active.ms{color:#008a54}.emergency-number-box-link{text-decoration:none;display:block;transition:transform .2s ease}.emergency-number-box-link:hover{transform:translateY(-2px)}.emergency-number-box{display:flex;flex-direction:column;align-items:center;background:#fff;padding:15px 20px;border-radius:8px;color:var(--color-primary);cursor:pointer;box-shadow:0 4px 15px #0000001a;min-height:125px;justify-content:center}.emergency-strong{font-size:2.3rem;font-weight:800;line-height:1;letter-spacing:-.02em;font-family:Helvetica Neue,Arial,sans-serif;margin-bottom:8px;transition:color .3s ease}.emergency-sub{font-size:.85rem;color:#374151;font-weight:600;margin-bottom:10px}.click-hint{font-size:.75rem;color:var(--color-blue-accent);font-weight:700;border-top:1px solid #f3f4f6;padding-top:8px;width:100%;text-align:center;opacity:.8}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:480px){.emergency-strong{font-size:1.85rem}.selector-btn{font-size:.75rem;padding:6px 4px}.hero-emergency-card{padding:15px}}.ci-section{padding:100px 0;background-color:var(--color-white);position:relative;overflow:hidden}.ci-container{display:flex;align-items:center;justify-content:space-between;gap:60px}.ci-image-area{position:relative;flex:1;max-width:500px}.ci-image-wrapper{position:relative;z-index:2;overflow:hidden;border-radius:8px;box-shadow:0 20px 40px #001f3f26}.ci-image{width:100%;height:auto;display:block;transition:transform .5s ease}.ci-image-wrapper:hover .ci-image{transform:scale(1.03)}.ci-decoration-box{position:absolute;top:-30px;left:-30px;width:100%;height:100%;border:2px solid var(--color-platinum);z-index:1;border-radius:8px}.ci-text-area{flex:1}.ci-label{display:block;font-size:.9rem;letter-spacing:.2em;color:var(--color-blue-accent);font-weight:700;margin-bottom:20px;font-family:sans-serif}.ci-heading{font-size:2.5rem;color:var(--color-primary);line-height:1.4;margin-bottom:30px;font-weight:700}.ci-description{font-size:1.05rem;color:var(--color-text-light);line-height:1.9;margin-bottom:40px}.btn-gold-outline{display:inline-block;padding:15px 40px;border:1px solid var(--color-primary);color:var(--color-primary);text-decoration:none;font-weight:700;transition:all .3s ease;position:relative;overflow:hidden;background:transparent}.btn-gold-outline:hover{background-color:var(--color-primary);color:var(--color-white)}.trust-banners{display:flex;gap:10px;margin-top:30px;flex-wrap:wrap}.trust-banner{background-color:#f8f9fa;border:1px solid #e9ecef;color:var(--color-primary);padding:8px 15px;font-size:.8rem;font-weight:700;border-radius:4px;display:flex;align-items:center;box-shadow:0 1px 3px #0000000d}.trust-banner:before{content:"★";color:var(--color-blue-accent);margin-right:5px}@media(max-width:900px){.ci-container{flex-direction:column;text-align:center}.ci-heading{font-size:2rem}.ci-image-area{width:100%;max-width:400px;margin-bottom:40px}}.partner-section{background-color:#fff;padding:40px 0;border-bottom:1px solid #eee}.partner-grid{display:flex;justify-content:center;align-items:center;gap:40px;flex-wrap:wrap;margin-top:30px}.partner-card{filter:grayscale(100%);opacity:.7;transition:all .3s ease;cursor:pointer}.partner-card:hover{filter:grayscale(0%);opacity:1;transform:translateY(-2px)}.partner-logo{border:1px solid #ddd;border-radius:4px;padding:15px 30px;background-color:#fff;text-align:center;min-width:200px;display:flex;flex-direction:column;align-items:center;justify-content:center}.logo-main{font-size:1.2rem;font-weight:700;color:var(--color-primary);margin-bottom:5px}.logo-sub{font-size:.6rem;color:#999;letter-spacing:1px}.partner-card:hover .sompo-japan .logo-main{color:#e50012}.partner-card:hover .himawari .logo-main{color:#f6b000}.partner-card:hover .daiichi .logo-main{color:#d7000f}@media(max-width:768px){.partner-grid{gap:20px;flex-direction:column}.partner-logo{width:100%;min-width:280px}}.accident-section{background-color:var(--color-white)}.contact-card{scroll-margin-top:160px}.contact-grid{display:flex;justify-content:center;gap:30px;flex-wrap:wrap;margin-top:40px;align-items:stretch}.contact-card{border:2px solid #e0e0e0;border-radius:8px;padding:30px;width:100%;max-width:500px;background-color:#fff;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}.contact-card:hover{transform:translateY(-5px);box-shadow:0 10px 20px #0000001a}.sompo-contact{border-color:#c7000b}.tokiomarine-contact{border-color:#007bc0}.msad-contact{border-color:#00803c}.agency-contact{border-color:var(--color-primary);align-self:flex-start}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;gap:10px;min-height:80px}.card-header h3{font-size:1.25rem;color:var(--color-text-main);margin:0;font-weight:700;flex:1}.badge{background-color:#c7000b;color:#fff;padding:4px 10px;border-radius:20px;font-size:.8rem;font-weight:700}.badge-tokiomarine{background-color:#007bc0}.badge-msad{background-color:#00803c}.badge-gold{background-color:var(--color-gold);color:#fff}.btn-call-action{display:block;width:100%;margin-top:5px;padding:12px;color:#fff;text-align:center;border-radius:4px;font-weight:700;text-decoration:none;font-size:1.05rem;transition:all .2s}.bg-sompo{background-color:#c7000b}.bg-sompo:hover{background-color:#a00008}.bg-tokiomarine{background-color:#007bc0}.bg-tokiomarine:hover{background-color:#005a8f}.bg-msad{background-color:#00803c}.bg-msad:hover{background-color:#005e2c}.btn-outline{background-color:transparent!important;border:2px solid currentColor}.bg-sompo.btn-outline{color:#c7000b}.bg-sompo.btn-outline:hover{background-color:#c7000b0d!important}.bg-tokiomarine.btn-outline{color:#007bc0}.bg-tokiomarine.btn-outline:hover{background-color:#007bc00d!important}.bg-msad.btn-outline{color:#00803c}.bg-msad.btn-outline:hover{background-color:#00803c0d!important}.dept-block{display:flex;flex-direction:column;align-items:center;padding:15px 0 10px}.dept-block+.dept-block{border-top:1px dashed #eee}.dept-name{font-size:1rem;font-weight:700;color:var(--color-text-main);margin-bottom:5px}.action-buttons{margin-bottom:15px}.btn-line-consult{display:block;width:100%;margin-top:auto;padding:15px;background-color:#06c755;color:#fff;text-align:center;border-radius:4px;font-weight:700;text-decoration:none;font-size:1.1rem;box-shadow:0 4px 6px #0000001a;transition:transform .2s}.btn-line-consult:hover{transform:translateY(-2px)}.agency-phone-row{display:flex;flex-direction:column;align-items:center;border-top:1px dashed #ddd;padding-top:15px}.phone-label{font-size:.8rem;color:#666}.phone-number{font-size:1.8rem;font-weight:700;color:var(--color-text-main);margin:0 0 10px;text-align:center}.note{font-size:.8rem;color:#666;margin-bottom:20px;text-align:center}.phone-link{font-size:1.8rem;font-weight:700;color:var(--color-primary);text-decoration:none}.agency-contact .card-header{min-height:auto;margin-bottom:30px}.digital-contact-info{text-align:center;margin:0;padding:0;flex:1;display:flex;flex-direction:column;justify-content:center}.digital-tel{display:flex;align-items:center;justify-content:center;gap:10px;font-size:1.8rem;font-weight:700;color:var(--color-primary);margin-bottom:8px}.bg-primary{background-color:var(--color-primary)}.bg-primary:hover{background-color:var(--color-primary-dark, #001f3f);opacity:.9}.digital-hours{font-size:.9rem;color:#666}.cert-logos-section{margin-top:60px;text-align:center}.cert-label{font-size:.9rem;color:var(--color-gold);letter-spacing:.1em;font-weight:700;margin-bottom:20px}.cert-logos-grid{display:flex;justify-content:center;gap:30px;flex-wrap:wrap}.cert-item{border:1px solid #ddd;padding:20px 30px;background-color:#fff;border-radius:4px;font-weight:700;color:var(--color-primary);display:flex;flex-direction:column;align-items:center;gap:5px;box-shadow:0 2px 4px #0000000d;text-align:center}.cert-stars{color:var(--color-gold)}@media(max-width:768px){.phone-number{font-size:2rem}.card-header{flex-direction:column;align-items:flex-start}.cert-logos-grid{flex-direction:column;align-items:center;gap:15px}.cert-item{width:100%;justify-content:center}.accident-section{scroll-margin-top:90px}}.certifications-section{background-color:var(--color-accent)}.cert-grid{display:flex;justify-content:center;gap:40px;flex-wrap:wrap;margin-top:40px}.cert-item{text-align:center;max-width:200px}.cert-logo-placeholder{width:150px;height:150px;border-radius:8px;background-color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 15px;font-weight:700;box-shadow:0 4px 6px #0000000d;border:2px dashed #ccc;color:#888;font-size:.9rem;line-height:1.4;position:relative}.planner{border-color:gold;background-color:#fffaf0;color:#b8860b}.security-action{border-color:#036}.cert-name{font-weight:700;color:var(--color-text-main);line-height:1.4}.cert-id{display:block;font-size:.8rem;font-weight:400;color:#777;margin-top:4px}.news-section{background-color:var(--color-white)}.section-header{text-align:center;margin-bottom:40px}.section-subtitle{display:block;color:var(--accent-gold);font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;margin-top:5px}.news-list{max-width:900px;margin:0 auto;border-top:1px solid #eee}.news-item{display:flex;align-items:center;padding:20px 10px;border-bottom:1px solid #eee;text-decoration:none;color:var(--color-text);transition:all .3s ease;gap:20px}.news-item:hover{background-color:#f8fafc;padding-left:20px}.news-date{color:#64748b;font-family:Inter,sans-serif;font-size:.9rem;min-width:100px}.news-category{padding:3px 12px;border-radius:4px;font-size:.75rem;font-weight:700;min-width:90px;text-align:center;border:1px solid transparent}.category-important{background-color:#ef4444!important;color:#fff!important}.category-info{background-color:#f1f5f9!important;color:#001f3f!important;border:1px solid #cbd5e1!important}.category-activity{background-color:#001f3f!important;color:#fff!important}.category-default{background-color:#f1f5f9!important;color:#64748b!important}.news-title{flex:1;font-weight:500;line-height:1.4}.news-arrow{color:var(--accent-gold);font-weight:700;opacity:0;transform:translate(-10px);transition:all .3s ease}.news-item:hover .news-arrow{opacity:1;transform:translate(0)}@media(max-width:768px){.news-section{padding:60px 0}.news-list{margin-top:30px}.news-item{flex-direction:column;align-items:flex-start;padding:20px 10px;gap:12px}.news-date{margin-right:0;font-size:.85rem;color:#94a3b8}.news-category{min-width:80px;padding:2px 8px;font-size:.7rem}.news-title{font-size:.95rem;line-height:1.5;width:100%;margin-left:0}.news-arrow{display:none}}.product-section{background-color:var(--color-white);padding:80px 0}.product-section .description{max-width:600px;margin:0 auto 50px;color:#666}.product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;margin-top:40px}@media(min-width:992px){.product-grid{grid-template-columns:repeat(3,1fr);justify-content:center}.product-card:nth-child(n+4){grid-column:span 1.5}}@media(min-width:1200px){.product-grid{display:flex;flex-wrap:wrap;justify-content:center}.product-card{flex:0 1 340px}}.product-card{background:#fff;border:1px solid #eee;border-radius:12px;padding:40px 30px;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;align-items:center;box-shadow:0 4px 6px -1px #0000000d}.product-card:hover{transform:translateY(-5px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border-color:var(--color-primary-light)}.product-icon-wrapper{width:80px;height:80px;margin-bottom:25px;display:flex;align-items:center;justify-content:center;background-color:#f8fafc;border-radius:50%;transition:background-color .3s}.product-card:hover .product-icon-wrapper{background-color:#f1f5f9}.product-icon{width:50px;height:50px;object-fit:contain}.product-card h3{font-size:1.25rem;color:var(--color-primary);margin-bottom:20px;font-weight:700;position:relative;padding-bottom:12px}.product-card h3:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:30px;height:2px;background-color:var(--color-secondary)}.product-card p{font-size:.95rem;color:#4b5563;line-height:1.6;margin:0}.product-disclaimer{background-color:#f9fafb;border-radius:8px;padding:24px;margin-top:60px!important;border:1px solid #f3f4f6}@media(max-width:768px){.product-section{padding:60px 0}.product-card{padding:30px 20px}}.voice-section{background-color:#f9f9f9}.voice-grid{display:flex;justify-content:center;gap:30px;flex-wrap:wrap;margin-top:40px}.voice-card{background-color:#fff;padding:25px;border-radius:8px;border:1px solid #eaeaea;width:100%;max-width:350px;box-shadow:0 2px 5px #0000000d}.voice-title{font-size:1.1rem;font-weight:700;margin-bottom:15px;color:var(--color-primary);border-bottom:1px solid #eee;padding-bottom:10px}.voice-text{font-size:.95rem;line-height:1.6;margin-bottom:20px;color:#555}.voice-meta{font-size:.85rem;color:#999;text-align:right;font-style:italic}.news-detail-page{background-color:#f1f5f9;padding-bottom:100px}.breadcrumb-wrapper{background-color:#fff;border-bottom:1px solid #e2e8f0;padding:15px 0;margin-bottom:40px}.breadcrumbs{display:flex;align-items:center;gap:10px;font-size:.85rem;color:#64748b}.breadcrumbs a{color:var(--navy);text-decoration:none}.breadcrumbs a:hover{color:var(--accent-gold)}.breadcrumbs .separator{color:#cbd5e1}.breadcrumbs .current{font-weight:600}.news-container-main{display:grid;grid-template-columns:1fr 320px;gap:40px;align-items:start}.news-article{background:#fff;padding:60px;border-radius:8px;box-shadow:0 4px 6px -1px #0000000d}.article-header{margin-bottom:40px;border-bottom:2px solid #f1f5f9;padding-bottom:30px}.news-meta{display:flex;align-items:center;gap:15px;margin-bottom:15px}.news-date{color:#64748b;font-weight:500;font-size:.95rem}.news-category{font-size:.75rem;font-weight:700;padding:4px 12px;border-radius:4px;border:1px solid transparent}.category-info{background-color:#ffffff1a;color:#fff;border-color:#ffffff4d}.category-important{background-color:#ef4444;color:#fff}.category-activity{background-color:var(--accent-gold);color:var(--navy)}.news-title-article{font-size:2.2rem;color:var(--navy);line-height:1.4;font-weight:800;letter-spacing:-.02em}.news-featured-image{position:relative;cursor:zoom-in;margin-bottom:40px;border-radius:12px;overflow:hidden;max-height:500px;background-color:#f8fafc}.news-featured-image img{width:100%;height:100%;object-fit:cover;display:block}.zoom-hint{position:absolute;bottom:15px;right:15px;background:#0009;color:#fff;padding:5px 12px;border-radius:20px;font-size:.75rem;pointer-events:none;opacity:0;transition:opacity .3s}.news-featured-image:hover .zoom-hint{opacity:1}.news-body-content{line-height:2;color:#334155;font-size:1.1rem}.news-body-content h3{font-size:1.4rem;color:var(--navy);margin:45px 0 20px;line-height:1.5;padding-left:1.5rem;text-indent:-1.5rem;word-break:break-all}.news-body-content h3:before{content:"■";color:var(--accent-gold);margin-right:.5rem}@media(max-width:768px){.news-body-content h3{font-size:1.35rem;margin:35px 0 15px;padding-left:1.4rem;text-indent:-1.4rem}}.news-body-content p{margin-bottom:25px}.news-body-content ul{background-color:#f8fafc;padding:30px 40px;border-radius:8px;margin-bottom:30px;list-style-type:none}.news-body-content li{position:relative;padding-left:20px;margin-bottom:15px}.news-body-content li:before{content:"•";color:var(--accent-gold);font-weight:700;position:absolute;left:0}.news-detail-gallery{margin-top:60px;padding-top:40px;border-top:1px solid #e2e8f0}.gallery-title{font-size:1.2rem;color:var(--navy);margin-bottom:25px;text-align:center}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery-card{position:relative;cursor:zoom-in;border-radius:8px;overflow:hidden;aspect-ratio:3/2;background-color:#f1f5f9}.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.gallery-card:hover img{transform:scale(1.05)}.zoom-overlay{position:absolute;inset:0;background:#001f3f66;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;opacity:0;transition:opacity .3s}.gallery-card:hover .zoom-overlay{opacity:1}.image-lightbox{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease-out}.lightbox-overlay{position:absolute;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center}.lightbox-close{position:absolute;top:20px;right:30px;background:none;border:none;color:#fff;font-size:40px;cursor:pointer;z-index:10001}.lightbox-content{position:relative;max-width:90vw;max-height:90vh;animation:zoomIn .3s cubic-bezier(.34,1.56,.64,1)}.lightbox-content img{max-width:100%;max-height:90vh;border-radius:4px;box-shadow:0 25px 50px -12px #00000080}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes zoomIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@media(max-width:768px){.lightbox-close{top:10px;right:15px}}.article-footer{margin-top:80px;padding-top:60px;border-top:1px solid #e2e8f0;display:flex;flex-direction:column;align-items:center;gap:25px}.article-footer .btn-primary{min-width:320px;padding:18px 40px;font-size:1.1rem;box-shadow:0 10px 15px -3px #001f3f33}.article-footer .btn-outline{border-color:transparent;color:#64748b;font-size:.9rem}.article-footer .btn-outline:hover{background:#f8fafc;color:var(--navy)}.news-aside{position:sticky;top:100px}.aside-card{background:#fff;padding:30px;border-radius:8px;box-shadow:0 4px 6px -1px #0000000d}.aside-card h3{font-size:1.1rem;color:var(--navy);margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid var(--accent-gold)}.aside-news-item{display:block;text-decoration:none;color:inherit;margin-bottom:20px;transition:transform .2s ease}.aside-news-item:hover{transform:translate(5px)}.aside-date{display:block;font-size:.8rem;color:#64748b;margin-bottom:5px}.aside-title{font-size:.95rem;font-weight:600;line-height:1.5;color:#1e293b}.aside-news-item:hover .aside-title{color:var(--accent-gold)}@media(max-width:1024px){.news-container-main{grid-template-columns:1fr}.news-aside{position:static;margin-top:40px}.news-article{padding:40px 30px}}@media(max-width:768px){.news-container-main{padding:0 15px;display:block}.news-main-wrapper{padding-right:0}.news-article{padding:30px 20px;border-radius:8px}.news-title-article{font-size:1.6rem}.gallery-grid{grid-template-columns:1fr}.article-footer{flex-direction:column}.article-footer .btn{width:100%;min-width:unset;text-align:center}}.page-content{background-color:var(--color-white);min-height:80vh}.philosophy-block{margin-bottom:40px;text-align:center;display:flex;flex-direction:column;align-items:center}.philosophy-block h2{color:var(--color-primary);border-bottom:2px solid var(--color-accent);display:inline-block;padding-bottom:10px;margin-bottom:20px}.philosophy-text{font-size:1.2rem;font-weight:500;line-height:2}.value-list{text-align:left;display:inline-block;font-size:1.1rem}.value-list li{margin-bottom:10px;padding-left:20px;position:relative}.value-list li:before{content:"✔";color:var(--color-secondary);position:absolute;left:0}.kpi-link-section{background-color:var(--color-accent);padding:30px;text-align:center;border-radius:8px;margin-top:50px}.greeting-content{display:flex;gap:40px;align-items:flex-start}.ceo-photo-wrapper{width:300px;height:400px;background-color:#f5f5f5;flex-shrink:0;overflow:hidden;border-radius:8px;box-shadow:0 5px 15px #0000001a}.ceo-photo{width:100%;height:100%;object-fit:cover}.greeting-text{flex:1;max-width:700px}.ceo-signature{margin-top:30px;text-align:right;font-size:1.2rem}.corporate-table{width:100%;max-width:800px;margin:0 auto 50px;border-collapse:collapse}.corporate-table th,.corporate-table td{padding:15px;border:1px solid #ddd}.corporate-table th{background-color:var(--color-accent);width:30%;text-align:left;color:var(--color-primary)}.cert-list{display:inline-block;text-align:left;padding-left:20px}.cert-icon{width:30px;height:30px;vertical-align:middle;margin-right:10px;position:relative;top:-2px}.cert-list li{margin-bottom:15px;font-weight:700;font-size:1.1rem}.cert-list-section{display:flex;flex-direction:column;align-items:center;margin-top:60px}.cert-list-section h2{display:block;border-bottom:2px solid var(--color-gold);padding-bottom:10px;margin-bottom:30px;font-size:1.8rem;color:var(--color-primary)}.page-hero{position:relative;width:100%;height:300px;overflow:hidden;margin-bottom:40px}.page-hero-bg{width:100%;height:100%;object-fit:cover;object-position:center 47%}.page-hero-overlay{position:absolute;bottom:0;left:0;width:100%;height:100%;background:#0000004d;display:flex;align-items:center;justify-content:center}.page-hero-title-container{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;z-index:10}.page-hero-title{color:var(--color-white);font-size:2.5rem;font-weight:700;letter-spacing:.1em;text-shadow:0 2px 5px rgba(0,0,0,.7);margin:0}@media(max-width:768px){.page-hero{height:25vh;max-height:200px}.page-hero-title{font-size:1.5rem}}.staff-grid{display:flex;justify-content:center;gap:30px;flex-wrap:wrap;margin-top:40px}.staff-card{width:300px;border:1px solid #eee;border-radius:8px;overflow:hidden;box-shadow:0 2px 10px #0000000d}.staff-photo-placeholder{display:none}.staff-photo-wrapper{height:250px;background-color:#f5f5f5;overflow:hidden;border-bottom:1px solid #eee}.staff-photo{width:100%;height:100%;object-fit:cover;object-position:top center}.staff-info{padding:20px}.qual-badge{background-color:gold;color:#856404;padding:2px 6px;border-radius:4px;font-size:.8rem;font-weight:700}.contact-methods{display:flex;justify-content:center;gap:30px;margin-bottom:50px}.method-box{flex:1;max-width:400px;padding:40px 30px;text-align:center;border:1px solid #ddd;border-radius:8px;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;min-height:280px}.method-box h3{font-size:1.3rem;margin-bottom:20px;font-weight:700;color:var(--color-primary)}.phone-details{width:100%;display:flex;flex-direction:column;align-items:center;background-color:#f9fafb;border-radius:12px;padding:20px;border:1px solid #eee}.contact-tel{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:15px;color:var(--color-primary);line-height:1}.tel-label{font-size:1.5rem;font-weight:700}.tel-number{font-size:2rem;font-weight:700;letter-spacing:.02em;font-family:Roboto,sans-serif;white-space:nowrap}.contact-sub-info{text-align:center;color:#555;font-size:.95rem}.contact-fax,.contact-hours{margin-bottom:5px}.line-box{border-color:#06c755;background-color:#f0fff4;display:flex;flex-direction:column}.line-details{width:100%;display:flex;flex-direction:column;align-items:center}.line-sub-text{margin-top:15px;margin-bottom:0;color:#666;font-size:.9rem}.line-box p{margin-bottom:10px;color:#666}.line-btn-large{display:flex;justify-content:center;align-items:center;background-color:#06c755;color:#fff;width:80%;padding:15px 0;border-radius:50px;text-decoration:none;font-weight:700;font-size:1.2rem;margin:10px 0;box-shadow:0 4px 6px #06c75533;transition:transform .2s ease}.line-btn-large:hover{transform:translateY(-2px);box-shadow:0 6px 8px #06c7554d}.form-container{max-width:600px;margin:0 auto;background-color:#f9f9f9;padding:40px;border-radius:8px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:700}.required{color:red;font-size:.8rem;margin-left:5px}.form-group input,.form-group textarea{width:100%;padding:10px;border:1px solid #ccc;border-radius:4px}.submit-btn{width:100%;padding:15px;background-color:var(--color-primary);color:#fff;border:none;border-radius:4px;font-size:1.1rem;cursor:pointer}.submit-btn:disabled{background-color:#ccc;cursor:not-allowed}@media(max-width:768px){.greeting-content{flex-direction:column}.ceo-photo-placeholder{width:100%;height:300px}.contact-methods{flex-direction:column}}.policy-text{max-width:800px;margin:0 auto;text-align:left}.policy-section{margin-bottom:60px}.policy-section h3{font-size:1.5rem;color:var(--color-primary);border-left:5px solid var(--color-secondary);padding-left:15px;margin-bottom:25px;line-height:1.6}.policy-section h4{font-size:1.2rem;color:var(--color-text-main);margin-bottom:15px;font-weight:700;border-bottom:1px solid #eee;padding-bottom:5px}.policy-section p{margin-bottom:20px;line-height:1.8}.policy-list{margin-bottom:30px}.policy-list li{position:relative;padding-left:1.5em;margin-bottom:15px;line-height:1.8}.policy-list li:before{content:"・";position:absolute;left:0;font-weight:700;color:var(--color-primary)}.policy-list-numbered{margin-bottom:30px;padding-left:20px}.policy-list-numbered li{list-style-type:decimal;margin-bottom:15px;line-height:1.8}.policy-links{margin-top:20px;background-color:#f9f9f9;padding:20px;border-radius:8px;border:1px solid #eee}.policy-links a{color:var(--color-blue-accent);text-decoration:underline}.policy-links li a:hover{text-decoration:underline}.table-container{overflow-x:auto;margin-top:20px}.policy-table{width:100%;border-collapse:collapse;background-color:#fff;box-shadow:0 1px 3px #0000001a}.policy-table th,.policy-table td{padding:15px;border:1px solid #e0e0e0;text-align:left;vertical-align:middle}.policy-table th{background-color:var(--color-primary);color:#fff;font-weight:700;white-space:nowrap}.policy-table tr:nth-child(2n){background-color:#f8f9fa}@media(max-width:768px){.policy-table th,.policy-table td{padding:10px;font-size:.9rem}}
