*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}:root{--text-color: #2e2e2e;--bg-color: #fff;--accent-color: #666;--font-primary: Noto Sans JP, sans-serif;--font-serif: Noto Serif JP, serif;--padding-container: 2rem}body{font-family:"Noto Sans JP",sans-serif;color:#2e2e2e;background-color:#fff;line-height:1.6;-webkit-font-smoothing:antialiased}html{scroll-behavior:smooth;font-size:16px}@media(max-width: 600px){html{font-size:14px}}a{text-decoration:none;color:inherit;transition:opacity .3s ease}a:hover{opacity:.7}ul{list-style:none}img{max-width:100%;height:auto;display:block}.sp-only{display:none}@media(max-width: 600px){.sp-only{display:inline}}.header{display:flex;justify-content:space-between;align-items:center;padding:40px 60px;position:-webkit-sticky;position:sticky;top:0;background:rgba(255,255,255,.95);z-index:10}@media(max-width: 600px){.header{padding:20px 20px}}.header-nav{display:flex;justify-content:space-between;align-items:center;width:100%}.logo{width:120px;font-family:"Noto Sans JP",sans-serif;font-weight:bold;text-transform:uppercase;letter-spacing:.1em;font-size:1.2rem;line-height:1}.logo a{display:flex;flex-direction:column;align-items:center;color:#000}.hero{margin-top:80px;padding:0 0 80px;background:#373737}@media(max-width: 600px){.hero{padding-bottom:20px}}.hero-frame{width:100%;margin:0 auto;padding:0 5vw}.hero-swiper{width:100%;padding-bottom:32px;overflow:visible}.hero-slide{min-height:520px;display:grid;grid-template-columns:minmax(0, 45%) minmax(0, 55%);background:rgba(0,0,0,0);align-items:center}.hero-slide-media{width:100%;aspect-ratio:171/256;overflow:hidden;transform:translateY(-32px);box-shadow:0 10px 30px rgba(0,0,0,.2)}.hero-slide-media img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.hero-slide-concept{display:flex;align-items:center;justify-content:center;color:#fff;padding:0 30px;background:rgba(0,0,0,0);opacity:0;transform:translateY(6px);transition:opacity .8s ease,transform .8s ease;transition-delay:0s}.hero-slide.is-concept-active .hero-slide-concept{opacity:1;transform:translateY(0);transition-delay:1s}.hero-concept{max-width:550px;padding:10px 0;text-align:center}.hero-concept p{margin-bottom:18px;line-height:2}.hero-concept p:last-child{margin-bottom:0}.hero-concept-label{font-family:"Noto Serif JP",serif;font-size:1.8rem;letter-spacing:.28em;color:#d7d7d7;margin-bottom:40px !important}.hero .swiper-pagination-bullet{background:#cfcfcf;opacity:1}.hero .swiper-pagination-bullet-active{background:#333}@media(max-width: 768px){.hero-frame{padding:0 24px}.hero-slide{min-height:460px;grid-template-columns:1fr}.hero-slide-media{width:min(420px,100%);transform:translateY(-16px)}}@media(max-width: 768px)and (max-width: 600px){.hero-slide-media{width:100%;transform:translateY(-50px)}}@media(max-width: 768px){.hero-slide-concept{padding:20px 16px}}@media(max-width: 768px){.hero-concept{padding:0}}.hamburger{display:block;cursor:pointer;z-index:2001;position:fixed;top:50px;right:50px;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media(max-width: 600px){.hamburger{top:30px;right:20px}}.hamburger span{display:block;width:50px;height:1px;background:#333;margin-bottom:18px;transition:all .3s ease;transform-origin:center}.hamburger.is-active span:nth-child(1){transform:translateY(18px) rotate(45deg)}.hamburger.is-active span:nth-child(2){opacity:0}.hamburger.is-active span:nth-child(3){transform:translateY(-18px) rotate(-45deg)}body.menu-open .header{z-index:2100;background:rgba(0,0,0,0)}body.menu-open .logo,body.menu-open .nav-desktop{visibility:hidden;opacity:0;pointer-events:none}.mobile-nav-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;background:#fff;z-index:2000;display:flex;flex-direction:column;align-items:center;justify-content:center;visibility:hidden;opacity:0;transition:opacity .4s ease,visibility .4s ease}.mobile-nav-overlay.active{display:flex;visibility:visible;opacity:1}.mobile-nav-overlay .nav-content{text-align:center;width:100%;max-width:1000px}.mobile-nav-overlay .nav-logo{margin-bottom:60px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.mobile-nav-overlay .nav-logo img{width:200px;margin:0 auto}.mobile-nav-overlay .nav-links{display:flex;justify-content:center;gap:40px;flex-wrap:wrap;align-items:flex-start}@media(max-width: 768px){.mobile-nav-overlay .nav-links{align-items:center}}.mobile-nav-overlay .nav-item{position:relative;text-align:center}.mobile-nav-overlay .nav-link{font-family:"Noto Serif JP",serif;font-size:1rem;letter-spacing:.15em;text-transform:uppercase;color:#555;display:block;padding:5px 0}.mobile-nav-overlay .nav-link:hover{opacity:.7}.mobile-nav-overlay .sub-menu{display:none;flex-direction:column;gap:15px;margin-top:20px;text-align:left;padding-left:5px;position:absolute}.mobile-nav-overlay .sub-menu.is-open{display:flex;-webkit-animation:fadeIn .5s ease;animation:fadeIn .5s ease}.mobile-nav-overlay .sub-menu a{font-family:"Noto Serif JP",serif;font-size:.85rem;letter-spacing:.1em;color:#333;text-transform:uppercase;display:block}.mobile-nav-overlay .nav-social{margin-top:80px;display:flex;justify-content:center;gap:30px}.mobile-nav-overlay .nav-social img{width:32px;opacity:.6;transition:opacity .3s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.mobile-nav-overlay .nav-social img:hover{opacity:1}.mobile-nav-overlay .nav-contact{margin-top:80px;text-align:center;font-family:"Noto Sans JP",sans-serif}.mobile-nav-overlay .nav-contact .tel{font-size:1.1rem;letter-spacing:.2em;color:#333;margin-bottom:5px;margin-top:80px}.mobile-nav-overlay .nav-contact .email{font-size:.8rem;letter-spacing:.1em;color:#333;opacity:.8}@-webkit-keyframes fadeIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(max-width: 768px){.mobile-nav-overlay .nav-links{flex-direction:column;gap:20px}.mobile-nav-overlay .sub-menu{text-align:center;align-items:center}}.container{padding:0 2rem;max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box}@media(max-width: 600px){.container{padding:0 20px}}.section,#portfolio,#plan,#about,#contact{scroll-margin-top:120px}.section{padding:80px 0}.plan-section .plan-header{margin-bottom:30px}.plan-slider{display:flex;gap:24px;overflow-x:auto;padding:10px 0 20px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.plan-slider::-webkit-scrollbar{height:6px}.plan-slider::-webkit-scrollbar-track{background:#f0f0f0}.plan-slider::-webkit-scrollbar-thumb{background:#cfcfcf}.plan-slider-wrapper{position:relative}.plan-slider-wrapper .plan-slider{padding-right:4rem}.plan-slider-hint{position:absolute;top:-14px;right:1.2rem;display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;font-family:"Noto Sans JP",sans-serif;font-size:.7rem;letter-spacing:.18em;color:#1f1f1f;text-transform:uppercase;pointer-events:none;z-index:1}.plan-slider-hint__label{opacity:.65}.plan-slider-hint__line{width:55px;height:1px;background:#111;position:relative;display:block;-webkit-animation:planSliderPulse 1.6s ease-in-out infinite;animation:planSliderPulse 1.6s ease-in-out infinite}.plan-slider-hint__line::after{content:"";position:absolute;top:50%;right:-8px;width:7px;height:7px;border-top:1px solid #111;border-right:1px solid #111;transform:translateY(-50%) rotate(45deg)}@-webkit-keyframes planSliderPulse{0%{transform:translateX(0);opacity:.7}50%{transform:translateX(6px);opacity:1}100%{transform:translateX(0);opacity:.7}}@keyframes planSliderPulse{0%{transform:translateX(0);opacity:.7}50%{transform:translateX(6px);opacity:1}100%{transform:translateX(0);opacity:.7}}.plan-card{flex:0 0 calc((100% - 48px)/3);min-width:280px;background:#fff;border:1px solid #eee;padding:32px;text-align:center;scroll-snap-align:start}@media(max-width: 768px){.plan-card{flex-basis:80%}}@media(max-width: 600px){.plan-card{flex-basis:90%}}.plan-icon{width:48px;height:48px;border:1px solid #111;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin:0 auto 18px;position:relative}.plan-icon::before,.plan-icon::after{content:"";position:absolute;border-radius:1px;background:#111}.plan-icon::before{width:22px;height:1px}.plan-icon::after{width:1px;height:22px}.plan-catch{font-family:"Noto Serif JP",serif;font-size:.95rem;letter-spacing:.08em;color:#555;margin-bottom:12px}.plan-title{font-size:1.25rem;letter-spacing:.1em;margin-bottom:12px}.plan-price{font-size:2rem;font-weight:600;letter-spacing:.05em;margin-bottom:16px}.plan-price span{font-size:.9rem;font-weight:normal;margin-right:6px;color:#666}.plan-price-tail{font-size:.8rem;margin-left:4px;letter-spacing:.02em;color:#666}.plan-meta{display:flex;flex-direction:column;gap:6px;font-size:.95rem;color:#444;margin-bottom:12px}.plan-note{font-size:.9rem;color:#666;margin-bottom:16px}.plan-images{display:grid;grid-template-columns:repeat(2, 1fr);gap:10px}.plan-images.grid-3{grid-template-columns:repeat(3, 1fr)}.plan-images img{width:100%;height:auto;display:block}.plan-notes{margin-top:60px;text-align:center}.plan-notes h3{font-family:"Noto Serif JP",serif;font-size:1.2rem;letter-spacing:.1em;margin:30px 0 16px}.plan-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.plan-tags span{display:inline-block;padding:8px 16px;background:#111;color:#fff;font-size:.85rem;letter-spacing:.08em}.plan-surcharge{margin-top:30px}.plan-surcharge p{font-family:"Noto Serif JP",serif;font-size:1.2rem;letter-spacing:.1em;margin-bottom:8px}.plan-surcharge strong{display:block;font-size:2rem;margin-bottom:8px}.plan-surcharge strong span{font-size:.9rem;margin-left:6px}.plan-surcharge small{color:#666;font-size:.85rem}.portfolio-section{max-height:200vh;overflow:hidden;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);margin-top:100px}@media(max-width: 600px){.portfolio-section{margin-top:60px}}.portfolio-nav{position:relative;padding-bottom:24px;margin-bottom:12px}.portfolio-nav ul{display:flex;justify-content:center;align-items:baseline;gap:160px;font-family:"Noto Serif JP",serif;font-size:1rem;letter-spacing:.24em;color:#b9b9b9}.portfolio-nav .portfolio-tab{position:relative;display:flex;flex-direction:column;align-items:self-end;justify-content:flex-end;gap:6px;padding:6px 0;cursor:pointer;transition:color .3s ease;text-transform:uppercase;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media(max-width: 600px){.portfolio-nav .portfolio-tab{gap:0}}.portfolio-nav .portfolio-tab:focus-visible{outline:none;color:#4a4a4a}.portfolio-nav .portfolio-tab:focus-visible .portfolio-tab__label{opacity:1}.portfolio-nav .portfolio-tab::before{content:"";position:absolute;left:-36px;top:50%;transform:translateY(-50%);width:12px;height:12px;border-radius:50%;background:#68d0e4;opacity:0;transition:opacity .2s ease}.portfolio-nav .portfolio-tab::after{content:"";position:absolute;right:-80px;top:50%;transform:translateY(-50%) rotate(30deg);width:1px;height:32px;background:rgba(0,0,0,.2)}.portfolio-nav .portfolio-tab:last-child::after{display:none}.portfolio-nav .portfolio-tab.active{color:#222}.portfolio-nav .portfolio-tab.active::before{opacity:1}.portfolio-nav .portfolio-tab p{margin:0;font-weight:400}.portfolio-nav .portfolio-tab p:first-of-type{font-size:1.1rem;letter-spacing:.3em}.portfolio-nav .portfolio-tab p:last-of-type{font-size:.85rem;letter-spacing:.1em;color:#666;text-transform:none}@media(max-width: 600px){.portfolio-nav ul{gap:50px;letter-spacing:.18em}.portfolio-nav ul p:first-of-type{font-size:.8rem}.portfolio-nav ul p:last-of-type{font-size:.6rem}.portfolio-nav .portfolio-tab::before{left:-14px;width:10px;height:10px}.portfolio-nav .portfolio-tab::after{right:-25px;height:26px}}.portfolio-scroll{height:100vh;overflow-y:auto;padding-top:40px;padding-bottom:20px;-webkit-overflow-scrolling:touch}@media(max-width: 600px){.portfolio-scroll{margin-left:20px}}.portfolio-anchor{height:0;width:100%}.portfolio-single{padding-top:40px;padding-bottom:80px;padding:0;max-width:1300px}.portfolio-single__header{text-align:center;margin-bottom:40px}.portfolio-single__title{font-family:"Noto Serif JP",serif;font-size:1.6rem;letter-spacing:.15em;font-weight:500}.portfolio-single__gallery{display:grid;grid-template-columns:minmax(0, 1fr) 200px;gap:24px;align-items:start;height:70vh;margin-bottom:40px;position:relative}.portfolio-main-swiper{width:100%;height:75vh}.portfolio-main-swiper .swiper-slide{display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;height:75vh}.portfolio-main-swiper .swiper-slide .portfolio-single__credit{position:absolute;bottom:10px;right:10px;z-index:2;padding:.4rem .6rem}@media(max-width: 600px){.portfolio-main-swiper .swiper-slide .portfolio-single__credit{bottom:0px;right:0px;max-width:calc(100% - 2rem);padding:.35rem .5rem}}.portfolio-main-swiper .swiper-slide .portfolio-single__credit-role{font-size:.8rem;letter-spacing:.1em;color:#aaa;font-family:"Noto Serif JP",serif}@media(max-width: 600px){.portfolio-main-swiper .swiper-slide .portfolio-single__credit-role{font-size:.6rem}}.portfolio-main-swiper .swiper-slide img{width:auto !important;height:auto !important;max-width:100%;max-height:75vh;-o-object-fit:contain !important;object-fit:contain !important;display:block;margin-left:auto}.portfolio-main-swiper .swiper-slide::after{content:"";position:absolute;inset:0;background:#fff;transform:translateX(-100%);opacity:0;pointer-events:none}.portfolio-main-swiper .swiper-slide.is-reveal::after{opacity:1;-webkit-animation:portfolioWipe .6s ease forwards;animation:portfolioWipe .6s ease forwards}@-webkit-keyframes portfolioWipe{0%{transform:translateX(-100%);opacity:1}50%{transform:translateX(0);opacity:1}100%{transform:translateX(100%);opacity:0}}@keyframes portfolioWipe{0%{transform:translateX(-100%);opacity:1}50%{transform:translateX(0);opacity:1}100%{transform:translateX(100%);opacity:0}}.portfolio-thumbs-swiper{width:100%;height:var(--main-height, 100%);overflow:hidden;padding-right:8px}.portfolio-thumbs-swiper .swiper-wrapper{height:auto}.portfolio-thumbs-swiper .swiper-slide{opacity:.4;cursor:pointer;overflow:hidden}@media(min-width: 768px){.portfolio-thumbs-swiper .swiper-slide{height:calc((var(--main-height, 75vh) - 48px)/5)}}.portfolio-thumbs-swiper .swiper-slide-thumb-active{opacity:1}.portfolio-thumbs-swiper img{width:100%;height:100%;display:block;-o-object-fit:cover;object-fit:cover;aspect-ratio:4/3}.portfolio-thumbs-swiper .swiper-scrollbar{right:0;width:4px;background:rgba(0,0,0,.05)}.portfolio-thumbs-swiper .swiper-scrollbar-drag{background:rgba(0,0,0,.25)}.portfolio-single__content{max-width:900px;margin:40px auto 0;line-height:2;color:#555}@media(max-width: 600px){.portfolio-single{padding-top:20px}.portfolio-single__gallery{grid-template-columns:1fr;height:auto}.portfolio-main-swiper{height:auto}.portfolio-main-swiper .swiper-slide{height:auto}.portfolio-thumbs-swiper{order:2;height:auto;width:100%;margin-bottom:40px}.portfolio-thumbs-swiper .swiper-slide{width:auto}}.portfolio-grid{display:flex;justify-content:center;gap:40px;opacity:0;transition:opacity .8s ease-in-out;align-items:flex-start;max-width:1400px;margin:0 auto}.portfolio-grid.loaded{opacity:1}.grid-column{display:flex;flex-direction:column;gap:40px;flex:1;max-width:100%}.grid-item-movie{border:none;background:rgba(0,0,0,0);padding:0;position:relative}.grid-item-movie::before{content:"";position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%, -50%);width:76px;height:auto;aspect-ratio:19/13;background-image:linear-gradient(90deg, rgba(255, 255, 255, 0.45) 0%, rgba(0, 183, 255, 0.35) 70%, rgba(0, 183, 255, 0.9) 100%),radial-gradient(circle at center, rgba(0, 0, 0, 0.65) 50%, rgba(0, 0, 0, 0.25) 95%);background-size:200% 100%,100% 100%;background-position:0 0,center;border-radius:14px;border:1px solid rgba(255,255,255,.35);box-shadow:0 12px 30px rgba(0,0,0,.35);pointer-events:none;-webkit-animation:playButtonGlow 1.8s ease-in-out infinite;animation:playButtonGlow 1.8s ease-in-out infinite;transition:background-position .9s ease,transform .3s ease,box-shadow .3s ease}@media(max-width: 600px){.grid-item-movie::before{width:60px}}.grid-item-movie::after{content:"";position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%, -50%);width:0;height:0;border-top:12px solid rgba(0,0,0,0);border-bottom:12px solid rgba(0,0,0,0);border-left:18px solid #fff;pointer-events:none}@media(max-width: 600px){.grid-item-movie::after{border-top:8px solid rgba(0,0,0,0);border-bottom:8px solid rgba(0,0,0,0);border-left:12px solid #fff}}@-webkit-keyframes playButtonGlow{0%{transform:translate(-50%, -50%) scale(1);box-shadow:0 10px 25px rgba(0,0,0,.3)}50%{transform:translate(-50%, -50%) scale(1.02);box-shadow:0 20px 35px rgba(0,0,0,.45)}100%{transform:translate(-50%, -50%) scale(1);box-shadow:0 10px 25px rgba(0,0,0,.3)}}@keyframes playButtonGlow{0%{transform:translate(-50%, -50%) scale(1);box-shadow:0 10px 25px rgba(0,0,0,.3)}50%{transform:translate(-50%, -50%) scale(1.02);box-shadow:0 20px 35px rgba(0,0,0,.45)}100%{transform:translate(-50%, -50%) scale(1);box-shadow:0 10px 25px rgba(0,0,0,.3)}}.grid-item-movie img{cursor:pointer}.video-modal{position:fixed;inset:0;z-index:3001;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.8)}.video-modal.is-active{display:flex}.video-modal__panel{width:min(90vw,900px);background:#000;padding:0;border-radius:8px;overflow:hidden}.video-modal__body iframe{width:100%;height:60vw;max-height:75vh;border:0;display:block}.video-modal__close{position:absolute;top:12px;right:12px;background:rgba(255,255,255,.2);border:none;color:#fff;font-size:1.5rem;padding:6px 10px;cursor:pointer;z-index:1}.grid-item,.grid-item-movie{display:inline-block;width:100%;margin-bottom:32px;position:relative;overflow:hidden;cursor:pointer;-moz-column-break-inside:avoid;break-inside:avoid}.grid-item img,.grid-item-movie img{width:100%;height:100%;display:block;-o-object-fit:cover;object-fit:cover;transition:transform .5s ease;box-shadow:0 10px 20px rgba(0,0,0,.05)}.grid-item:hover img,.grid-item-movie:hover img{transform:scale(1.03);box-shadow:0 15px 30px rgba(0,0,0,.1)}@media(max-width: 600px){.portfolio-scroll{padding-top:0}.portfolio-grid.is-columns{display:block;-moz-column-count:2;column-count:2;-moz-column-gap:20px;column-gap:20px;padding:0 16px 20px}.portfolio-grid.is-columns .grid-item{-moz-column-break-inside:avoid;break-inside:avoid;margin-bottom:20px}.grid-item:nth-child(2n),.grid-item-movie:nth-child(2n){margin-top:20px}}footer .copy-right{font-family:"Noto Serif JP",serif;font-size:.7rem;letter-spacing:.1em;color:#aaa;position:fixed;right:20px;bottom:20px;z-index:-1}@media(max-width: 600px){footer .copy-right{right:10px;bottom:10px}}.about-content{max-width:800px;margin:0 auto;padding:40px 0;text-align:center}.about-content h2{font-family:"Noto Serif JP",serif;font-size:2rem;margin-bottom:30px;letter-spacing:.1em;font-weight:normal}.about-content p{margin-bottom:20px;line-height:2;color:#555;font-size:.95rem}.about-lead{font-family:"Noto Serif JP",serif;letter-spacing:.2em;color:#888;text-transform:uppercase;font-size:.8rem}.photographer-grid{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:40px;margin-top:30px}.photographer-card{display:grid;grid-template-columns:180px minmax(0, 1fr);gap:24px;align-items:start;padding:32px;border:1px solid #eee;background:#fff}.photographer-photo{width:180px;aspect-ratio:4/5;overflow:hidden;position:relative}.photographer-photo img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;position:absolute;inset:0;transition:opacity .6s ease,transform .6s ease,filter .6s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden}.photographer-photo__primary{z-index:2;opacity:1;transform:scale(1)}.photographer-photo__alt{z-index:1;opacity:0;transform:scale(1.08);filter:blur(5px) saturate(1.1)}.photographer-photo:hover .photographer-photo__primary{opacity:0;transform:scale(1.05)}.photographer-photo:hover .photographer-photo__alt{opacity:1;transform:scale(1);filter:blur(0)}.photographer-name{font-family:"Noto Serif JP",serif;font-size:1.3rem;letter-spacing:.12em;margin-bottom:6px}.photographer-role{font-size:.85rem;color:#888;letter-spacing:.15em;text-transform:uppercase;margin-bottom:16px}.photographer-text{font-size:.9rem;color:#555;line-height:2;margin-bottom:18px}.photographer-meta{display:grid;gap:12px}.photographer-meta dt{font-size:.9rem;letter-spacing:.12em;color:#777;margin-bottom:6px;font-weight:600}.photographer-meta dd{font-size:.9rem;color:#333;margin-left:0}@media(max-width: 768px){.photographer-grid{grid-template-columns:1fr}.photographer-card{grid-template-columns:140px minmax(0, 1fr);padding:24px}.photographer-photo{width:140px}}@media(max-width: 600px){.photographer-card{grid-template-columns:1fr;text-align:center}.photographer-photo{width:100%;max-width:260px;margin:0 auto}}.contact-form{max-width:600px;margin:60px auto;display:flex;flex-direction:column;gap:30px}.contact-form .wpcf7-form-control-wrap{display:block}.contact-form .wpcf7-acceptance{display:flex;justify-content:center}.contact-form .wpcf7-list-item{margin:0}.contact-form .wpcf7-list-item label{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;color:#333}.contact-form .wpcf7-list-item-label a{text-decoration:underline}.form-group{display:flex;flex-direction:column;gap:10px;text-align:left;margin-bottom:30px}.form-group label{font-family:"Noto Serif JP",serif;font-size:.9rem;letter-spacing:.1em;color:#333}.form-group input,.form-group textarea{padding:15px;border:1px solid #ddd;background:#f9f9f9;font-family:"Noto Sans JP",sans-serif;font-size:1rem;outline:none;transition:border-color .3s;width:100%;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus{border-color:#999}.button-group p:nth-of-type(1){margin-bottom:10px;font-size:.85rem;color:#666}.button-group input[type=checkbox]{width:auto;margin-right:8px;transform:scale(1.2);cursor:pointer}.button-group p:nth-of-type(2){width:125px;margin:30px auto 0}.contact-form button[type=submit],.contact-form input[type=submit],.contact-form .wpcf7-submit{background:#333;color:#fff;border:none;padding:15px 40px;font-family:"Noto Serif JP",serif;letter-spacing:.2em;cursor:pointer;transition:background .3s;display:inline-block}.contact-form button[type=submit]:hover,.contact-form input[type=submit]:hover,.contact-form .wpcf7-submit:hover{background:#555}.privacy-modal{position:fixed;inset:0;z-index:3000;display:none}.privacy-modal.is-open{display:block}.privacy-modal h3{font-size:1.5rem;letter-spacing:.1em;margin-bottom:20px;text-align:center}.privacy-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.6);opacity:0;transition:opacity .25s ease}.privacy-modal__panel{position:relative;width:min(90vw,640px);max-height:75vh;overflow:auto;margin:8vh auto 0;background:#fff;padding:32px 28px;box-shadow:0 20px 50px rgba(0,0,0,.2);opacity:0;transform:translateY(10px);transition:opacity .25s ease,transform .25s ease}.privacy-modal__close{position:absolute;top:10px;right:12px;border:none;background:rgba(0,0,0,0);font-size:1.6rem;cursor:pointer}.privacy-modal__body p{margin-bottom:16px;line-height:1.9}.privacy-modal.is-open .privacy-modal__backdrop{opacity:1}.privacy-modal.is-open .privacy-modal__panel{opacity:1;transform:translateY(0)}.privacy-modal__body ol{margin:0 0 16px;padding-left:20px;line-height:1.9}.privacy-modal__body ul{margin:8px 0 8px 18px}.privacy-modal__body ul li::before{content:"• ";margin-right:6px}.privacy-modal__body li{margin-bottom:10px}#lightbox{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.9);display:flex;justify-content:center;align-items:center;z-index:2000;opacity:0;pointer-events:none;transition:opacity .3s ease}#lightbox.active{opacity:1;pointer-events:auto}#lightbox img{max-width:90%;max-height:90vh;box-shadow:0 0 20px rgba(0,0,0,.5)}.lightbox-close{position:absolute;top:20px;right:30px;background:rgba(0,0,0,0);border:none;color:#fff;font-size:3rem;cursor:pointer;line-height:1;padding:0;z-index:2001;transition:transform .3s ease;outline:none}.lightbox-close:hover{transform:rotate(90deg);color:#ddd}.nav-desktop{display:none}@media(min-width: 769px){.nav-desktop{display:flex;gap:50px;align-items:flex-start;flex:1;justify-content:flex-end;margin-right:15vw}.nav-desktop a{font-family:"Noto Serif JP",serif;font-size:.9rem;letter-spacing:.1em;color:#333;text-transform:uppercase;font-weight:500}.nav-desktop a:hover{opacity:.6}.nav-desktop .nav-item{position:relative;text-align:left}.nav-desktop .sub-menu{display:none !important;flex-direction:column;gap:10px;margin-top:12px;padding-left:2px;position:absolute}.nav-desktop .sub-menu.is-open{display:flex !important;-webkit-animation:fadeIn .4s ease;animation:fadeIn .4s ease}.nav-desktop .sub-menu a{font-size:.8rem;letter-spacing:.1em;color:#333;text-transform:uppercase;white-space:nowrap}}
/*# sourceMappingURL=style.min.css.map */