.home-hero{position:relative;display:grid;min-height:clamp(520px,76vh,760px);background:linear-gradient(90deg,rgba(13,13,12,.9) 0%,rgba(20,20,18,.72) 44%,rgba(20,20,18,.4) 70%,rgba(20,20,18,.72) 100%) , linear-gradient(180deg,rgba(20,20,18,.38),rgba(20,20,18,.86)) , var(--hero-image,linear-gradient(135deg,#3d342c,#151412)) , linear-gradient(135deg,#2a2520,#10100f 72%);background-position:center;background-size:cover;color:var(--color-white);overflow:hidden}.home-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 22%,rgba(183,138,70,.28),transparent 34%) , linear-gradient(90deg,rgba(255,255,255,.07) 0 1px,transparent 1px 100%) , linear-gradient(0deg,rgba(255,255,255,.055) 0 1px,transparent 1px 100%);background-size:auto , 88px 88px , 88px 88px;mix-blend-mode:screen;opacity:.32;pointer-events:none}.home-hero__body{display:grid;align-items:center;position:relative;z-index:1;width:min(100% - 32px,var(--container));margin-inline:auto;padding-block:clamp(72px,10vw,118px)}.home-hero__content{display:grid;gap:clamp(18px,3vw,28px);max-width:760px}.home-hero h1{max-width:760px;margin:0;font-size:clamp(3rem,8vw,6.6rem);line-height:.98;letter-spacing:0;text-shadow:0 16px 48px rgba(0,0,0,.45)}.home-hero h1 .no-break{white-space:nowrap}.home-hero .lead{max-width:620px;margin:0;color:rgba(255,255,255,.86);font-size:clamp(1.05rem,2vw,1.3rem);text-shadow:0 10px 28px rgba(0,0,0,.36)}.home-hero .button-row{margin-top:4px}.stats-bar{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--color-charcoal);border-top:1px solid rgba(255,255,255,.08)}.stats-bar div{padding:clamp(18px,3vw,28px);background:var(--color-charcoal);color:var(--color-white)}.stats-bar strong,.stats-bar span{display:block}.stats-bar strong{color:var(--color-gold);font-size:clamp(1.35rem,3vw,2.1rem);line-height:1.2}.stats-bar span{color:rgba(255,255,255,.72);font-size:.86rem;font-weight:800}.final-cta{width:min(100% - 32px,var(--container));margin:var(--space) auto 0;padding:clamp(32px,6vw,72px);background:linear-gradient(135deg,rgba(183,138,70,.22),rgba(255,255,255,0) 42%) , var(--color-charcoal);color:var(--color-white);border-radius:var(--radius);box-shadow:var(--shadow-soft)}.breadcrumb{margin-bottom:24px;color:var(--color-muted);font-size:.9rem}.term-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.term-filter a{padding:8px 12px;border:1px solid var(--color-line);border-radius:999px;background:var(--color-white);text-decoration:none;font-weight:800}.spec-list dl{display:grid;gap:1px;background:var(--color-line)}.spec-list dl div{display:grid;grid-template-columns:120px 1fr;background:var(--color-white)}.spec-list dt,.spec-list dd{margin:0;padding:12px}.spec-list dt{background:var(--color-paper);font-weight:800}.video-placeholder{margin-top:32px;padding:24px;background:var(--color-paper);border:1px solid var(--color-line)}.reservation-setup-message,.company-section,.company-editor-content{width:min(100% - 32px,var(--container));margin-inline:auto}.reservation-setup-message h3{margin-top:0}.company-page>.breadcrumb{width:min(100% - 32px,var(--container));margin:24px auto 0}.company-hero{width:min(100% - 32px,var(--container));margin-inline:auto;padding:clamp(40px,8vw,88px) 0 24px}.company-hero h1{max-width:860px;margin:0;font-size:clamp(2.1rem,7vw,4.4rem);line-height:1.15}.company-hero .lead{max-width:780px;color:var(--color-muted)}.company-section,.company-editor-content{padding-block:clamp(32px,6vw,72px)}.company-section--paper{width:100%;max-width:none;padding-inline: max(16px, calc((100vw - var(--container)) / 2));background:var(--color-paper)}.company-table{display:grid;gap:1px;background:var(--color-line);border:1px solid var(--color-line)}.company-table div{display:grid;background:var(--color-white)}.company-table dt,.company-table dd{margin:0;padding:14px}.company-table dt{background:var(--color-paper-2);font-weight:900}.service-page>.breadcrumb{width:min(100% - 32px,var(--container));margin:24px auto 0}.service-hero{display:grid;gap:24px;width:min(100% - 32px,var(--container));margin:0 auto;padding:clamp(40px,8vw,96px) 0 clamp(24px,5vw,56px);border-bottom:1px solid var(--color-line)}.service-hero__body h1{max-width:860px;margin:0;font-size:clamp(2rem,6vw,4rem);line-height:1.18}.service-hero__body .lead{max-width:760px;color:var(--color-muted)}.service-hero__panel{display:flex;flex-wrap:wrap;gap:8px;align-content:start;padding:18px;background:var(--color-paper);border:1px solid var(--color-line);border-radius:var(--radius);box-shadow:var(--shadow-card)}.service-hero__panel span{display:inline-flex;padding:6px 10px;border:1px solid var(--color-line);border-radius:999px;background:var(--color-white);font-size:.9rem;font-weight:700}.service-section{padding-block:clamp(36px,7vw,80px)}.service-section--paper{width:100%;max-width:none;padding-inline: max(16px, calc((100vw - var(--container)) / 2));background:var(--color-paper)}.service-list-grid,.feature-grid{display:grid;gap:14px}.service-list-card,.feature-card,.service-empty-cta{padding:20px;border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-white);box-shadow:var(--shadow-card)}.service-list-card p,.feature-card p,.service-empty-cta p{margin-bottom:0}.feature-card h3,.service-empty-cta h3{margin-top:0;font-size:1.18rem;line-height:1.45}.service-empty-cta{background:var(--color-paper)}.service-final-cta{margin-top:clamp(24px,5vw,56px)}.service-editor-content{max-width:920px;padding:clamp(28px,5vw,56px);background:var(--color-white);border:1px solid var(--color-line);border-radius:var(--radius);box-shadow:var(--shadow-card)}.service-editor-content>*:first-child{margin-top:0}.service-editor-content h2,.service-editor-content h3{line-height:1.32}.service-editor-content h2{margin-top:clamp(28px,5vw,48px);padding-top:clamp(20px,4vw,36px);border-top:1px solid var(--color-line);font-size:clamp(1.55rem,4vw,2.25rem)}.service-editor-content h2:first-child{margin-top:0;padding-top:0;border-top:0}.service-editor-content h3{margin-top:1.8em;font-size:clamp(1.2rem,3vw,1.5rem)}.service-editor-content p{color:var(--color-muted)}.service-editor-content ul,.service-editor-content ol{padding-left:1.2em}.service-editor-content li+li{margin-top:.35em}.contact-page>.breadcrumb{width:min(100% - 32px,var(--container));margin:24px auto 0}.contact-hero,.contact-topic-list,.contact-panel,.notice-box,.contact-flow,.thanks-panel{width:min(100% - 32px,var(--container));margin-inline:auto}.contact-hero{padding:clamp(40px,8vw,88px) 0 24px}.contact-hero h1,.thanks-panel h1{max-width:860px;margin:0;font-size:clamp(2.1rem,7vw,4.4rem);line-height:1.15}.contact-hero .lead,.thanks-panel .lead{max-width:780px;color:var(--color-muted)}.contact-topic-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(28px,5vw,56px)}.contact-topic-list span{display:inline-flex;padding:8px 12px;border:1px solid var(--color-line);border-radius:999px;background:var(--color-paper);font-weight:700}.contact-panel,.notice-box,.contact-flow{margin-bottom:clamp(28px,6vw,72px)}.contact-form-shell,.reservation-embed-shell,.notice-box{padding:clamp(20px,5vw,40px);border:1px solid var(--color-line);border-radius:6px;background:var(--color-paper);box-shadow:var(--shadow-card)}.contact-form-shell form{display:grid;gap:18px}.contact-form-shell p{margin:0}.contact-form-shell label{display:grid;gap:7px;font-weight:850}.contact-form-shell .wpcf7-form-control-wrap{display:block}.contact-form-shell input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.contact-form-shell select,
.contact-form-shell textarea {width:100%;min-height:52px;padding:12px 14px;border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-white);color:var(--color-ink);font:inherit;box-shadow:0 1px 0 rgba(0,0,0,.02);transition:border-color .18s ease , box-shadow .18s ease}.contact-form-shell input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):focus,
.contact-form-shell select:focus,
.contact-form-shell textarea:focus {border-color:var(--color-gold);outline:0;box-shadow:0 0 0 3px rgba(183,138,70,.18)}.contact-form-shell textarea{min-height:180px}.contact-form-shell input[type="submit"],.contact-form-shell button[type="submit"]{width:100%;min-height:54px;padding:13px 24px;border:0;border-radius:999px;background:linear-gradient(135deg,var(--color-gold),var(--color-orange));color:var(--color-white);font:inherit;font-weight:800;cursor:pointer;box-shadow:0 10px 26px rgba(183,138,70,.26)}.contact-form-shell .wpcf7-not-valid-tip{margin-top:5px;color:#a33a21;font-size:.9rem;font-weight:700}.contact-form-shell .wpcf7-response-output{margin:8px 0 0;padding:12px 14px;border-radius:var(--radius);background:var(--color-white)}.contact-form-shell .required,.contact-form-shell .optional{display:inline-flex;align-items:center;gap:8px}.contact-form-shell .required::after,.contact-form-shell .optional::after{display:inline-flex;padding:2px 7px;border-radius:999px;font-size:.72rem;line-height:1.5}.contact-form-shell .required::after{content:"必須";background:rgba(200,111,55,.14);color:#9d431f}.contact-form-shell .optional::after{content:"任意";background:rgba(36,33,29,.08);color:var(--color-muted)}.notice-box h2{margin-top:0}.notice-box ul{margin-bottom:0;padding-left:1.2em}.flow-steps{display:grid;gap:12px;margin:0;padding:0;list-style:none}.flow-steps li{padding:18px;border:1px solid var(--color-line);border-radius:6px;background:var(--color-white)}.flow-steps strong,.flow-steps span{display:block}.thanks-page{display:grid;min-height:62vh;align-items:center;padding-block:var(--space)}.thanks-panel{padding:clamp(28px,6vw,72px);border:1px solid var(--color-line);border-radius:6px;background:var(--color-paper)}@media (max-width:520px){.home-hero{min-height:clamp(440px,72vh,620px)}.home-hero__body{width:min(100% - 28px,var(--container));padding-block:54px}.home-hero h1{font-size:clamp(2.75rem,16vw,4.35rem);line-height:1.02}.home-hero h1 .no-break{white-space:normal}.home-hero .button-row{display:grid;gap:10px}}@media (min-width:720px){.stats-bar{grid-template-columns:repeat(3,1fr)}.service-hero{grid-template-columns:minmax(0,1fr) 320px;align-items:end}.service-list-grid,.feature-grid{grid-template-columns:repeat(2,1fr)}.flow-steps{grid-template-columns:repeat(3,1fr)}.company-table div{grid-template-columns:180px 1fr}}@media (min-width:980px){.stats-bar{grid-template-columns:repeat(6,1fr)}}