/* 相談入口は2026-10-15承認の構図。入力操作のスタイルは既存フォームが所有する。 */
.consultation-invitation{background:#004aad;color:#fff;overflow:hidden;padding:90px 5% 70px;border-radius:50% 50% 0 0 / 28px 28px 0 0}
.consultation-layout{max-width:1320px;margin:auto;position:relative;display:grid;grid-template-columns:1fr 1.05fr;grid-template-rows:auto auto;gap:42px 15px;isolation:isolate}
.consultation-copy{position:relative;z-index:2;padding-top:20px}
.consultation-eyebrow{font-size:15px;letter-spacing:.06em;margin:0 0 22px}
.consultation-copy h2{font-size:clamp(32px,3.7vw,56px);font-weight:800;line-height:1.6;letter-spacing:.035em;margin:0 0 30px;color:#fff}
.consultation-primary{display:inline-flex;align-items:center;justify-content:space-between;gap:65px;background:#fff;color:#004aad;border-radius:100px;padding:20px 34px;font-weight:700;font-size:18px;text-decoration:none}
.consultation-primary:hover{background:#fff3a5}.consultation-primary:active{transform:translateY(1px)}
.consultation-caption{font-size:13px;margin:15px 0 0 30px}
.consultation-art{grid-column:2;grid-row:1 / 3;align-self:center;position:relative;padding:32px 0 0;z-index:0}
.consultation-art:before{content:'';position:absolute;inset:-35px -180px -65px -45px;background:#fff;border-radius:65% 0 0 45% / 45% 0 0 35%;z-index:-1;transform:rotate(-5deg)}
.consultation-people{display:block;width:100%;height:auto;object-fit:contain}
.consultation-art p{color:#195c43;text-align:center;font-weight:700;font-size:15px;margin:20px 0 0}
.consultation-wayfinding{display:flex;gap:24px;align-items:center;position:relative;z-index:1}
.consultation-wayfinding:before{content:'';position:absolute;width:170px;height:50px;border-top:3px solid #ffe356;border-radius:50%;left:105px;top:-15px;transform:rotate(-10deg);pointer-events:none}
.consultation-wayfinding .character-guide-image{width:120px;height:190px;object-fit:contain;flex:none}
.consultation-wayfinding p{font-size:12px;margin:15px 0 3px}
.consultation-wayfinding a{font-size:18px;font-weight:700;border-bottom:1px solid #ffffff9c;padding:5px 0;display:inline-block;text-decoration:none;color:#fff}
.consultation-wayfinding a:hover{color:#fff3a5}.consultation-invitation a:focus-visible{outline:3px solid #ffe356;outline-offset:6px}
.consultation-intro{max-width:1240px;margin:auto;padding:35px 35px 0;color:#195c43}
.consultation-breadcrumb{display:flex;gap:12px;font-size:12px;margin-bottom:45px;color:#52635d}
.consultation-breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.consultation-intro-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:24px}
.consultation-intro-copy h1{font-size:clamp(32px,4vw,56px);line-height:1.55;letter-spacing:.02em;margin:0 0 25px;font-weight:800}
.consultation-intro-copy p{font-size:17px;line-height:2;color:#263f38;margin:0}
.consultation-intro+.wrap .article{max-width:1000px;padding-top:0}
.consultation-form-guide{display:flex;gap:25px;align-items:center;position:relative;max-width:780px;margin:-35px 0 48px;padding-top:25px}
.consultation-form-guide[hidden]{display:none}
.consultation-form-guide:before{content:'';position:absolute;left:120px;right:10%;top:0;height:30px;border-top:3px solid #004aad;border-radius:50%;transform:rotate(4deg);pointer-events:none}
.consultation-form-guide .character-guide-image{width:110px;height:165px;flex:none;object-fit:contain}
.article .consultation-form-guide h2{font-size:23px;line-height:1.6;margin:0 0 12px}
.article .consultation-form-guide p{font-size:14px;line-height:1.9;margin:0}
.article .consultation-form-title{border-top:1px solid #cbd9d0;padding-top:35px;margin-top:0;font-size:25px}
@media(max-width:900px){.consultation-layout{gap:35px 10px}.consultation-wayfinding{gap:15px}.consultation-wayfinding a{font-size:15px}.consultation-wayfinding .character-guide-image{width:90px;height:145px}.consultation-form-guide{margin-top:15px}.consultation-intro-copy p{font-size:15px}}
@media(max-width:700px){
 .consultation-invitation{padding:65px 24px 55px}.consultation-layout{display:flex;flex-direction:column;gap:30px}
 .consultation-copy{padding:0}.consultation-copy h2{font-size:clamp(28px,7.6vw,43px);line-height:1.65;letter-spacing:0}.consultation-eyebrow{font-size:12px;letter-spacing:0}.consultation-primary{font-size:16px;padding:17px 28px;gap:55px}.consultation-caption{margin-left:20px}
 .consultation-art{padding:25px 0 10px;margin:10px 0 25px}.consultation-art:before{inset:0 -60px -20px -10px;border-radius:60% 0 0 35% / 30% 0 0 35%}.consultation-art p{font-size:13px;margin:10px 0 0}
 .consultation-wayfinding{gap:22px}.consultation-wayfinding .character-guide-image{width:85px;height:140px}.consultation-wayfinding:before{width:100px;left:90px;top:-5px}.consultation-wayfinding a{font-size:15px}
 .consultation-intro{padding:25px 24px 0}.consultation-breadcrumb{margin-bottom:30px}.consultation-intro-grid{display:flex;flex-direction:column;gap:24px;align-items:stretch}.consultation-intro-copy h1{font-size:clamp(29px,8vw,43px)}.consultation-intro-copy p{font-size:14px}.consultation-intro .consultation-people{max-width:420px;align-self:center}
 .consultation-form-guide{gap:16px;margin:30px 0 35px;padding-top:20px}.consultation-form-guide .character-guide-image{width:68px;height:110px}.consultation-form-guide:before{left:80px}.article .consultation-form-guide h2{font-size:19px}.article .consultation-form-guide p{font-size:13px}.article .consultation-form-title{font-size:23px;padding-top:26px}
}
.character-guide{display:flex;align-items:center;gap:30px;background:#edf6f1;color:#195c43;padding:24px 32px;margin:30px 0 42px;text-align:left}
.character-guide .character-guide-image{display:block;flex:none;width:90px;height:135px;object-fit:contain;margin:0}
.character-guide>div{min-width:0;flex:1}
.character-guide h2,.character-guide h3{color:#195c43;font-size:21px;font-weight:700;line-height:1.65;letter-spacing:.03em;margin:0 0 10px}
.character-guide p{font-size:14px;line-height:1.9;margin:0 0 12px}
.character-guide-links{display:flex;flex-wrap:wrap;gap:12px 28px}
.character-guide .character-guide-links a{display:flex;align-items:center;justify-content:space-between;gap:18px;color:#195c43;font-size:14px;line-height:1.7;text-decoration:none;border-bottom:1px solid #a9c6b7;padding:6px 0}
.character-guide-links a:hover{color:#004aad;border-color:#004aad}
.character-guide a:focus-visible{outline:3px solid #004aad;outline-offset:5px}
.character-guide.character-guide--home{max-width:810px;margin:36px auto 0;background:#fff;border-radius:4px}
.character-guide--contact{display:grid;grid-template-columns:1fr 1.3fr;gap:24px}
.character-guide-heading{display:flex;align-items:center;gap:16px}
.character-guide-heading h3{font-size:18px;margin:0}
.character-guide-routes p{margin:0;padding:12px 0}
.character-guide-routes p+p{border-top:1px solid #cbded2}
.character-guide-routes strong,.character-guide-routes span,.character-guide-routes small{display:block}
.character-guide-routes strong{color:#007b42;font-size:14px}
.character-guide-routes span{font-size:14px;font-weight:700}
.character-guide-routes small{font-size:12px;line-height:1.8;margin-top:3px}
.character-guide--downloads .character-guide-image{width:100px;height:150px}
.character-guide--downloads .character-guide-links{justify-content:space-between}
.booking-done .character-thanks-image{float:right;width:80px;height:120px;object-fit:contain;margin:0 0 16px 20px}
.booking-done::after{content:"";display:block;clear:both}
#booking,#contact-form{scroll-margin-top:110px}
@media(max-width:600px){
 .character-guide{display:block;padding:20px;margin:25px 0 32px}
 .character-guide .character-guide-image{float:right;width:60px;height:90px;margin:0 0 12px 12px}
 .character-guide h2,.character-guide h3{font-size:19px;letter-spacing:0}
 .character-guide--home h3{max-width:220px;min-height:65px}
 .character-guide--home p,.character-guide-links,.character-guide-routes{clear:both}
 .character-guide--home p{font-size:13px}
 .character-guide-links{display:block}
 .character-guide .character-guide-links a{padding:10px 0;font-size:14px}
 .character-guide-heading{display:flex;flex-direction:row-reverse;justify-content:space-between;gap:12px}
 .character-guide-heading .character-guide-image{float:none;margin:0;flex:none}
 .character-guide-heading h3{font-size:18px}
 .character-guide--downloads h2{min-height:90px;padding-top:8px}
 .booking-done .character-thanks-image{width:55px;height:83px;margin-left:10px}
}
