.subpageSite{min-height:100vh;background:#fff}
.subHero{position:relative;overflow:hidden;padding:72px 0 66px;background:linear-gradient(125deg,#edf7f4,#f8fbfa)}
.subHero:after{content:"";position:absolute;right:-80px;bottom:-170px;width:390px;height:390px;border:64px solid #d7ebe6;border-radius:50%;opacity:.72}
.subHeroInner{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto;align-items:end;gap:40px}
.breadcrumbs{margin:0 0 28px;font-size:13px;color:var(--muted)}
.breadcrumbs a{color:var(--deep)}
.subHero .sectionEn{margin:0 0 8px}
.subHero h1{margin:0;font-size:clamp(38px,4vw,54px);line-height:1.4;letter-spacing:.025em}
.subHeroLead{max-width:580px;margin:18px 0 0;font-size:17px;line-height:1.95;color:#496462}
.subHeroMark{font:700 72px/1 var(--font-en);color:#a9d1ca;letter-spacing:.04em}
.pageSection{padding:clamp(72px,7vw,104px) 0}
.pageSection.soft{background:#f3f8f6}.pageSection.cream{background:#faf7ef}
.pageHeading{max-width:760px;margin-bottom:42px}.pageHeading.center{margin-inline:auto;text-align:center}
.pageHeading .sectionEn{margin:0 0 8px}.pageHeading h2{margin:0 0 16px;font-size:clamp(30px,3vw,40px);line-height:1.5}
.pageHeading p{margin:0;color:var(--muted);font-size:16px}
.prose{max-width:820px;margin-inline:auto;font-size:17px;line-height:2}
.prose h2{margin:52px 0 18px;font-size:30px;line-height:1.55;color:var(--deep)}
.prose h3{margin:36px 0 12px;font-size:22px}.prose p{margin:0 0 22px}.prose ul{padding-left:1.3em}
.privacyLayout{max-width:900px}.privacyProse{max-width:none}.privacyLead{padding:24px 28px;border-left:5px solid var(--teal);background:#f3f8f6}.privacyProse li{margin-bottom:8px}.privacyContact{display:flex;flex-direction:column;gap:5px;margin-top:24px;padding:24px 28px;border:1px solid var(--line);background:#f8faf9}.privacyContact b{font-size:19px;color:var(--deep)}.privacyContact a{color:var(--deep);font-weight:700}.privacyReviewNote{margin:46px 0 0}
.legalDocumentContent{max-width:960px}.legalDocumentContent #cmplz-document{max-width:none}.legalDocumentContent #cmplz-document h2,.legalDocumentContent #cmplz-document h3{color:var(--deep)}.legalDocumentContent #cmplz-document a{color:var(--teal);text-decoration:underline}
.featureGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.featureCard{position:relative;overflow:hidden;min-height:230px;padding:32px;border:1px solid var(--line);border-radius:8px;background:#fff}
.featureCard:after{content:"";position:absolute;z-index:0;right:-54px;bottom:-68px;width:160px;height:160px;border:24px solid #dcedea;border-radius:50%}
.featureCard>*{position:relative;z-index:1}.featureCard small{color:var(--teal);font-weight:700}.featureCard h3{margin:8px 0 12px;font-size:22px}.featureCard p{margin:0;color:var(--muted);font-size:15px;line-height:1.85}
.splitFeature{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}
.splitImage{height:430px;border-radius:10px;overflow:hidden;background:#dfeeea}.splitImage img{width:100%;height:100%;object-fit:cover}
.splitCopy h2{font-size:36px;line-height:1.55}.splitCopy p{font-size:17px;line-height:2;color:var(--muted)}
.checkList{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.checkList span{padding:15px 17px;border:1px solid var(--line);border-radius:5px;background:#fff;font-size:15px;font-weight:700}.checkList span:before{content:"✓";margin-right:10px;color:var(--teal)}
.stepList{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;counter-reset:step}.stepList article{padding:28px 24px;border-top:4px solid var(--teal);background:#fff;box-shadow:0 8px 28px #145b580c;counter-increment:step}.stepList article:before{content:"STEP " counter(step);display:block;margin-bottom:12px;font:700 13px var(--font-en);color:var(--teal)}.stepList h3{font-size:19px}.stepList p{font-size:14px;color:var(--muted)}
.pageCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.pageCard{display:block;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff}.pageCard img,.pageCardVisual{width:100%;height:220px;object-fit:cover}.pageCardVisual{display:flex;align-items:flex-end;padding:25px;color:#fff;background:linear-gradient(145deg,#3e9891,#0c696b)}.pageCardBody{padding:24px}.pageCardBody small{color:var(--teal);font-weight:700}.pageCardBody h2,.pageCardBody h3{margin:7px 0 10px;font-size:21px}.pageCardBody p{margin:0;color:var(--muted);font-size:14px}.pageCardBody em{display:block;margin-top:18px;color:var(--deep);font-size:14px;font-style:normal;font-weight:700}
.postFilters button{min-width:88px;padding:8px 16px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font:700 14px var(--font-jp);cursor:pointer}.postFilters button[aria-pressed="true"]{border-color:var(--teal);background:var(--teal);color:#fff}.postFilters button:focus-visible{outline:3px solid #e5c354;outline-offset:2px}.postArchiveGrid{margin-top:28px}.postArchiveGrid .pageCard[hidden]{display:none!important}.filterStatus{min-height:1.8em;margin:12px 0 0;color:var(--muted);font-size:14px}
.shopFilters{margin-top:10px;flex-wrap:wrap}.shopFilters:empty{display:none}.postShopBadges{display:flex;flex-wrap:wrap;gap:5px;margin:7px 0 9px}.postShopBadges span{display:inline-block;padding:3px 8px;border-radius:999px;background:#edf7f4;color:var(--deep);font-size:11px;font-weight:700}
.postArchiveGrid.is-loading{visibility:hidden}
.clientReviewOnly{display:none!important}.logged-in section.clientReviewOnly{display:block!important}.logged-in .photoFuture.clientReviewOnly{display:grid!important}
.shopIndexGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.shopIndexCard{display:grid;grid-template-columns:44% 1fr;overflow:hidden;border-radius:9px;background:#fff;box-shadow:0 8px 28px #145b580c}.shopIndexCard img,.shopIndexCard .photoPlaceholder{width:100%;height:100%;min-height:240px;object-fit:cover}.shopIndexBody{display:flex;min-width:0;flex-direction:column;padding:30px}.shopIndexBody small{color:var(--teal);font-weight:700}.shopIndexBody h2{min-height:3em;margin-bottom:10px;font-size:23px;line-height:1.5;overflow-wrap:anywhere}.shopIndexBody p{color:var(--muted);font-size:14px}.shopIndexBody b{display:block;margin-top:auto;padding-top:18px;color:var(--deep)}
.infoTable{width:100%;border-collapse:collapse}.infoTable th,.infoTable td{padding:18px 20px;border-bottom:1px solid var(--line);text-align:left}.infoTable th{width:190px;background:#f2f7f5;color:var(--deep)}
.shopInstagramLink{display:inline-flex;align-items:center;gap:10px;color:var(--deep);font-weight:700}.shopInstagramLink img{display:block;width:30px;height:30px;object-fit:contain}.shopInstagramLink:hover{color:var(--teal)}.shopInstagramLink:focus-visible{outline:3px solid #e5c354;outline-offset:4px}
.shopMap{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#eef4f2;box-shadow:0 10px 30px #145b580d}.shopMap iframe{display:block;width:100%;height:440px;border:0}.shopMapConsent{display:flex;min-height:440px;align-items:center;justify-content:center;flex-direction:column;padding:32px;text-align:center;background:linear-gradient(135deg,#e8f1ef,#f7f3ea)}.shopMapConsent b{font-size:24px;color:var(--ink)}.shopMapConsent p{margin:12px 0 20px;color:var(--muted)}.shopMapConsentButton{appearance:none;border:1px solid var(--teal);border-radius:4px;background:#fff;padding:13px 20px;color:var(--teal);font:inherit;font-weight:700;cursor:pointer}.shopMapConsentButton:hover{background:var(--teal);color:#fff}
.shopMapNote{margin:20px 0 0}
.statusNote{padding:18px 22px;border:1px solid #e2ba55;border-left:5px solid #d5a24f;background:#fff7da;color:#604b18;font-size:15px}
.reviewNote{padding:18px 22px;border:1px dashed #d66a7d;border-left:5px solid #c94f68;background:#fff0f3;color:#713442;font-size:15px}
.reviewNote:before{content:"ご確認のお願い";display:inline-block;margin:0 12px 7px 0;padding:3px 8px;border-radius:3px;background:#b83f58;color:#fff;font-size:12px;font-weight:700}
.reviewNote strong{color:#9e3048}
.planColumns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.planColumns>article{padding:32px;border:1px solid var(--line);border-radius:9px;background:#fff}
.planColumns h3{margin:0 0 22px;font-size:24px;color:var(--deep)}
.planTable>div{display:grid;grid-template-columns:34px 120px 1fr;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.7}
.planTable b{color:var(--deep)}
.planItemIcon{display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:#e8f4f1;color:var(--teal)}.planItemIcon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.planNote{margin-top:30px}
.weddingIntro .splitImage img{object-position:center 48%}.weddingPhotoSection{background:#fff}.weddingPhotoGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.weddingPhotoPlan{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 10px 32px #145b580d}.weddingPhotoHead{position:relative;padding:30px 32px;background:linear-gradient(135deg,#f7ecef,#fff)}.weddingPhotoPlan:nth-child(2) .weddingPhotoHead{background:linear-gradient(135deg,#eaf5f2,#fff)}.weddingPhotoHead small{color:var(--teal);font:700 12px var(--font-en);letter-spacing:.14em}.weddingPhotoHead h3{margin:7px 0 16px;font-size:25px}.weddingPhotoHead b{display:block;font-size:17px;line-height:1.65}.weddingPhotoHead span{display:inline-block;margin-top:10px;padding:4px 10px;border-radius:999px;background:#fff;color:var(--deep);font-size:13px;font-weight:700}.weddingPhotoPlan>.planTable{padding:12px 30px 26px}.weddingPhotoPlan>.planTable>div{grid-template-columns:34px 82px 1fr}.weddingConsult{display:flex;align-items:center;justify-content:space-between;gap:34px;margin-top:34px;padding:30px 34px;border-radius:9px;background:#f3f8f6}.weddingConsult h3{margin:5px 0 5px;font-size:24px}.weddingConsult p{margin:0;color:var(--muted)}.weddingConsult .button{flex:0 0 auto}
.funeralIntro .splitImage img{object-position:center 48%}.funeralPlanColumns>article:first-child{border-top:4px solid var(--purple)}.funeralPlanColumns>article:last-child{border-top:4px solid var(--teal)}.hearseGuide{display:grid;grid-template-columns:52px 1fr;align-items:center;gap:18px;margin-top:28px;padding:24px 28px;border-radius:8px;background:#edf5f3}.hearseGuide>.planItemIcon{width:52px;height:52px;background:#fff}.hearseGuide>.planItemIcon svg{width:28px;height:28px}.hearseGuide h3{margin:0 0 5px;font-size:20px}.hearseGuide p{margin:0;color:var(--muted);font-size:15px}
.pricePanel{display:flex;align-items:center;gap:24px;margin-top:28px;padding:24px 28px;border-radius:8px;background:var(--deep);color:#fff}
.pricePanel small{padding:5px 9px;border-radius:3px;background:#fff;color:var(--deep);font-weight:700}.pricePanel b{font-size:25px}.pricePanel span{margin-left:auto}
.centerLink{margin-top:34px;text-align:center}
.confirmGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.confirmGrid article{padding:26px;border:1px solid #ead6aa;border-radius:8px;background:#fffdf8}
.confirmGrid small{color:#a36e12;font-weight:700}.confirmGrid h3{margin:8px 0 10px;font-size:20px}.confirmGrid p{margin:0;color:var(--muted);font-size:14px}
.photoFuture{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:50px;margin-top:60px;padding:42px;border-radius:10px;background:#f3f8f6}
.photoStaffVisual{position:relative;overflow:hidden;margin:0 0 38px;border-radius:10px;background:#e8f1ef}
.photoStaffVisual img{display:block;width:100%;height:430px;object-fit:cover;object-position:center 58%}
.photoStaffVisual figcaption{position:absolute;right:28px;bottom:28px;display:flex;max-width:470px;flex-direction:column;padding:22px 26px;border-radius:7px;background:#fffffff2;box-shadow:0 8px 30px #123a3420}
.photoStaffVisual small{color:var(--teal);font-weight:700}.photoStaffVisual b{margin:4px 0 7px;font-size:22px}.photoStaffVisual span{color:var(--muted);font-size:14px;line-height:1.7}
.photoFuture h2{font-size:30px}.photoFuture p{color:var(--muted)}
.galleryPlaceholder{display:grid;gap:10px}.galleryPlaceholder span{padding:18px;border:1px dashed #9abdb7;border-radius:5px;background:#fff;color:var(--deep);font-weight:700}
.relationGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.relationGrid article{padding:34px;border:1px solid var(--line);border-radius:9px;background:#fff}
.relationGrid small{color:var(--teal);font-weight:700}.relationGrid h3{margin:8px 0 12px;font-size:24px}.relationGrid p{margin:0;color:var(--muted);line-height:1.9}
.hallGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.hallCard{overflow:hidden;border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:0 8px 28px #145b580c}
.hallCard img{display:block;width:100%;height:210px;object-fit:cover;background:#e7efed}
.hallCard>div{padding:24px}
.hallCard h3{min-height:3em;margin:0 0 10px;font-size:20px;line-height:1.5}
.hallCard p{margin:0 0 14px;color:var(--muted);font-size:15px}
.hallCard span{display:block;padding-top:13px;border-top:1px solid var(--line);color:var(--teal);font-size:13px;font-weight:700}
.hallTel{display:block;margin-top:14px;padding-top:13px;border-top:1px solid var(--line);color:var(--deep);font:700 18px/1.4 Arial,Helvetica,sans-serif}
.hallNote{margin-top:34px}
.jacsenGuide{display:grid;grid-template-columns:minmax(0,1fr) 360px;align-items:center;gap:40px;margin:0 0 42px;padding:32px 36px;border-radius:9px;background:#eaf5f2}
.jacsenGuide h3{margin:6px 0 10px;font-size:25px;line-height:1.55}.jacsenGuide p{margin:0;color:var(--muted);line-height:1.9}
.jacsenGuide>a{display:flex;flex-direction:column;padding:22px 26px;border-radius:7px;background:var(--deep);color:#fff;text-align:center}
.jacsenGuide>a small{font-weight:700}.jacsenGuide>a b{margin:6px 0;font:700 29px/1.2 Arial,Helvetica,sans-serif}.jacsenGuide>a span{font-size:13px}
.faqList{max-width:900px;margin:auto}.faqItem{margin-bottom:12px;border:1px solid var(--line);border-radius:7px;background:#fff;overflow:hidden}.faqItem h2{margin:0;font-size:18px}.faqItem h2 button{position:relative;width:100%;padding:23px 60px 23px 26px;border:0;background:transparent;color:inherit;font:inherit;font-weight:700;text-align:left;cursor:pointer}.faqItem h2 button:before{content:"Q";margin-right:14px;color:var(--teal);font:700 20px var(--font-en)}.faqItem h2 button:after{content:"＋";position:absolute;right:25px;color:var(--teal);transition:transform .3s ease}.faqItem h2 button[aria-expanded="true"]:after{transform:rotate(45deg)}.faqItem h2 button:focus-visible{outline:3px solid #e5c354;outline-offset:-4px}.faqAnswer{display:grid;grid-template-rows:0fr;border-top:0 solid var(--line);opacity:0;transition:grid-template-rows .42s ease,opacity .32s ease,border-top-width .42s ease}.faqAnswer>div{min-height:0;overflow:hidden}.faqAnswer.is-open{grid-template-rows:1fr;border-top-width:1px;opacity:1}.faqAnswer p{margin:0;padding:22px 26px 24px 57px;color:var(--muted)}.faqReviewNote{margin:-2px 0 20px;padding:16px 18px}
.articleLayout{display:grid;grid-template-columns:minmax(0,760px) 270px;justify-content:space-between;gap:70px}.articleMain .articleMeta{display:flex;gap:14px;color:var(--teal);font-size:14px}.articleMain h2{margin-top:45px;font-size:28px}.articleMain p{font-size:17px;line-height:2}.sideNav{align-self:start;padding:24px;border:1px solid var(--line);background:#fff}.sideNav b{display:block;margin-bottom:12px}.sideNav a{display:block;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}
.formGrid{max-width:820px;margin:auto}.formRow{display:grid;grid-template-columns:210px 1fr;gap:30px;padding:23px 0;border-bottom:1px solid var(--line)}.formRow label{font-weight:700}.formRow label small{margin-left:8px;color:#b45262}.formRow input,.formRow textarea,.formRow select{width:100%;padding:15px;border:1px solid #bfcfcb;border-radius:4px;background:#fff;font:inherit}.formRow textarea{min-height:170px}.formSubmit{margin-top:32px;text-align:center}.formSubmit button{min-width:280px;min-height:58px;border:0;border-radius:4px;background:var(--teal);color:#fff;font-size:16px;font-weight:700}
.formRow select{-webkit-appearance:none;appearance:none;padding-right:52px;background-color:#fff;background-image:linear-gradient(45deg,transparent 50%,#47635d 50%),linear-gradient(135deg,#47635d 50%,transparent 50%);background-position:calc(100% - 24px) 50%,calc(100% - 17px) 50%;background-size:7px 7px;background-repeat:no-repeat}
.formRow .formHint{grid-column:2;margin:-18px 0 0;color:var(--muted);font-size:13px;line-height:1.6}
.formRow>p{display:contents}.formRow .wpcf7-form-control-wrap{display:block;width:100%;min-width:0}.formPrivacy>p,.formSubmit>p{margin:0}.formPrivacy{max-width:820px;margin:28px auto 0;padding:20px 22px;background:#f3f8f6;border-radius:6px}.formPrivacy .wpcf7-list-item{margin:0}.formPrivacy label{display:flex;align-items:flex-start;gap:10px}.formPrivacy input{width:20px;height:20px;margin-top:4px;flex:0 0 auto}.formPrivacy a{color:var(--teal);text-decoration:underline;text-underline-offset:3px}.formSubmit input[type="submit"]{min-width:280px;min-height:58px;padding:14px 28px;border:0;border-radius:4px;background:var(--teal);color:#fff;font:700 16px/1.4 var(--font-jp);cursor:pointer;transition:opacity .2s,background-color .2s}.formSubmit input[type="submit"]:hover{background:var(--deep)}.formSubmit input[type="submit"]:disabled{opacity:.45;cursor:not-allowed}.wpcf7-turnstile{max-width:820px;margin:0 auto 28px}.wpcf7-not-valid-tip{display:block;margin-top:6px;color:#b33b52;font-size:14px;font-weight:700}.wpcf7 form .wpcf7-response-output{max-width:820px;margin:24px auto 0;padding:14px 18px;border-radius:4px}.wpcf7-spinner{display:block;margin:12px auto 0}.wpcf7 form.sent .wpcf7-response-output{border-color:var(--teal);background:#edf7f4}.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.unaccepted .wpcf7-response-output{border-color:#d7a12b;background:#fff8df}
.searchBox{display:flex;max-width:700px;margin:auto}.searchBox input{flex:1;min-width:0;padding:16px;border:1px solid var(--line);font:inherit}.searchBox button{min-width:120px;border:0;background:var(--teal);color:#fff;font-weight:700}
.searchReviewNote{max-width:700px;margin:30px auto 0}
.sitemapGrid{display:grid;grid-template-columns:repeat(3,1fr);align-items:start;gap:24px}.sitemapGroup{padding:28px;border:1px solid var(--line);border-top:4px solid var(--teal);border-radius:6px;background:#fff}.sitemapGroup h2{margin:0 0 14px;font-size:20px;color:var(--deep)}.sitemapGroup>a{display:block;padding:10px 0;border-bottom:1px solid var(--line);color:var(--deep);font-weight:700}.sitemapGroup>a:after{content:"→";float:right;color:var(--teal)}.sitemapChildren{margin:0 0 2px;padding:7px 0 7px 18px;border-bottom:1px solid var(--line);background:#f5f9f8}.sitemapChildren a{display:block;padding:6px 10px;color:var(--muted);font-size:14px}.sitemapChildren a:before{content:"─";margin-right:8px;color:#98b7b1}.sitemapSub{font-weight:400!important;padding-left:18px!important;color:var(--muted)!important}.sitemapSub:before{content:"─";margin-right:8px;color:#98b7b1}
.notFound{text-align:center;padding:120px 20px}.notFound b{display:block;font:700 clamp(80px,14vw,160px)/1 var(--font-en);color:#cbe3de}.notFound h1{font-size:34px}.notFound p{color:var(--muted)}
.subpageContact{margin-top:0}
@media(max-width:1100px){.subpageSite .header nav{display:none}.articleLayout{grid-template-columns:1fr}.sideNav{display:none}.featureGrid,.hallGrid,.confirmGrid{grid-template-columns:repeat(2,1fr)}.stepList{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.subHero{padding:46px 0 44px}.subHeroInner{grid-template-columns:1fr}.subHeroMark{display:none}.breadcrumbs{margin-bottom:20px}.subHero h1{font-size:34px}.subHeroLead{font-size:16px}.pageHeading.center{text-align:left}.featureGrid,.pageCards,.shopIndexGrid,.stepList,.sitemapGrid,.hallGrid,.planColumns,.confirmGrid,.photoFuture,.weddingPhotoGrid{grid-template-columns:1fr}.featureCard{min-height:auto}.splitFeature{grid-template-columns:1fr;gap:28px}.splitImage{height:280px}.splitCopy h2{font-size:29px}.checkList{grid-template-columns:1fr}.shopIndexCard{grid-template-columns:40% 1fr}.shopIndexCard img,.shopIndexCard .photoPlaceholder{min-height:200px}.shopIndexBody{padding:20px 17px}.shopIndexBody h2{font-size:19px}.hallCard img{height:220px}.hallCard h3{min-height:0}.planColumns>article{padding:24px 20px}.planTable>div{grid-template-columns:32px 1fr;gap:4px 10px}.planTable>div .planItemIcon{grid-row:1/3}.planTable>div span{grid-column:2}.pricePanel{align-items:flex-start;flex-direction:column;gap:10px}.pricePanel span{margin-left:0}.photoFuture{gap:24px;padding:28px 22px}.weddingPhotoHead{padding:26px 24px}.weddingPhotoPlan>.planTable{padding:10px 22px 24px}.weddingPhotoPlan>.planTable>div{grid-template-columns:32px 1fr}.weddingConsult{align-items:stretch;flex-direction:column;padding:26px 22px}.weddingConsult .button{width:100%}.infoTable,.infoTable tbody,.infoTable tr,.infoTable th,.infoTable td{display:block}.infoTable th{width:auto;padding-bottom:7px}.infoTable td{padding-top:10px}.formRow{grid-template-columns:1fr;gap:10px}.formRow>.formHint{grid-column:1;margin:0}.articleMain h2{font-size:24px}.articleMain p{font-size:16px}.pageCard img,.pageCardVisual{height:200px}}
@media(max-width:479px){.shopIndexCard{grid-template-columns:1fr}.shopIndexCard img,.shopIndexCard .photoPlaceholder{height:190px;min-height:0}.shopIndexBody h2{min-height:0}.pageSection{padding-block:66px}.faqItem h2{font-size:17px}.faqItem h2 button{padding-left:20px}.faqAnswer p{padding-left:49px}.faqReviewNote{padding:15px 16px}}
@media(max-width:479px){.shopMap iframe{height:320px}.shopMapConsent{min-height:320px}.shopMap+.centerLink .button{width:100%}}
@media(max-width:767px){.relationGrid{grid-template-columns:1fr}.relationGrid article{padding:28px 22px}}
@media(max-width:767px){.hearseGuide{grid-template-columns:42px 1fr;padding:22px 18px}.hearseGuide>.planItemIcon{width:42px;height:42px}.hearseGuide h3{font-size:18px}}
@media(max-width:767px){.jacsenGuide{grid-template-columns:1fr;gap:24px;padding:28px 22px}.jacsenGuide h3{font-size:22px}.jacsenGuide>a b{font-size:27px}}
@media(max-width:767px){.photoStaffVisual img{height:190px;object-position:60% bottom}.photoStaffVisual figcaption{position:relative;right:auto;bottom:auto;max-width:none;border-radius:0;box-shadow:none}.photoStaffVisual b{font-size:19px}}

/* Final responsive polish */
.photoStaffVisual figcaption{max-width:540px}
.addressPostal,.addressStreet{display:inline}
.addressPostal{margin-right:.45em;white-space:nowrap}
.faqItem h2 button{display:grid;grid-template-columns:24px minmax(0,1fr);gap:14px}
.faqItem h2 button:before{margin-right:0}
.faqItem h2 button>span{min-width:0}
.faqItem h2 button{align-items:center}
.faqItem h2 button:before{line-height:1}
.faqItem h2 button:after{top:50%;line-height:1;transform:translateY(-50%)}
.faqItem h2 button[aria-expanded="true"]:after{transform:translateY(-50%) rotate(45deg)}
.planTable>div>.planItemIcon{grid-column:1;align-self:center;justify-self:center}
.planTable>div>b{grid-column:2;align-self:center}
.planTable>div>span:not(.planItemIcon){grid-column:3;align-self:center}

@media(max-width:767px){
  .planTable>div{grid-template-columns:minmax(0,1fr) 32px;gap:7px 10px;align-items:center}
  .planTable>div .planItemIcon{grid-column:2;grid-row:1;justify-self:end}
  .planTable>div b{grid-column:1;grid-row:1;font-size:15px}
  .planTable>div span:not(.planItemIcon){grid-column:1/-1;grid-row:2;padding-left:0}
  .weddingPhotoPlan>.planTable>div{grid-template-columns:minmax(0,1fr) 32px}
  .formRow input,.formRow textarea,.formRow select{font-size:16px}
  .addressPostal,.addressStreet{display:block}
  .addressPostal{margin:0 0 3px}
  .privacyProse h2{padding-left:1.8em;text-indent:-1.8em;text-align:left;line-height:1.55}
  .searchBox{flex-direction:column;gap:12px}
  .searchBox input,.searchBox button{width:100%;min-height:54px}
  .notFound p{width:min(calc(100% - 24px),19em);margin:18px auto 30px;text-align:left;line-height:1.8}
}

@media(max-width:479px){
  .faqItem h2 button{grid-template-columns:22px minmax(0,1fr);gap:10px;padding-right:50px}
  .privacyProse h2{font-size:22px}
  .privacyContact{padding:22px 20px}
}

/* WordPress production integration */
.reviewNote{display:none!important}
.articleFeaturedImage{margin:0 0 34px}.articleFeaturedImage img{display:block;width:100%;max-height:620px;object-fit:cover;border-radius:8px}.articleContent>*:first-child{margin-top:0}.articleContent img{max-width:100%;height:auto}.articleBack{margin-top:50px;padding-top:30px;border-top:1px solid var(--line)}.articleMeta{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;margin-bottom:24px}.articleMeta span{padding:4px 12px;border-radius:999px;background:var(--teal);color:#fff;font-size:13px;font-weight:700}.articleMeta time{color:var(--muted);font-size:14px}.articleMeta b{color:var(--deep);font-size:14px}
.wpcf7-turnstile{display:flex;justify-content:center;margin:24px auto 18px}
.formConfirmation{max-width:820px;margin:0 auto 28px;padding:30px 32px;border:1px solid var(--line);border-radius:8px;background:#fff}.formConfirmation h2{margin:4px 0 8px;font-size:27px}.formConfirmation>p:not(.sectionEn){margin:0 0 24px;color:var(--muted)}.formConfirmation dl{margin:0;border-top:1px solid var(--line)}.formConfirmation dl>div{display:grid;grid-template-columns:190px 1fr;border-bottom:1px solid var(--line)}.formConfirmation dt,.formConfirmation dd{margin:0;padding:16px 18px}.formConfirmation dt{background:#f3f8f6;font-weight:700}.formConfirmation dd{white-space:pre-wrap;overflow-wrap:anywhere}
.formSubmit{position:relative;display:flex;justify-content:center;align-items:center;gap:14px;width:100%;max-width:820px;margin:32px auto 0;flex-wrap:wrap}.formSubmit>p{display:contents}.formSubmit .formBack{width:280px;min-width:280px;min-height:58px;padding:14px 24px;border:1px solid var(--teal);border-radius:4px;background:#fff;color:var(--deep);font:700 16px/1.4 var(--font-jp);cursor:pointer}.formSubmit .formBack:hover{background:#edf7f4}.formSubmit .wpcf7-spinner{position:absolute;top:17px;left:calc(50% + 154px);display:block;margin:0}.formSubmit.is-confirming .wpcf7-spinner{left:calc(50% + 301px)}
@media(max-width:767px){.formConfirmation{padding:24px 18px}.formConfirmation h2{font-size:24px}.formConfirmation dl>div{grid-template-columns:1fr}.formConfirmation dt{padding:12px 14px}.formConfirmation dd{padding:13px 14px}.formSubmit{flex-direction:column}.formSubmit .formBack,.formSubmit input[type="submit"]{width:100%;min-width:0}.formSubmit .wpcf7-spinner,.formSubmit.is-confirming .wpcf7-spinner{top:auto;right:12px;bottom:17px;left:auto}}
@media(max-width:767px){.formRow .formHint{grid-column:1;margin:0}}
