*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Noto Sans JP','BIZ UDゴシック',sans-serif;line-height:1.8;color:#333;background:#fff;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:#0066cc;text-decoration:none;transition:color .3s ease,opacity .3s ease}
a:hover,a:focus{color:#ffc000;opacity:.8}
a:focus{outline:2px solid #ffc000;outline-offset:2px}
ul{list-style:none}
button{font-family:inherit;cursor:pointer;border:none;background:transparent}
button:focus{outline:2px solid #ffc000;outline-offset:2px}
.container{max-width:1200px;margin:0 auto;padding:0 20px}
#header{position:fixed;top:0;left:0;width:100%;background:rgba(255,255,255,.98);box-shadow:0 2px 10px rgba(0,0,0,.1);z-index:1000;transition:background .3s ease,box-shadow .3s ease}
#header.scrolled{background:#fff;box-shadow:0 2px 20px rgba(0,0,0,.15)}
.header-container{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;max-width:1200px;margin:0 auto}
.logo-area{display:flex;align-items:center;gap:15px}
.logo-img{height:50px;width:auto;object-fit:contain}
.pharmacy-name{font-size:1.3rem;font-weight:700;color:#333;letter-spacing:.05em}
.nav-toggle{display:none;flex-direction:column;gap:5px;width:30px;height:25px;z-index:1001}
.nav-toggle span{display:block;width:100%;height:3px;background:#333;transition:all .3s ease;border-radius:2px}
.nav-toggle.active span:nth-child(1){transform:rotate(45deg) translate(7px,7px)}
.nav-toggle.active span:nth-child(2){opacity:0}
.nav-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}
.nav-list{display:flex;gap:25px;align-items:center}
.nav-list a{font-weight:500;color:#333;padding:5px 10px;border-radius:5px;transition:background .3s ease,color .3s ease;font-size:.95rem}
.nav-list a:hover,.nav-list a:focus{background:#ffc000;color:#fff}
main{margin-top:80px}
.section-title{font-size:2.5rem;font-weight:700;text-align:center;margin-bottom:10px;color:#333;position:relative;padding-bottom:15px}
.section-title::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:80px;height:4px;background:linear-gradient(90deg,#ffc000,#ff9500);border-radius:2px}
.subtitle-small{font-size:1.2rem;font-weight:400;color:#666}
.hero-section{background:linear-gradient(135deg,#fff5e6 0%,#fff 100%);padding:60px 20px 40px;min-height:auto}
.hero-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:450px 1fr;gap:50px;align-items:center;margin-bottom:40px}
.hero-text{animation:fadeInUp 1s ease}
.hero-subtitle{font-size:1rem;font-weight:500;color:#ffc000;margin-bottom:15px;letter-spacing:.1em}
.hero-title{font-size:2rem;font-weight:700;line-height:1.4;margin-bottom:25px;color:#333;word-break:keep-all;overflow-wrap:break-word}
.hero-desc{font-size:1.05rem;line-height:1.9;color:#555;margin-bottom:35px}
.hero-buttons{display:flex;gap:20px;flex-wrap:wrap}
.cta-button{display:inline-block;padding:18px 35px;font-weight:700;font-size:1.05rem;border-radius:50px;transition:all .3s ease;text-align:center}
.cta-button.primary{background:linear-gradient(135deg,#06c755,#00b900);color:#fff;box-shadow:0 5px 20px rgba(6,199,85,.4)}
.cta-button.primary:hover,.cta-button.primary:focus{transform:translateY(-3px);box-shadow:0 8px 30px rgba(6,199,85,.6);color:#fff}
.cta-button.secondary{background:#fff;color:#ffc000;border:2px solid #ffc000;box-shadow:0 5px 20px rgba(255,192,0,.2)}
.cta-button.secondary:hover,.cta-button.secondary:focus{background:#ffc000;color:#fff;transform:translateY(-3px);box-shadow:0 8px 30px rgba(255,192,0,.4)}
.hero-images{position:relative;animation:fadeInRight 1s ease}
.hero-img{width:100%;border-radius:20px;box-shadow:0 10px 40px rgba(0,0,0,.15)}
.congestion-info{max-width:1200px;margin:0 auto;background:#fff;padding:30px;border-radius:15px;box-shadow:0 5px 20px rgba(0,0,0,.1);border-left:5px solid #ffc000}
.congestion-title{font-size:1.4rem;font-weight:700;margin-bottom:20px;color:#333}
.congestion-list{display:flex;flex-direction:column;gap:12px}
.congestion-list li{display:flex;align-items:center;gap:10px;font-size:1.05rem;color:#555}
.congestion-list .icon{font-size:1.3rem;flex-shrink:0}
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeInRight{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}
.line-section{padding:80px 20px;background:#fff}
.line-content{display:grid;grid-template-columns:300px 1fr;gap:40px}
.line-info{align-self:center}
.line-qr{background:linear-gradient(135deg,#fff5e6,#ffe6b3);padding:30px;border-radius:15px;text-align:center}
.qr-image{background:#fff;padding:20px;border-radius:10px;margin-bottom:20px;box-shadow:0 3px 15px rgba(0,0,0,.1);text-align:center}
.qr-code{max-width:200px;width:100%;height:auto;margin:0 auto 15px;display:block}
.qr-note{font-size:.9rem;color:#666;line-height:1.6}
.line-qr a{display:inline-block;transition:all .3s ease}
.line-qr a:hover,.line-qr a:focus{transform:translateY(-3px);opacity:.9}
.steps-title{font-size:1.6rem;font-weight:700;margin-bottom:25px;color:#333}
.steps-list{display:flex;flex-direction:column;gap:25px;counter-reset:step}
.step-item{display:flex;align-items:flex-start;gap:20px;padding:20px;background:#f9f9f9;border-radius:15px;transition:all .3s ease}
.step-item:hover{background:#fff5e6;box-shadow:0 5px 20px rgba(0,0,0,.08)}
.step-number{display:flex;align-items:center;justify-content:center;width:50px;height:50px;background:linear-gradient(135deg,#ffc000,#ff9500);color:#fff;font-size:1.5rem;font-weight:700;border-radius:50%;flex-shrink:0}
.step-content h4{font-size:1.2rem;font-weight:700;margin-bottom:8px;color:#333}
.step-content p{color:#666;line-height:1.7}
.line-merits{margin-top:35px}
.merits-title{font-size:1.5rem;font-weight:700;margin-bottom:20px;color:#333}
.merits-list{background:#f9f9f9;padding:30px 35px;border-radius:15px;list-style:none;border-left:4px solid #06c755}
.merits-list li{padding:10px 0;font-size:1.05rem;color:#333;line-height:1.8;position:relative;padding-left:25px}
.merits-list li:before{content:"•";position:absolute;left:0;color:#06c755;font-size:1.5rem;font-weight:700}
.about-section{padding:80px 20px;background:#f9f9f9}
.about-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;margin-top:40px}
.about-card{background:#fff;padding:35px;border-radius:15px;box-shadow:0 5px 20px rgba(0,0,0,.08);transition:all .3s ease;border:2px solid transparent;text-align:center}
.about-card:hover{transform:translateY(-5px);box-shadow:0 10px 35px rgba(0,0,0,.12);border-color:#ffc000}
.about-icon{width:80px;height:80px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fff5e6,#ffe6b3);border-radius:50%;padding:15px}
.about-icon img{width:100%;height:100%;object-fit:contain}
.about-title{font-size:1.3rem;font-weight:700;margin-bottom:15px;color:#333}
.about-desc{color:#666;line-height:1.8}
.service-section{padding:80px 20px;background:#fff}
.service-list{max-width:700px;margin:40px auto 0;list-style:none;background:#f9f9f9;padding:35px 45px;border-radius:15px}
.service-item{padding:8px 0;font-size:1.05rem;color:#333;line-height:1.8;position:relative;padding-left:20px}
.service-item:before{content:"•";position:absolute;left:0;color:#ffc000;font-size:1.3rem;font-weight:700}
.check-icon{display:none}
.service-note{font-size:.9rem;color:#888;padding-left:5px}
.staff-section{padding:80px 20px;background:#f9f9f9}
.staff-content{max-width:800px;margin:0 auto}
.staff-intro{margin-bottom:40px}
.staff-lead{font-size:1.1rem;line-height:1.9;color:#555;padding:25px;background:#fff;border-radius:15px;box-shadow:0 5px 20px rgba(0,0,0,.08)}
.staff-message{background:#fff;padding:30px;border-radius:15px;box-shadow:0 5px 20px rgba(0,0,0,.08);margin-bottom:25px;border-left:5px solid #ffc000}
.message-title{font-size:1.3rem;font-weight:700;margin-bottom:15px;color:#333}
.message-text{font-size:1.05rem;line-height:1.9;color:#555}
.interior-section{padding:80px 20px;background:#fff}
.interior-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:25px;margin:40px auto 30px;max-width:1200px}
.interior-item{overflow:hidden;border-radius:15px;box-shadow:0 5px 20px rgba(0,0,0,.08)}
.interior-img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.interior-caption{text-align:center;font-size:1.15rem;color:#555;margin-top:20px;font-weight:500;line-height:1.8}
.faq-section{padding:80px 20px;background:#fff}
.faq-list{max-width:900px;margin:40px auto 0;display:flex;flex-direction:column;gap:25px}
.faq-item{background:#fff;padding:30px;border-radius:15px;box-shadow:0 5px 20px rgba(0,0,0,.08);border-left:5px solid #ffc000;transition:all .3s ease}
.faq-item:hover{transform:translateX(5px);box-shadow:0 8px 30px rgba(0,0,0,.12)}
.faq-question{font-size:1.25rem;font-weight:700;margin-bottom:15px;color:#333}
.faq-answer{font-size:1.05rem;line-height:1.8;color:#555;padding-left:15px}
.news-section{padding:80px 20px;background:#f9f9f9}
.news-list{max-width:900px;margin:40px auto 0}
.news-item{background:#fff;padding:30px;margin-bottom:25px;border-radius:15px;box-shadow:0 5px 20px rgba(0,0,0,.08);border-left:5px solid #ffc000;transition:all .3s ease}
.news-item:hover{transform:translateX(5px);box-shadow:0 8px 30px rgba(0,0,0,.12)}
.news-date{font-size:.95rem;color:#999;margin-bottom:10px;font-weight:500}
.news-title{font-size:1.4rem;font-weight:700;margin-bottom:15px;color:#333}
.news-content{color:#555;line-height:1.9}
.no-news{text-align:center;padding:50px;color:#999;font-size:1.1rem}
.medical-dx-section{padding:80px 20px;background:#fff}
.medical-dx-content{max-width:800px;margin:40px auto 0}
.medical-dx-desc{text-align:center;font-size:1.1rem;line-height:1.9;color:#555;margin-bottom:40px}
.pdf-links{display:flex;flex-direction:column;gap:20px}
.pdf-link{display:flex;align-items:center;gap:15px;padding:25px 30px;background:linear-gradient(135deg,#fff5e6,#ffe6b3);border-radius:15px;box-shadow:0 5px 20px rgba(0,0,0,.08);transition:all .3s ease;border:2px solid transparent}
.pdf-link:hover,.pdf-link:focus{transform:translateY(-3px);box-shadow:0 8px 30px rgba(0,0,0,.15);border-color:#ffc000}
.pdf-icon{font-size:2rem;flex-shrink:0}
.pdf-text{font-size:1.15rem;font-weight:700;color:#333}
.access-section{padding:80px 20px;background:#f9f9f9}
.access-content{margin-top:40px}
.info-list{background:#fff;padding:35px;border-radius:15px;box-shadow:0 5px 20px rgba(0,0,0,.08);max-width:1200px;margin:0 auto}
.info-list dt{font-weight:700;color:#333;margin-top:20px;margin-bottom:8px;font-size:1.1rem}
.info-list dt:first-child{margin-top:0}
.info-list dd{color:#555;padding-left:15px;line-height:1.8}
.hours-list{margin-top:10px}
.hours-list li{padding:8px 0;border-bottom:1px dotted #ddd}
.hours-list li:last-child{border-bottom:none}
.map-container{background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 5px 20px rgba(0,0,0,.08);margin-top:20px}
.map-container iframe{display:block;width:100%;height:450px}
#footer{background:#fff;color:#333;padding:50px 20px 20px;border-top:2px solid #f0f0f0}
.footer-content{display:flex;justify-content:space-between;align-items:flex-start;max-width:1200px;margin:0 auto 30px;gap:50px}
.footer-info{flex:1}
.footer-logo{height:50px;width:auto;object-fit:contain;margin-bottom:15px}
.footer-title{font-size:1.1rem;font-weight:700;color:#333;margin:0 0 15px 0}
.footer-details{margin-top:15px}
.footer-detail-item{margin:8px 0;font-size:.95rem;color:#333}
.footer-detail-item a{color:#0066cc}
.footer-detail-item a:hover,.footer-detail-item a:focus{color:#ffc000}
.detail-label{font-weight:600;color:#666;margin-right:10px}
.footer-nav{flex:1}
.footer-nav-list{display:flex;gap:20px;flex-wrap:wrap}
.footer-nav-list a{color:#333;font-weight:500;transition:color .3s ease;font-size:.95rem}
.footer-nav-list a:hover,.footer-nav-list a:focus{color:#ffc000}
.footer-bottom{border-top:1px solid #e0e0e0;padding-top:20px;text-align:center}
.copyright{color:#666;font-size:.9rem}
.page-top{position:fixed;bottom:30px;right:30px;width:55px;height:55px;background:linear-gradient(135deg,#ffc000,#ff9500);color:#fff;border-radius:50%;box-shadow:0 5px 20px rgba(255,192,0,.4);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;opacity:0;visibility:hidden;transition:all .3s ease;z-index:999}
.page-top.visible{opacity:1;visibility:visible}
.page-top:hover,.page-top:focus{transform:translateY(-5px);box-shadow:0 8px 30px rgba(255,192,0,.6)}
@media(max-width:1024px){.hero-content{grid-template-columns:1fr;gap:40px}.hero-title{font-size:2.3rem}.section-title{font-size:2rem}.line-content{grid-template-columns:1fr}.about-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.nav-toggle{display:flex}.nav-menu{position:fixed;top:0;right:-100%;width:280px;height:100vh;background:#fff;box-shadow:-5px 0 20px rgba(0,0,0,.2);transition:right .3s ease;padding-top:80px}.nav-menu.active{right:0}.nav-list{flex-direction:column;gap:0;width:100%;padding:20px}.nav-list li{width:100%;border-bottom:1px solid #eee}.nav-list a{display:block;width:100%;padding:15px 20px}.hero-section{padding:40px 20px}.hero-title{font-size:1.9rem}.hero-desc{font-size:1rem}.hero-buttons{flex-direction:column}.cta-button{width:100%}.congestion-list{gap:10px}.congestion-list li{font-size:.95rem}.section-title{font-size:1.8rem}.merits-list{padding:25px 35px}.merits-list li{font-size:1rem}.about-grid{grid-template-columns:1fr}.footer-content{flex-direction:column;align-items:center;text-align:center}.footer-nav-list{justify-content:center}}
@media(max-width:480px){.logo-img{height:40px}.pharmacy-name{font-size:1.1rem}.hero-title{font-size:1.6rem}.cta-button{padding:15px 25px;font-size:1rem}.section-title{font-size:1.6rem}.subtitle-small{font-size:1rem}.step-number{width:40px;height:40px;font-size:1.2rem}.service-list{padding:25px 30px}.service-item{font-size:1rem}.page-top{width:50px;height:50px;font-size:1.3rem;bottom:20px;right:20px}}