: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-block;padding:12px 24px;background-color:var(--color-primary);color:var(--color-white);border-radius:4px;font-weight:700}.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}.approval-number{font-family:monospace;color:#888;background-color:#eee;padding:2px 8px;border-radius:4px}@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)}.news-list{max-width:800px;margin:0 auto;border-top:1px solid #eee}.news-item{display:flex;align-items:center;padding:15px 0;border-bottom:1px solid #eee;flex-wrap:wrap;gap:15px}.news-date{color:var(--color-text-light);font-family:monospace;font-size:.95rem}.news-category{padding:4px 10px;border-radius:4px;font-size:.8rem;color:#fff;min-width:80px;text-align:center}.category-important{background-color:#c7000b}.category-info{background-color:var(--color-secondary)}.category-default{background-color:#888}.news-title{flex:1;font-weight:500}@media(max-width:600px){.news-item{align-items:flex-start}.news-title{width:100%;margin-top:5px}}.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}.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}}
