/*
*
*   /contact
*
*/
.ContactPageHeroSection{position:relative;padding:96px 0 72px;background-size:cover;background-position:center;background-repeat:no-repeat;overflow:hidden}
.ContactPageHeroSection::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,.75) 55%,rgba(255,255,255,.9) 100%);z-index:0}
.ContactPageHeroSection::after{content:"";position:absolute;right:-80px;bottom:-100px;width:300px;height:300px;background:radial-gradient(circle,rgba(4,158,164,.14) 0%,rgba(4,158,164,0) 72%);pointer-events:none;z-index:0}
.ContactPageHeroSection .ContentBlock{position:relative;z-index:1}
.ContactPageHero{position:relative;z-index:2;width:min(100%,920px);margin:0 auto;padding:44px 48px;background:rgba(255,255,255,.35);border:1px solid rgba(20,48,26,.10);border-radius:26px;box-shadow:0 22px 54px rgba(0,0,0,.08);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);text-align:center}
.ContactPageHero__label{margin:0 0 12px;font-size:.88rem;line-height:1.6;font-weight:500;letter-spacing:.18em;color:#17ac1e}
.ContactPageHero__title{margin:0 0 18px;font-size:clamp(2rem,4vw,3rem);line-height:1.3;color:#14301a}
.ContactPageHero__lead{margin:0 auto;max-width:760px;font-size:1rem;line-height:2;color:rgba(20,48,26,.86)}
.ContactPageHero__points{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;list-style:none;margin:28px 0 0;padding:0}
.ContactPageHero__points li{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 18px;border-radius:999px;background:rgba(120,189,84,.12);border:1px solid rgba(20,48,26,.08);font-size:.94rem;font-weight:500;line-height:1.6;color:#14301a}
.ContactPageIssueSection{padding:72px 0;background:#fff}
.ContactPageBenefitSection{padding:72px 0;background:linear-gradient(180deg,rgba(120,189,84,.06) 0%,rgba(255,255,255,1) 100%)}
.ContactPageAssuranceSection{padding:72px 0;background:#fff}
.ContactPageFormSection{padding:72px 0;background:linear-gradient(180deg,rgba(4,158,164,.05) 0%,rgba(255,255,255,1) 100%)}
.ContactPageTelSection{padding:72px 0;background:#fff}
.ContactPageFaqSection{padding:72px 0 96px;background:linear-gradient(180deg,rgba(120,189,84,.05) 0%,rgba(255,255,255,1) 100%)}
.ContactPageSectionHeader{margin:0}
.ContactPageSectionHeader--center{text-align:center}
.ContactPageSectionHeader__label{margin:0 0 8px;font-size:.82rem;line-height:1.6;font-weight:500;letter-spacing:.16em;color:#17ac1e}
.ContactPageSectionHeader__title{margin:0;font-size:clamp(1.6rem,2.8vw,2.3rem);line-height:1.4;color:#14301a}
.ContactPageSectionHeader__lead{margin:12px 0 0;font-size:.98rem;line-height:1.9;color:rgba(20,48,26,.78)}
.ContactPageIssueGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ContactPageIssueCard{padding:26px 24px;background:#fff;border:1px solid rgba(20,48,26,.10);border-radius:20px;box-shadow:0 14px 32px rgba(0,0,0,.05)}
.ContactPageIssueCard p{margin:0;font-size:.98rem;line-height:1.9;color:#14301a;font-weight:500}
.ContactPageBenefitGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ContactPageBenefitCard{padding:28px 24px;background:rgba(255,255,255,.92);border:1px solid rgba(20,48,26,.10);border-radius:20px;box-shadow:0 16px 36px rgba(0,0,0,.05)}
.ContactPageBenefitCard__title{margin:0 0 10px;font-size:1.08rem;line-height:1.6;color:#14301a}
.ContactPageBenefitCard__text{margin:0;font-size:.96rem;line-height:1.95;color:rgba(20,48,26,.82)}
.ContactPageAssurance{width:min(100%,980px);margin:0 auto;padding:42px 40px;background:linear-gradient(135deg,rgba(23,172,30,.10) 0%,rgba(120,189,84,.14) 100%);border:1px solid rgba(20,48,26,.10);border-radius:24px;box-shadow:0 20px 44px rgba(0,0,0,.06)}
.ContactPageAssurance__lead{margin:0 auto;max-width:760px;font-size:1rem;line-height:2;color:rgba(20,48,26,.84);text-align:center}
.ContactPageAssurance__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;list-style:none;margin:26px 0 0;padding:0}
.ContactPageAssurance__list li{display:flex;align-items:center;justify-content:center;min-height:54px;padding:12px 16px;background:rgba(255,255,255,.78);border:1px solid rgba(20,48,26,.08);border-radius:18px;font-size:.94rem;font-weight:500;line-height:1.7;color:#14301a;text-align:center}
.ContactPageFormWrap{padding:34px 30px;background:rgba(255,255,255,.94);border:1px solid rgba(20,48,26,.10);border-radius:24px;box-shadow:0 20px 48px rgba(0,0,0,.06)}
.ContactPageFormWrap .origin-cf{margin:0}
.ContactPageFormWrap .origin-cf-row{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;align-items:start;padding:20px 0;border-top:1px solid rgba(20,48,26,.08)}
.ContactPageFormWrap .origin-cf-row:first-child{border-top:none;padding-top:0}
.ContactPageFormWrap .origin-cf-label{display:flex;align-items:flex-start;gap:10px;font-size:.98rem;font-weight:500;line-height:1.8;color:#14301a}
.ContactPageFormWrap .origin-cf-required-badge{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:24px;padding:0 8px;border-radius:999px;background:#17ac1e;color:#fff;font-size:.74rem;font-weight:500;line-height:1}
.ContactPageFormWrap .origin-cf-control{width:100%;font-size:1rem;line-height:1.6;color:#14301a}
.ContactPageFormWrap input.origin-cf-control,.ContactPageFormWrap select.origin-cf-control,.ContactPageFormWrap textarea.origin-cf-control{display:block;width:100%;padding:14px 16px;background:#fff;border:1px solid rgba(20,48,26,.16);border-radius:14px;outline:none;box-shadow:none;transition:border-color .2s ease,box-shadow .2s ease}
.ContactPageFormWrap textarea.origin-cf-control{min-height:180px;resize:vertical}
.ContactPageFormWrap input.origin-cf-control:focus,.ContactPageFormWrap select.origin-cf-control:focus,.ContactPageFormWrap textarea.origin-cf-control:focus{border-color:rgba(23,172,30,.55);box-shadow:0 0 0 4px rgba(23,172,30,.10)}
.ContactPageFormWrap .origin-cf-control label{display:flex;align-items:flex-start;gap:10px;margin:0 0 10px;font-size:.96rem;line-height:1.8;color:#14301a}
.ContactPageFormWrap .origin-cf-control label:last-child{margin-bottom:0}
.ContactPageFormWrap .origin-cf-control input[type="radio"],.ContactPageFormWrap .origin-cf-control input[type="checkbox"]{margin-top:.35em}
.ContactPageFormWrap .origin-cf-description{margin:10px 0 0;font-size:.86rem;line-height:1.8;color:rgba(20,48,26,.68)}
.ContactPageFormWrap .origin-cf-error{margin:10px 0 0;font-size:.84rem;line-height:1.7;color:#c62828;font-weight:500}
.ContactPageFormWrap .origin-cf-row.is-error input.origin-cf-control,.ContactPageFormWrap .origin-cf-row.is-error select.origin-cf-control,.ContactPageFormWrap .origin-cf-row.is-error textarea.origin-cf-control{border-color:rgba(198,40,40,.55);box-shadow:0 0 0 4px rgba(198,40,40,.08)}
.ContactPageFormWrap .muryou_soudan_actions{margin-top:28px}
.ContactPageFormWrap .origin-cf-submit{display:inline-flex;align-items:center;justify-content:center;min-width:220px;min-height:56px;padding:14px 26px;border:0;border-radius:999px;background:#17ac1e;color:#fff;font-size:1rem;font-weight:500;line-height:1;cursor:pointer;box-shadow:0 14px 30px rgba(23,172,30,.18);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.ContactPageFormWrap .origin-cf-submit:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(23,172,30,.22);filter:brightness(1.02)}
.ContactPageFormWrap .origin-cf-submit:active{transform:translateY(0)}
.ContactPageTel{width:min(100%,760px);margin:0 auto;padding:34px 30px;background:linear-gradient(135deg,rgba(23,172,30,.10) 0%,rgba(120,189,84,.16) 100%);border:1px solid rgba(20,48,26,.10);border-radius:24px;box-shadow:0 20px 44px rgba(0,0,0,.06);text-align:center}
.ContactPageTel__lead{margin:0 0 16px;font-size:.98rem;line-height:1.9;color:rgba(20,48,26,.84)}
.ContactPageTel__button{display:inline-flex;align-items:center;justify-content:center;min-width:260px;min-height:60px;padding:14px 24px;border-radius:999px;background:#17ac1e;color:#fff;font-size:1.3rem;font-weight:500;line-height:1;text-decoration:none;box-shadow:0 16px 34px rgba(23,172,30,.18);transition:transform .2s ease,box-shadow .2s ease}
.ContactPageTel__button:hover{transform:translateY(-2px);box-shadow:0 20px 40px rgba(23,172,30,.22)}
.ContactPageFaqList{display:grid;grid-template-columns:1fr;gap:16px}
.ContactPageFaqItem{padding:24px 24px;background:#fff;border:1px solid rgba(20,48,26,.10);border-radius:20px;box-shadow:0 14px 32px rgba(0,0,0,.05)}
.ContactPageFaqItem__title{margin:0 0 10px;font-size:1.02rem;line-height:1.8;color:#14301a}
.ContactPageFaqItem__text{margin:0;font-size:.96rem;line-height:1.95;color:rgba(20,48,26,.82)}
@media (max-width: 1024px){
    .ContactPageIssueGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .ContactPageBenefitGrid{grid-template-columns:1fr}
    .ContactPageAssurance__list{grid-template-columns:1fr}
    .ContactPageFormWrap .origin-cf-row{grid-template-columns:1fr;gap:10px}
}
@media (max-width: 767px){
    .ContactPageHeroSection{padding:56px 0}
    .ContactPageIssueSection,.ContactPageBenefitSection,.ContactPageAssuranceSection,.ContactPageFormSection,.ContactPageTelSection{padding:56px 0}
    .ContactPageFaqSection{padding:56px 0 72px}
    .ContactPageHero{padding:30px 20px;border-radius:18px}
    .ContactPageHero__label{font-size:.8rem}
    .ContactPageHero__title{font-size:1.9rem;line-height:1.38}
    .ContactPageHero__lead{font-size:.95rem;line-height:1.9}
    .ContactPageHero__points{margin-top:20px;gap:10px}
    .ContactPageHero__points li{width:100%;min-height:44px;padding:10px 14px;font-size:.88rem}
    .ContactPageSectionHeader{margin-bottom:22px}
    .ContactPageSectionHeader__label{font-size:.76rem}
    .ContactPageSectionHeader__title{font-size:1.42rem;line-height:1.5}
    .ContactPageSectionHeader__lead{font-size:.92rem;line-height:1.8}
    .ContactPageIssueGrid{grid-template-columns:1fr;gap:12px}
    .ContactPageIssueCard{padding:20px 18px;border-radius:16px}
    .ContactPageIssueCard p{font-size:.92rem;line-height:1.8}
    .ContactPageBenefitCard{padding:22px 18px;border-radius:16px}
    .ContactPageBenefitCard__title{font-size:1rem;line-height:1.7}
    .ContactPageBenefitCard__text{font-size:.9rem;line-height:1.85}
    .ContactPageAssurance{padding:28px 18px;border-radius:18px}
    .ContactPageAssurance__lead{font-size:.93rem;line-height:1.9}
    .ContactPageAssurance__list{margin-top:18px;gap:10px}
    .ContactPageAssurance__list li{min-height:48px;padding:10px 14px;border-radius:14px;font-size:.88rem;line-height:1.65}
    .ContactPageFormWrap{padding:22px 16px;border-radius:18px}
    .ContactPageFormWrap .origin-cf-row{padding:16px 0}
    .ContactPageFormWrap .origin-cf-label{font-size:.92rem;line-height:1.7}
    .ContactPageFormWrap .origin-cf-required-badge{min-width:40px;height:22px;font-size:.7rem}
    .ContactPageFormWrap input.origin-cf-control,.ContactPageFormWrap select.origin-cf-control,.ContactPageFormWrap textarea.origin-cf-control{padding:13px 14px;border-radius:12px;font-size:.95rem}
    .ContactPageFormWrap textarea.origin-cf-control{min-height:150px}
    .ContactPageFormWrap .origin-cf-control label{font-size:.92rem;line-height:1.75}
    .ContactPageFormWrap .origin-cf-description{font-size:.8rem}
    .ContactPageFormWrap .origin-cf-submit{width:100%;min-width:0;min-height:54px;font-size:.96rem}
    .ContactPageTel{padding:24px 16px;border-radius:18px}
    .ContactPageTel__lead{font-size:.92rem;line-height:1.8}
    .ContactPageTel__button{width:100%;min-width:0;min-height:54px;font-size:1.08rem}
    .ContactPageFaqItem{padding:20px 18px;border-radius:16px}
    .ContactPageFaqItem__title{font-size:.96rem;line-height:1.75}
    .ContactPageFaqItem__text{font-size:.9rem;line-height:1.85}
}
@media (prefers-reduced-motion: reduce){
    .ContactPageFormWrap input.origin-cf-control,.ContactPageFormWrap select.origin-cf-control,.ContactPageFormWrap textarea.origin-cf-control,.ContactPageFormWrap .origin-cf-submit,.ContactPageTel__button{transition:none}
}
form[class]{max-width:inherit!important;}
/*
*
*   /contact(comfirm)
*
*/

/*
*
*   /contact(thanks)
*
*/
.ContactThanks{position:relative;padding:96px 0;background:linear-gradient(180deg,rgba(120,189,84,.10) 0%,rgba(255,255,255,1) 100%);overflow:hidden}
.ContactThanks::before{content:"";position:absolute;inset:auto auto 0 -120px;width:320px;height:320px;background:radial-gradient(circle,rgba(120,189,84,.18) 0%,rgba(120,189,84,0) 70%);pointer-events:none}
.ContactThanks::after{content:"";position:absolute;inset:40px -100px auto auto;width:280px;height:280px;background:radial-gradient(circle,rgba(4,158,164,.14) 0%,rgba(4,158,164,0) 72%);pointer-events:none}
.ContactThanks__inner{width:min(100%,1280px);margin:0 auto;padding:0 24px;position:relative;z-index:1}
.ContactThanks__card{width:min(100%,860px);margin:0 auto;padding:52px 48px;background:rgba(255,255,255,.94);border:1px solid rgba(20,48,26,.10);border-radius:24px;box-shadow:0 22px 56px rgba(0,0,0,.10);text-align:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.ContactThanks__iconWrap{display:flex;justify-content:center;margin:0 0 18px}
.ContactThanks__icon{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:999px;background:linear-gradient(135deg,#17ac1e 0%,#78bd54 100%);color:#fff;font-size:34px;font-weight:500;box-shadow:0 14px 30px rgba(23,172,30,.22)}
.ContactThanks__eyebrow{margin:0 0 10px;font-size:.88rem;line-height:1.6;font-weight:500;letter-spacing:.16em;color:#17ac1e}
.ContactThanks__title{margin:0 0 18px;font-size:2rem;line-height:1.4;color:#14301a}
.ContactThanks__lead{margin:0 auto 28px;max-width:700px;font-size:1rem;line-height:2;color:rgba(20,48,26,.88)}
.ContactThanks__info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 0 30px;text-align:left}
.ContactThanks__infoItem{padding:22px 22px;background:rgba(120,189,84,.08);border:1px solid rgba(20,48,26,.08);border-radius:18px}
.ContactThanks__infoLabel{margin:0 0 8px;font-size:.95rem;line-height:1.6;font-weight:500;color:#14301a}
.ContactThanks__infoText{margin:0;font-size:.94rem;line-height:1.9;color:rgba(20,48,26,.82)}
.ContactThanks__actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:0 0 18px}
.ContactThanks__button{display:inline-flex;align-items:center;justify-content:center;min-width:260px;min-height:56px;padding:14px 22px;border-radius:999px;font-size:.95rem;font-weight:500;line-height:1.4;text-align:center;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}
.ContactThanks__button:hover{transform:translateY(-2px)}
.ContactThanks__button--primary{background:#17ac1e;color:#fff;box-shadow:0 14px 28px rgba(23,172,30,.18)}
.ContactThanks__button--primary:hover{box-shadow:0 18px 34px rgba(23,172,30,.22)}
.ContactThanks__button--secondary{background:#fff;color:#14301a;border:1px solid rgba(20,48,26,.14);box-shadow:0 10px 24px rgba(0,0,0,.06)}
.ContactThanks__button--secondary:hover{background:rgba(120,189,84,.08)}
.ContactThanks__links{display:flex;justify-content:center}
.ContactThanks__textLink{display:inline-block;font-size:.92rem;line-height:1.8;font-weight:500;color:#049ea4;text-decoration:none}
.ContactThanks__textLink:hover{text-decoration:underline}
@media (max-width: 767px){
    .ContactThanks{padding:72px 0}
    .ContactThanks__inner{padding:0 16px}
    .ContactThanks__card{padding:34px 20px;border-radius:18px}
    .ContactThanks__icon{width:62px;height:62px;font-size:28px}
    .ContactThanks__eyebrow{font-size:.8rem}
    .ContactThanks__title{font-size:1.5rem;line-height:1.45}
    .ContactThanks__lead{font-size:.95rem;line-height:1.9;margin-bottom:22px}
    .ContactThanks__info{grid-template-columns:1fr;gap:12px;margin-bottom:22px}
    .ContactThanks__infoItem{padding:18px 16px;border-radius:14px}
    .ContactThanks__infoLabel{font-size:.9rem}
    .ContactThanks__infoText{font-size:.9rem;line-height:1.8}
    .ContactThanks__actions{gap:10px}
    .ContactThanks__button{width:100%;min-width:0;min-height:52px;padding:13px 18px;font-size:.92rem}
    .ContactThanks__textLink{font-size:.88rem}
}
@media (prefers-reduced-motion: reduce){
    .ContactThanks__button{transition:none}
}
.ContactThanks__phone{margin:0 0 28px;padding:24px 20px;background:linear-gradient(135deg,rgba(23,172,30,.10) 0%,rgba(120,189,84,.12) 100%);border:1px solid rgba(23,172,30,.14);border-radius:20px;text-align:center}
.ContactThanks__phoneLead{margin:0 0 10px;font-size:.95rem;line-height:1.8;font-weight:500;color:#14301a}
.ContactThanks__phoneButton{display:inline-flex;align-items:center;justify-content:center;min-width:240px;min-height:58px;padding:14px 24px;border-radius:999px;background:#17ac1e;color:#fff;font-size:1.2rem;font-weight:500;line-height:1;text-decoration:none;box-shadow:0 14px 30px rgba(23,172,30,.18);transition:transform .2s ease,box-shadow .2s ease}
.ContactThanks__phoneButton:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(23,172,30,.22)}
.ContactThanks__phoneNote{margin:10px 0 0;font-size:.85rem;line-height:1.7;color:rgba(20,48,26,.72)}
@media (max-width: 767px){
    .ContactThanks__phone{margin-bottom:22px;padding:18px 14px;border-radius:16px}
    .ContactThanks__phoneLead{font-size:.9rem;line-height:1.75}
    .ContactThanks__phoneButton{width:100%;min-width:0;min-height:54px;font-size:1.06rem}
    .ContactThanks__phoneNote{font-size:.8rem}
}
@media (prefers-reduced-motion: reduce){
    .ContactThanks__phoneButton{transition:none}
}