*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{display:flex;flex-direction:column;min-height:100vh;font-family:Noto Sans JP,sans-serif;font-size:16px;line-height:1.6;color:#333;background-color:#fff}h1,h2,h3{font-weight:700;line-height:1.3}p{margin-bottom:1rem}a{color:#1a3a52;text-decoration:none;transition:color .3s ease}a:hover{color:#0f1f2e}.container{width:100%;max-width:960px;margin:0 auto;padding:0 1.5rem}.header{padding:2rem 0;border-bottom:1px solid #f0f0f0;background-color:#fafafa}.header__title{font-size:1.75rem;font-weight:700;color:#1a3a52;letter-spacing:.05em}.header__title a{color:inherit;text-decoration:none}.header__title a:hover{color:#0f1f2e}.main{flex:1}.section{padding:3rem 0;border-bottom:1px solid #f0f0f0}.section:last-of-type{border-bottom:none}.section__title{font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;color:#1a3a52;letter-spacing:.02em;position:relative;padding-bottom:1rem}.section__title:after{content:"";position:absolute;bottom:0;left:0;width:60px;height:3px;background-color:#1a3a52}.section__text{font-size:1rem;line-height:1.8;color:#555;max-width:600px}.section--what-we-build{padding-top:3rem}.section--company{background-color:#fafafa}.company-info{display:grid;gap:1.5rem}.company-info__item{display:grid;grid-template-columns:120px 1fr;gap:1.5rem;align-items:flex-start}.company-info__label{font-weight:600;color:#1a3a52;font-size:.95rem}.company-info__value{color:#555;line-height:1.6}.section--contact{padding-bottom:3rem}.contact-link{margin-top:2rem}.contact-link__button{display:inline-block;padding:.75rem 1.5rem;background-color:#1a3a52;color:#fff;border-radius:4px;font-weight:600;font-size:.95rem;transition:background-color .3s ease;border:2px solid #1a3a52}.contact-link__button:hover{background-color:#0f1f2e;border-color:#0f1f2e;color:#fff}.footer{padding:2rem 0;background-color:#fafafa;border-top:1px solid #f0f0f0;text-align:center;color:#999;font-size:.9rem}.footer__inner{display:flex;flex-direction:column;gap:.75rem;align-items:center}.footer__text{margin:0}.footer-nav{margin-bottom:.25rem}.footer-nav__link{color:#1a3a52;font-size:.9rem;text-decoration:underline;transition:color .3s ease}.footer-nav__link:hover{color:#0f1f2e}.language-switcher{display:flex;align-items:center;gap:.5rem;justify-content:center;color:#999}.language-switcher__link{color:#1a3a52;font-size:.9rem;text-decoration:underline;font-weight:600}.language-switcher__link:hover{color:#0f1f2e}.language-switcher__link.is-active{color:#999;text-decoration:none;cursor:default}.language-switcher__divider{color:#999;font-size:.85rem}@media (min-width: 768px){.container{padding:0 2rem}.header{padding:3rem 0}.header__title{font-size:2rem}.section{padding:4rem 0}.section__title{font-size:1.75rem;margin-bottom:2rem}.section__text{font-size:1.05rem}.company-info__item{grid-template-columns:150px 1fr;gap:2rem}.company-info__label{font-size:1rem}.footer__inner{flex-direction:row;justify-content:space-between}}@media (min-width: 1024px){.container{padding:0}.header{padding:4rem 0}.header__title{font-size:2.25rem}.section{padding:5rem 0}.section__title{font-size:2rem;margin-bottom:2.5rem}.section__text{font-size:1.1rem}.company-info{gap:2.5rem}.company-info__item{grid-template-columns:180px 1fr}}.policy-page{padding:2rem 0}.policy-page__title{font-size:1.75rem;font-weight:700;color:#1a3a52;margin-bottom:2rem;padding-bottom:1rem;border-bottom:3px solid #1a3a52}.policy-content{max-width:100%}.policy-text{font-size:1rem;line-height:1.8;color:#555;margin-bottom:1rem}.policy-section{margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid #f0f0f0}.policy-section:last-child{border-bottom:none}.policy-section__title{font-size:1.1rem;font-weight:600;color:#1a3a52;margin-bottom:1rem;margin-top:1rem}.policy-section__content{color:#555}.policy-subsection__title{font-size:1rem;font-weight:600;color:#1a3a52;margin-top:1.5rem;margin-bottom:.75rem}.policy-list{margin:1rem 0 1rem 1.5rem;list-style:none;counter-reset:item}.policy-list--numbered{margin-left:1.75rem}.policy-list--numbered .policy-list__item{padding-left:.5rem;counter-increment:item}.policy-list--numbered .policy-list__item:before{content:counter(item) ". ";font-weight:600;color:#1a3a52;margin-right:.5rem}.policy-list__item{margin-bottom:.75rem;padding-left:1.5rem;line-height:1.6;color:#555;position:relative}.policy-list__item:before{content:"•";position:absolute;left:0;color:#1a3a52;font-weight:600}.policy-contact{background-color:#fafafa;padding:1.5rem;border-radius:4px;margin-top:1rem}.policy-meta{margin-top:2rem;color:#555;line-height:1.6}
