.contact-page{color:var(--color-text);background:#f8fafc}.contact-hero{isolation:isolate;min-height:430px;display:grid;position:relative;overflow:hidden}.contact-hero__media,.contact-hero__media img{width:100%;height:100%;position:absolute;inset:0}.contact-hero__media{overflow:hidden}.contact-hero__media img{object-fit:cover;object-position:center 54%}.contact-hero__media:after{pointer-events:none;content:"";background:linear-gradient(#f8fafc00,#f8fafc 100%);height:150px;position:absolute;bottom:0;left:0;right:0}.contact-hero__veil{background:linear-gradient(90deg,#ffffff0f,#ffffffb8 50%,#ffffff0f);position:absolute;inset:0}.contact-hero__content{z-index:2;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:430px;display:flex;position:relative;transform:translateY(-20px)}.contact-hero h1{color:var(--color-navy);letter-spacing:.14em;text-shadow:0 2px 12px #ffffffeb;margin:0;font-family:Noto Serif JP,serif;font-size:clamp(42px,5vw,62px);font-weight:600;line-height:1.3}.contact-hero__content>span{width:210px;height:16px;margin:12px 0;position:relative}.contact-hero__content>span:before{content:"";background:var(--color-gold);height:1px;position:absolute;top:50%;left:0;right:0}.contact-hero__content>span:after{content:"";border:2px solid var(--color-gold);background:#fff;width:9px;height:9px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.contact-hero__content p{text-shadow:0 1px 8px #fff;margin:0;font-size:18px;font-weight:600;line-height:1.65}.contact-content{z-index:3;margin-top:-72px;padding-block:0 80px;position:relative}.contact-form-card{border:1px solid var(--color-border);background:#fff;border-radius:10px;padding:36px 42px}.contact-form{gap:var(--content-space);display:grid}.contact-form__row{align-items:center;gap:var(--content-space);grid-template-columns:250px minmax(0,1fr);display:grid}.contact-form__row label{font-size:16px;font-weight:700;line-height:1.65}.contact-form__row label span{color:#fff;background:#ef6262;border-radius:2px;margin-left:12px;padding:1px 6px;font-size:12px;line-height:1.65;display:inline-block}.contact-form :where(input[type=text],input[type=email],input[type=tel],select,textarea){width:100%;min-height:54px;color:var(--color-text);font:inherit;background:#fff;border:1px solid #cbd3dc;border-radius:5px;padding:12px 16px;font-size:16px;line-height:1.65;transition:border-color .2s,box-shadow .2s}.contact-form :where(input,select,textarea):focus{border-color:var(--color-blue);outline:0;box-shadow:0 0 0 3px #0b477d29}.contact-form :where(input,textarea)::placeholder{color:#8a949f;opacity:1}.contact-form select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10'%3E%3Cpath d='m2 2 6 6 6-6' fill='none' stroke='%231d2a3a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;background-size:16px 10px;padding-right:48px}.contact-form textarea{resize:vertical;min-height:170px}.contact-form__row--message{align-items:start}.contact-form__row--message label{padding-top:12px}.contact-honeypot{clip-path:inset(50%)!important;opacity:0!important;pointer-events:none!important;white-space:nowrap!important;width:1px!important;height:1px!important;position:absolute!important;overflow:hidden!important}.contact-field{min-width:0}.contact-error-summary{color:#9b1c1c;background:#fff4f4;border:1px solid #dc6b6b;border-radius:6px;padding:16px 20px}.contact-error-summary p{margin:0;font-weight:700}.contact-error-summary ul{margin:6px 0 0;padding-left:1.5em;line-height:1.65}.contact-field-error{color:#b42318;margin:6px 0 0;font-size:14px;font-weight:700;line-height:1.65}.contact-form [aria-invalid=true]{border-color:#b42318}.contact-confirm-list{margin:0;display:grid}.contact-confirm-list>div{gap:var(--content-space);border-bottom:1px solid var(--color-border);grid-template-columns:250px minmax(0,1fr);padding:20px 0;display:grid}.contact-confirm-list>div:first-child{padding-top:0}.contact-confirm-list dt{font-weight:700;line-height:1.65}.contact-confirm-list dd{overflow-wrap:anywhere;white-space:pre-wrap;margin:0;line-height:1.65}.contact-form-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:min(100%,700px);margin:4px auto 0;display:grid}.contact-form-actions .contact-submit{width:100%;margin:0}.contact-submit--secondary{color:#51216b;background:#fff;border:1px solid #51216b}.contact-complete{text-align:center;padding-block:20px}.contact-complete h2{color:var(--color-navy);margin:0 0 12px;font-family:Noto Serif JP,serif;font-size:28px;line-height:1.65}.contact-complete p{margin:0 0 20px;line-height:1.65}.contact-system-error{color:#9b1c1c;background:#fff4f4;border:1px solid #dc6b6b;border-radius:6px;margin:0 0 20px;padding:16px 20px;line-height:1.65}.contact-submit:disabled{cursor:wait;opacity:.65;transform:none}.contact-consent{padding:var(--content-space);text-align:center;border:1px solid var(--color-border);background:#fbfcfd;border-radius:6px;margin-top:6px}.contact-consent p{margin:0 0 12px;font-size:16px;line-height:1.65}.privacy-modal-trigger{color:#652e83;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline 1px}.external-link-icon{vertical-align:-.05em;background:currentColor;width:13px;height:13px;margin-left:3px;display:inline-block;mask:url(/images/common/icon/common-link.svg) 50%/contain no-repeat}.contact-consent label{cursor:pointer;align-items:center;gap:12px;font-size:16px;line-height:1.65;display:inline-flex}.contact-consent input{accent-color:#652e83;width:24px;height:24px;margin:0}.required-badge{color:#fff;background:#ef6262;border-radius:2px;margin-left:4px;padding:1px 6px;font-size:12px;font-weight:700;line-height:1.65;display:inline-block}.contact-submit{color:#fff;width:min(100%,600px);min-height:62px;font:inherit;cursor:pointer;background:linear-gradient(90deg,#51216b,#75358e);border:0;border-radius:5px;justify-content:center;align-items:center;gap:10px;margin:4px auto 0;font-size:18px;font-weight:700;transition:transform .2s;display:flex}.contact-submit__label{line-height:1.65;transition:transform .2s}.contact-submit__arrow{font-size:28px;line-height:1;transition:transform .2s;transform:translateY(-3px)}.contact-submit:hover,.contact-submit:focus-visible{transform:translateY(-2px)}.contact-submit:hover .contact-submit__label,.contact-submit:focus-visible .contact-submit__label{transform:scale(1.05)}.contact-submit:hover .contact-submit__arrow,.contact-submit:focus-visible .contact-submit__arrow{transform:translate(3px,-3px)}.contact-direct{text-align:center;padding:40px 0 0}.contact-direct h2{color:#302257;letter-spacing:.05em;margin:0 0 12px;font-family:Noto Serif JP,serif;font-size:28px;font-weight:700;line-height:1.65}.contact-direct__methods{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px;margin:20px auto 0;display:grid}.contact-method{justify-content:center;align-items:center;gap:var(--content-space);min-width:0;color:var(--color-text);text-align:left;padding:4px 28px;display:flex}.contact-method+.contact-method{border-left:1px solid #bea9c8}.contact-method__icon{border:2px solid #1f355e;border-radius:50%;flex:0 0 64px;place-items:center;width:64px;height:64px;display:grid}.contact-method__phone-icon{background:#1f355e;width:34px;height:34px;display:block;mask:url(/images/common/common-phone.svg) 50%/contain no-repeat}.contact-method__icon img{width:34px;height:34px;display:block}.contact-method small{margin-bottom:2px;font-size:14px;font-weight:700;line-height:1.65;display:block}.contact-method strong{white-space:nowrap;font-family:Noto Sans JP,sans-serif;font-size:clamp(26px,3vw,36px);line-height:1.2;display:block}.privacy-modal{width:min(92vw,900px);max-height:min(88vh,900px);color:var(--color-text);background:#fff;border:0;border-radius:10px;padding:0;box-shadow:0 20px 70px #02132559}.privacy-modal::backdrop{backdrop-filter:blur(2px);background:#021325a8}.privacy-modal__panel{grid-template-rows:auto minmax(0,1fr) auto;max-height:min(88vh,900px);display:grid}.privacy-modal header{color:#fff;background:var(--color-navy);justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;display:flex}.privacy-modal h2{margin:0;font-family:Noto Serif JP,serif;font-size:24px;line-height:1.4}.privacy-modal-close{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff9;border-radius:50%;place-items:center;width:40px;height:40px;padding:0;font-size:30px;line-height:1;display:grid}.privacy-modal-close span{transform:translateY(-2px)}.privacy-modal__body{white-space:pre-wrap;padding:24px 28px;font-size:16px;line-height:1.65;overflow-y:auto}.privacy-modal__line{min-height:1.65em;display:block}.privacy-modal__body-line{padding-left:1em}.privacy-modal__section-heading{margin-top:12px;font-size:18px;font-weight:700}.privacy-modal__contact-label{margin-top:6px;font-weight:700}.privacy-modal__contact-closing{margin-top:6px}.privacy-modal footer{text-align:center;border-top:1px solid var(--color-border);padding:16px 20px}.privacy-modal-close-button{color:#fff;min-width:180px;min-height:48px;font:inherit;background:var(--color-navy);cursor:pointer;border:0;border-radius:4px;font-weight:700}@media (width<=767px){.contact-hero,.contact-hero__content{min-height:390px}.contact-hero__media img{object-position:center}.contact-hero h1{letter-spacing:.08em;font-size:38px}.contact-hero__content p{padding-inline:12px;font-size:16px}.contact-hero__media:after{height:110px}.contact-content{margin-top:-48px;padding-block:0 60px}.contact-form-card{padding:20px}.contact-form__row{grid-template-columns:1fr;gap:6px}.contact-form__row label span{margin-left:8px}.contact-form__row--message label{padding-top:0}.contact-confirm-list>div{grid-template-columns:1fr;gap:6px}.contact-form-actions{grid-template-columns:1fr}.contact-consent{text-align:left;padding:16px 12px}.contact-consent label{align-items:flex-start}.contact-consent input{flex:0 0 24px;margin-top:1px}.contact-direct h2{font-size:22px}.contact-direct__methods{grid-template-columns:1fr}.contact-method{padding:16px 0}.contact-method+.contact-method{border-top:1px solid #bea9c8;border-left:0}.contact-method strong{font-size:28px}.privacy-modal{width:calc(100vw - 24px);max-height:calc(100vh - 24px)}.privacy-modal__panel{max-height:calc(100vh - 24px)}.privacy-modal header{padding:14px 16px}.privacy-modal h2{font-size:20px}.privacy-modal__body{padding:18px 16px}}@media (prefers-reduced-motion:reduce){.contact-submit,.contact-submit__label,.contact-submit__arrow{transition:none}.contact-submit:hover,.contact-submit:focus-visible,.contact-submit:hover .contact-submit__label,.contact-submit:focus-visible .contact-submit__label{transform:none}.contact-submit:hover .contact-submit__arrow,.contact-submit:focus-visible .contact-submit__arrow{transform:translateY(-3px)}}
