*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--color-ai: #1B4965;--color-shu: #C1440E;--color-moegi: #86A96F;--color-sumi: #2D2D2D;--color-bg: #FAFAF7;--color-bg-sub: #F0F3F5;--color-white: #FFFFFF;--color-border: #D4D4D0;--font-serif: "Noto Serif JP", serif;--font-sans: "Noto Sans JP", sans-serif;--header-height: 72px;--max-width: 1080px}html{scroll-behavior:smooth;scroll-padding-top:var(--header-height)}body{font-family:var(--font-sans);font-weight:400;font-size:15px;line-height:1.8;color:var(--color-sumi);background-color:var(--color-bg);-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}ul,ol{list-style:none}:focus-visible{outline:2px solid var(--color-ai);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.sp-only{display:none}@media(max-width:767px){.sp-only{display:inline}}.section__inner{max-width:var(--max-width);margin:0 auto;padding:0 24px}.section__title{font-family:var(--font-serif);font-weight:600;font-size:1.75rem;letter-spacing:.08em;text-align:center;margin-bottom:16px;color:var(--color-sumi)}.section__title--light{color:var(--color-white)}.section__lead{text-align:center;color:#666;margin-bottom:48px;font-size:.95rem}.header{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--header-height);background:#fafaf7f2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border)}.header__inner{max-width:var(--max-width);margin:0 auto;padding:0 24px;height:100%;display:flex;align-items:center;justify-content:space-between}.header__logo{display:flex;flex-direction:column;gap:0;line-height:1.2}.header__logo-main{font-family:var(--font-serif);font-weight:700;font-size:1.5rem;letter-spacing:.15em;color:var(--color-ai)}.header__logo-sub{font-family:var(--font-serif);font-size:.65rem;letter-spacing:.2em;color:#888}.header__menu-btn{display:none;background:none;border:none;cursor:pointer;width:32px;height:24px;position:relative;z-index:110}.header__menu-line{display:block;width:100%;height:2px;background:var(--color-sumi);position:absolute;left:0;transition:transform .3s,opacity .3s}.header__menu-line:nth-child(1){top:2px}.header__menu-line:nth-child(2){top:11px}.header__menu-line:nth-child(3){top:20px}.header__menu-btn[aria-expanded=true] .header__menu-line:nth-child(1){top:11px;transform:rotate(45deg)}.header__menu-btn[aria-expanded=true] .header__menu-line:nth-child(2){opacity:0}.header__menu-btn[aria-expanded=true] .header__menu-line:nth-child(3){top:11px;transform:rotate(-45deg)}.header__nav-list{display:flex;align-items:center;gap:32px}.header__nav-link{font-size:.85rem;letter-spacing:.04em;transition:color .2s}.header__nav-link:hover{color:var(--color-ai)}.header__nav-link--cta{background:var(--color-shu);color:var(--color-white);padding:8px 20px;border-radius:4px;font-weight:500;transition:background-color .2s}.header__nav-link--cta:hover{background-color:#a33a0c;color:var(--color-white)}@media(max-width:767px){.header__menu-btn{display:block}.header__nav{position:fixed;top:0;right:0;width:280px;height:100dvh;background:var(--color-bg);padding:calc(var(--header-height) + 32px) 32px 32px;transform:translate(100%);transition:transform .3s ease;border-left:1px solid var(--color-border);z-index:105}.header__nav.is-open{transform:translate(0)}.header__nav-list{flex-direction:column;align-items:stretch;gap:0}.header__nav-link{display:block;padding:16px 0;font-size:.95rem;border-bottom:1px solid var(--color-border)}.header__nav-link--cta{margin-top:16px;text-align:center;border-bottom:none}}.hero{position:relative;height:90vh;min-height:520px;max-height:800px;display:flex;align-items:center;justify-content:center;margin-top:var(--header-height);overflow:hidden}.hero__bg{position:absolute;inset:0}.hero__bg-img{width:100%;height:100%;object-fit:cover}.hero__overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#1b496573,#1b4965a6)}.hero__content{position:relative;z-index:1;text-align:center;color:var(--color-white);padding:0 24px}.hero__sub{font-family:var(--font-sans);font-size:.9rem;letter-spacing:.2em;margin-bottom:16px;opacity:.9}.hero__title{font-family:var(--font-serif);font-weight:700;font-size:clamp(2rem,5vw,3.2rem);letter-spacing:.1em;line-height:1.4;margin-bottom:20px}.hero__desc{font-size:.95rem;line-height:1.9;margin-bottom:36px;opacity:.9}.hero__cta{display:inline-block;background:var(--color-shu);color:var(--color-white);font-family:var(--font-sans);font-weight:500;font-size:.95rem;letter-spacing:.08em;padding:14px 40px;border-radius:4px;transition:background-color .2s}.hero__cta:hover{background-color:#a33a0c}.products{padding:96px 0 80px;background:var(--color-bg)}.products__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.products__item{text-align:center}.products__img-wrap{aspect-ratio:4 / 3;overflow:hidden;border-radius:4px;margin-bottom:20px;background:var(--color-bg-sub)}.products__img{width:100%;height:100%;object-fit:cover}.products__name{font-family:var(--font-serif);font-weight:600;font-size:1.15rem;letter-spacing:.06em;margin-bottom:6px}.products__price{font-size:.95rem;color:var(--color-shu);font-weight:500;margin-bottom:12px}.products__desc{font-size:.85rem;color:#666;line-height:1.7}@media(max-width:767px){.products__grid{grid-template-columns:1fr;gap:48px;max-width:400px;margin:0 auto}}@media(min-width:768px)and (max-width:1023px){.products__grid{grid-template-columns:repeat(2,1fr)}}.kodawari{padding:80px 0 96px;background:var(--color-bg-sub)}.kodawari .section__title{margin-bottom:56px}.kodawari__block{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin-bottom:64px}.kodawari__block:last-child{margin-bottom:0}.kodawari__block--reverse{direction:rtl}.kodawari__block--reverse>*{direction:ltr}.kodawari__img-wrap{aspect-ratio:3 / 2;overflow:hidden;border-radius:4px;background:var(--color-border)}.kodawari__img{width:100%;height:100%;object-fit:cover}.kodawari__subtitle{font-family:var(--font-serif);font-weight:600;font-size:1.3rem;letter-spacing:.08em;margin-bottom:16px;color:var(--color-ai)}.kodawari__desc{font-size:.95rem;line-height:2;color:#555}@media(max-width:767px){.kodawari__block,.kodawari__block--reverse{grid-template-columns:1fr;gap:20px;direction:ltr}}.shops{padding:96px 0 80px;background:var(--color-bg)}.shops .section__title{margin-bottom:48px}.shops__grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}.shops__item{border:1px solid var(--color-border);border-radius:4px;padding:32px;background:var(--color-white)}.shops__name{font-family:var(--font-serif);font-weight:600;font-size:1.15rem;letter-spacing:.06em;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid var(--color-ai)}.shops__info{display:grid;grid-template-columns:80px 1fr;gap:8px 16px;font-size:.9rem;margin-bottom:24px}.shops__info dt{font-weight:500;color:#888}.shops__info dd{color:var(--color-sumi)}.shops__tel{color:var(--color-ai);font-weight:500;transition:color .2s}.shops__tel:hover{color:var(--color-shu)}.shops__map{border-radius:4px;overflow:hidden;background:var(--color-bg-sub)}.shops__map iframe{display:block}@media(max-width:767px){.shops__grid{grid-template-columns:1fr;gap:32px}.shops__item{padding:24px}}.faq{padding:80px 0 96px;background:var(--color-bg-sub)}.faq .section__title{margin-bottom:48px}.faq__list{max-width:720px;margin:0 auto}.faq__item{border-bottom:1px solid var(--color-border)}.faq__item:first-child{border-top:1px solid var(--color-border)}.faq__question{display:block;width:100%;padding:20px 40px 20px 0;font-size:.95rem;font-weight:500;cursor:pointer;position:relative;list-style:none}.faq__question::-webkit-details-marker{display:none}.faq__question:after{content:"";position:absolute;right:4px;top:50%;width:10px;height:10px;border-right:2px solid var(--color-sumi);border-bottom:2px solid var(--color-sumi);transform:translateY(-70%) rotate(45deg);transition:transform .2s}.faq__item[open] .faq__question:after{transform:translateY(-30%) rotate(-135deg)}.faq__answer{padding:0 0 20px;font-size:.9rem;color:#555;line-height:1.8}.contact{padding:96px 0;background:var(--color-ai);text-align:center}.contact__lead{color:#ffffffd9;font-size:.95rem;margin-bottom:40px}.contact__actions{display:flex;justify-content:center;gap:20px;margin-bottom:48px;flex-wrap:wrap}.contact__btn{display:inline-block;font-weight:500;font-size:.95rem;letter-spacing:.06em;padding:14px 36px;border-radius:4px;transition:background-color .2s,border-color .2s}.contact__btn--primary{background:var(--color-shu);color:var(--color-white)}.contact__btn--primary:hover{background-color:#a33a0c}.contact__btn--secondary{background:transparent;color:var(--color-white);border:1px solid rgba(255,255,255,.5)}.contact__btn--secondary:hover{border-color:var(--color-white);background:#ffffff14}.contact__tel{color:#fffc}.contact__tel-label{font-size:.85rem;margin-bottom:8px}.contact__tel-number{font-family:var(--font-serif);font-size:1.6rem;letter-spacing:.08em;color:var(--color-white);transition:opacity .2s}.contact__tel-number:hover{opacity:.8}.contact__tel-note{font-size:.8rem;margin-top:6px;opacity:.7}.footer{background:var(--color-sumi);color:#ffffffb3;padding:48px 0 32px}.footer__inner{max-width:var(--max-width);margin:0 auto;padding:0 24px;text-align:center}.footer__brand{margin-bottom:24px}.footer__logo{font-family:var(--font-serif);font-weight:700;font-size:1.3rem;letter-spacing:.15em;color:var(--color-white);display:block;margin-bottom:8px}.footer__address{font-size:.8rem}.footer__nav{display:flex;justify-content:center;flex-wrap:wrap;gap:24px;margin-bottom:32px}.footer__nav a{font-size:.8rem;transition:color .2s}.footer__nav a:hover{color:var(--color-white)}.footer__copy{font-size:.75rem;opacity:.6}
