.form_box .laubel-public-form{--green:#173f41;--olive:#7b8510;--pink:#df6673;max-width:980px;margin:0 auto 80px;color:#202a27;font-family:"Noto Sans JP","Yu Gothic",sans-serif}.laubel-public-form *{box-sizing:border-box}.laubel-public-form .lf-lead{text-align:center;margin:0 0 34px;font-size:16px}.laubel-public-form .lf-form{display:grid;gap:30px}.laubel-public-form fieldset{min-width:0;margin:0;padding:0;border:0}.laubel-public-form .lf-choice{display:grid;grid-template-columns:1fr 1fr;gap:18px}.laubel-public-form .lf-choice legend{grid-column:1/-1;margin-bottom:12px;text-align:center;font-weight:700}.laubel-public-form .lf-choice label{cursor:pointer}.laubel-public-form .lf-choice input{position:absolute!important;width:1px!important;height:1px!important;opacity:0}.laubel-public-form .lf-choice label>span{display:flex;align-items:center;justify-content:center;min-height:82px;padding:16px;border:2px solid #d7ded9;border-radius:10px;background:#fff;font-size:18px;font-weight:700;transition:.2s}.laubel-public-form .lf-choice input:checked+span{border-color:var(--olive);background:#fdfcf1;box-shadow:0 0 0 3px rgba(123,133,16,.1)}.laubel-public-form .lf-section{padding:30px 0;border-top:1px solid #e3e8e5}.laubel-public-form .lf-heading{display:flex;align-items:center;gap:14px;margin-bottom:22px}.laubel-public-form .lf-heading>span{display:grid;place-items:center;width:42px;height:42px;flex:0 0 auto;border-radius:50%;color:#fff;background:var(--green);font:14px Georgia,serif}.laubel-public-form .lf-heading h2{margin:0!important;padding:0!important;border:0!important;color:var(--green);font-size:21px!important;line-height:1.4}.laubel-public-form .lf-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.laubel-public-form .lf-field{display:block;min-width:0}.laubel-public-form .lf-field.full,.laubel-public-form .lf-source{grid-column:1/-1}.laubel-public-form .lf-label{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:28px;margin-bottom:7px;font-size:14px;font-weight:700}.laubel-public-form .lf-member .lf-label{font-size:12px;line-height:1.45}.laubel-public-form .lf-badge{display:inline-flex;padding:2px 8px;border-radius:3px;color:#6d766f;background:#edf0ee;font-size:10px}.laubel-public-form .lf-badge.required,.laubel-public-form .required{color:#fff!important;background:var(--pink)!important}.laubel-public-form input[type=text],.laubel-public-form input[type=email],.laubel-public-form input[type=tel],.laubel-public-form textarea{width:100%!important;min-height:56px!important;margin:0!important;padding:13px 16px!important;border:1px solid #c8d2cc!important;border-radius:6px!important;background:#fff!important;color:#202a27!important;font:16px/1.6 inherit!important;box-shadow:none!important}.laubel-public-form textarea{min-height:120px!important;resize:vertical}.laubel-public-form input:focus,.laubel-public-form textarea:focus{outline:0!important;border-color:var(--green)!important;box-shadow:0 0 0 3px rgba(23,63,65,.1)!important}.laubel-public-form .lf-source-items{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.laubel-public-form .lf-source-items label{margin:0!important}.laubel-public-form .lf-source-items input{width:auto!important;min-height:0!important;margin-right:5px!important}.laubel-public-form .lf-source-items label{display:flex;align-items:center;justify-content:center;min-height:48px;padding:9px;border:1px solid #cfd9d3;border-radius:7px;background:#fff;font-size:13px;font-weight:700}.laubel-public-form .lf-privacy{text-align:center}.laubel-public-form .lf-privacy input{width:auto!important;min-height:0!important;margin-right:8px!important}.laubel-public-form .lf-submit{text-align:center}.laubel-public-form .lf-submit input,.laubel-public-form .lf-submit button{width:min(560px,100%)!important;min-height:66px!important;padding:14px!important;border:0!important;border-radius:7px!important;color:#fff!important;background:var(--green)!important;font-size:18px!important;font-weight:700!important;cursor:pointer}.laubel-public-form [hidden]{display:none!important}.laubel-public-form .error{display:block;margin-top:6px;color:#c84660;font-size:13px;font-weight:700}.laubel-public-form #ui-datepicker-div{font-size:14px}.page-id-26 .form_btn,.page-id-159 .form_btn{margin:0!important}
@media(max-width:700px){.form_box .laubel-public-form{margin-bottom:45px}.laubel-public-form .lf-lead{font-size:14px}.laubel-public-form .lf-choice{gap:10px}.laubel-public-form .lf-choice label>span{min-height:66px;padding:12px 8px;font-size:15px}.laubel-public-form .lf-section{padding:24px 0}.laubel-public-form .lf-grid{grid-template-columns:1fr;gap:18px}.laubel-public-form .lf-field.full,.laubel-public-form .lf-source{grid-column:1}.laubel-public-form .lf-source-items{grid-template-columns:repeat(2,1fr)}.laubel-public-form .lf-heading h2{font-size:19px!important}.laubel-public-form input[type=text],.laubel-public-form input[type=email],.laubel-public-form input[type=tel]{min-height:52px!important;font-size:16px!important}.laubel-public-form .lf-privacy{text-align:left;font-size:13px}}
.laubel-public-form .lf-choice-items{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:18px}.laubel-public-form .lf-choice-items label{display:flex;align-items:center;justify-content:center;min-height:82px;padding:16px;border:2px solid #d7ded9;border-radius:10px;background:#fff;font-size:18px;font-weight:700}.laubel-public-form .lf-choice-items label:has(input:checked){border-color:var(--olive);background:#fdfcf1;box-shadow:0 0 0 3px rgba(123,133,16,.1)}.laubel-public-form .lf-choice-items input{position:static!important;width:auto!important;height:auto!important;margin-right:8px!important;opacity:1!important}
@media(max-width:700px){.laubel-public-form .lf-choice-items{gap:10px}.laubel-public-form .lf-choice-items label{min-height:66px;padding:12px 8px;font-size:15px}}
.laubel-public-page{background:#fff}.laubel-public-page .lf-page-hero{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:78px 24px;text-align:center;background:linear-gradient(120deg,#faf7e9,#f3f8f6)}.laubel-public-page .lf-page-hero p{margin:0 0 5px;color:#76810e;font:700 13px Georgia,serif;letter-spacing:.32em}.laubel-public-page .lf-page-hero h1{margin:0;color:#173f41;font-family:"Yu Mincho",YuMincho,serif;font-size:clamp(38px,5vw,58px);font-weight:600;letter-spacing:.08em}.laubel-public-page .lf-progress{display:grid;grid-template-columns:1fr 1fr;width:min(1180px,calc(100% - 48px));margin:52px auto 58px;background:#eef1ef}.laubel-public-page .lf-progress>*{padding:18px;text-align:center;font-size:16px}.laubel-public-page .lf-progress strong{color:#fff;background:#1d4b4d}.laubel-public-page .lf-progress span{color:#8a928e}.laubel-public-page .lf-shell{width:min(980px,calc(100% - 40px));margin:0 auto 80px}.laubel-public-page .lf-intro{text-align:center;margin-bottom:34px}.laubel-public-page .lf-intro h2{margin:0!important;padding:0!important;border:0!important;color:#173f41;font-family:"Yu Mincho",YuMincho,serif;font-size:31px!important;line-height:1.5}.laubel-public-page .lf-intro p{margin:10px 0 0;color:#637068;font-size:13px}.laubel-public-page .lf-intro p span{display:inline-block;padding:2px 8px;border-radius:3px;color:#fff;background:#df6673;font-size:10px;font-weight:700}.laubel-public-page .form_box{width:auto!important;max-width:none!important;margin:0!important;padding:0!important}.laubel-public-page .form_box .laubel-public-form{margin-bottom:0}.laubel-public-page .laubel-public-form>.lf-lead{display:none}.laubel-public-page .lf-phone{padding:52px 20px;color:#fff;background:#1d4b4d;text-align:center}.laubel-public-page .lf-phone p{margin:0 0 8px;font-size:16px}.laubel-public-page .lf-phone a{display:block;color:#fff;font:700 42px/1.2 Georgia,serif;text-decoration:none}.laubel-public-page .lf-phone small{display:block;margin-top:8px}.laubel-public-page .lf-choice-items label{justify-content:flex-start;padding-left:28px}.laubel-public-page .lf-choice-items label:before{content:"";display:grid;place-items:center;width:38px;height:38px;margin-right:14px;border-radius:50%;background:#1d4b4d;color:#fff}.laubel-public-page .lf-choice-items label:first-child:before{content:"✉"}.laubel-public-page .lf-choice-items label:last-child:before{content:"〒"}.laubel-public-page .lf-submit input{box-shadow:0 12px 25px rgba(29,75,77,.2)!important}
@media(max-width:700px){.laubel-public-page .lf-page-hero{width:100%;padding:54px 14px}.laubel-public-page .lf-page-hero h1{font-size:38px}.laubel-public-page .lf-progress{width:100%;margin:28px 0 38px}.laubel-public-page .lf-progress>*{padding:14px 8px;font-size:14px}.laubel-public-page .lf-shell{width:calc(100% - 28px);margin-bottom:45px}.laubel-public-page .lf-intro h2{font-size:24px!important}.laubel-public-page .lf-choice-items{grid-template-columns:1fr}.laubel-public-page .lf-phone a{font-size:34px}}
.laubel-public-page .lf-choice-items label>span{display:inline!important;min-height:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;font-size:inherit!important}.laubel-public-page .lf-choice-items label:has(input[value="メール"]):before{content:"✉"}.laubel-public-page .lf-choice-items label:has(input[value="郵送"]):before{content:"〒"}
.laubel-public-page{overflow-x:hidden}.laubel-public-page .lf-choice-items>.horizontal-item{display:block!important;margin:0!important}.laubel-public-page .lf-choice-items>.horizontal-item:first-child label:before{content:"✉"}.laubel-public-page .lf-choice-items>.horizontal-item:last-child label:before{content:"〒"}.laubel-public-page .lf-intro h2{overflow-wrap:anywhere}.laubel-public-page .laubel-public-form,.laubel-public-page .lf-form,.laubel-public-page .lf-grid,.laubel-public-page .lf-source-items{min-width:0;max-width:100%}
@media(max-width:700px){.laubel-public-page .lf-source-items{grid-template-columns:1fr}.laubel-public-page .lf-intro h2{font-size:21px!important;letter-spacing:0!important;white-space:normal!important;word-break:break-all!important}.laubel-public-page .lf-heading h2{font-size:18px!important}.laubel-public-page .lf-label{overflow-wrap:anywhere}}

/* WordPress/MW WP Form parity fixes. These rules target the generated DOM. */
.laubel-public-page .lf-phone{display:none!important}
.laubel-public-page .lf-choice-items>.mwform-radio-field,
.laubel-public-page .lf-source-items>.mwform-radio-field{display:block!important;margin:0!important;min-width:0}
.laubel-public-page .lf-choice-items>.mwform-radio-field>label,
.laubel-public-page .lf-source-items>.mwform-radio-field>label{box-sizing:border-box;width:100%;margin:0!important}
.laubel-public-page .lf-choice-items .mwform-radio-field-text,
.laubel-public-page .lf-source-items .mwform-radio-field-text{display:inline!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;font:inherit!important}
.laubel-public-page .mw_wp_form .horizontal-item+.horizontal-item{margin-left:0!important}
.laubel-public-page .mw_wp_form input,
.laubel-public-page .mw_wp_form textarea{max-width:100%}
.laubel-public-page .mw_wp_form .error{margin:7px 0 0!important;line-height:1.5!important}
@media(min-width:701px) and (max-width:1024px){.laubel-public-page .lf-shell{width:calc(100% - 64px)}.laubel-public-page .lf-page-hero,.laubel-public-page .lf-progress{width:calc(100% - 64px)}}
@media(max-width:767px){
 .laubel-public-page .lf-page-hero{width:100%;padding:50px 14px}
 .laubel-public-page .lf-progress{width:100%;margin:28px 0 38px}
 .laubel-public-page .lf-shell{width:calc(100% - 28px);margin-bottom:45px}
 .laubel-public-page .lf-choice-items{grid-template-columns:1fr;gap:10px}
 .laubel-public-page .lf-source-items{grid-template-columns:repeat(2,minmax(0,1fr))}
 .laubel-public-page .lf-intro h2{font-size:21px!important;letter-spacing:0!important;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere}
 .laubel-public-page .lf-label{overflow-wrap:anywhere}
}

/* Keep the optional badge readable beside the two-line membership label. */
.laubel-public-page{padding-top:var(--lf-navigation-height,0px)}
.laubel-public-form .lf-member .lf-label{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}
.laubel-public-form .lf-member-label{min-width:0}
.laubel-public-form .lf-member-sp{display:none}
.laubel-public-form .lf-member .lf-badge{flex:0 0 auto}
.laubel-public-form .lf-badge{font-style:normal;font-family:inherit;font-weight:700}
@media(max-width:700px){.laubel-public-form .lf-member-pc{display:none}.laubel-public-form .lf-member-sp{display:inline}}

/* Use geometrically centered vector marks instead of baseline-dependent glyphs. */
.laubel-public-page .lf-choice-items label:before{content:""!important;background-color:#1d4b4d;background-repeat:no-repeat;background-position:center;background-size:18px 18px}
.laubel-public-page .lf-choice-items>.horizontal-item:first-child label:before,.laubel-public-page .lf-choice-items label:has(input[value="メール"]):before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Crect x='2.5' y='4.5' width='15' height='11' rx='1.2' fill='none' stroke='white' stroke-width='1.5'/%3E%3Cpath d='M3.5 5.5 10 11l6.5-5.5' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.laubel-public-page .lf-choice-items>.horizontal-item:last-child label:before,.laubel-public-page .lf-choice-items label:has(input[value="郵送"]):before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M3 4.5h14M5 8h10M10 8v8M6.2 11.5c2.5 1.6 5.1 1.6 7.6 0' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E")}

/* Visit-time selects follow the same sizing and focus treatment as text fields. */
.laubel-public-form select{width:100%!important;min-height:56px!important;margin:0!important;padding:13px 16px!important;border:1px solid #c8d2cc!important;border-radius:6px!important;background:#fff!important;color:#202a27!important;font:16px/1.6 inherit!important;box-shadow:none!important;cursor:pointer}
.laubel-public-form select:focus{outline:0!important;border-color:var(--green)!important;box-shadow:0 0 0 3px rgba(23,63,65,.1)!important}
@media(max-width:700px){.laubel-public-form select{min-height:52px!important;font-size:16px!important}}
