/* Contact content is supplied by the CMS; all presentation is code-owned. */
.contact-document{padding-top:24px}
.contact-document>.container{max-width:1120px}
.contact-content{font-size:17px;line-height:1.9;overflow-wrap:anywhere}
.contact-content *{min-width:0}
.contact-content h1{font-size:clamp(28px,3.5vw,42px);line-height:1.4;margin:0 0 20px}
.contact-content h2{font-size:26px;line-height:1.5;margin:0}
.contact-content p{margin:0 0 16px}
.contact-content a{color:#9b3508;text-underline-offset:4px}
.contact-content img{max-width:100%;height:auto}
.contact-content .contact-hero{padding-bottom:36px;border-bottom:1px solid #dedbd5;margin-bottom:36px}
.contact-content .contact-hero>p{max-width:780px;color:#536066;line-height:1.9}
.contact-content .contact-badges{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}
.contact-content .contact-badge{display:inline-flex;align-items:center;background:#f7f4ed;padding:6px 12px;font-size:14px;line-height:1.7}
.contact-content .contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.contact-content .contact-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 18px;border:1px solid #b94509;border-radius:4px;background:#b94509;color:#fff;font-size:15px;font-weight:600;text-decoration:none;line-height:1.6}
.contact-content .contact-btn:hover{background:#963707}
.contact-content .contact-btn.contact-secondary,.contact-content .contact-btn.contact-tertiary{background:#fff;color:#9b3508;border-color:#b9b6b0}
.contact-content .contact-hero .contact-actions .contact-btn{gap:10px}
.contact-content .contact-hero .contact-btn:is([href^="mailto:"],[href^="tel:"],[href^="https://line.me/"])::before{content:'';display:block;flex:0 0 24px;width:24px;height:24px;background-color:currentColor;-webkit-mask:var(--contact-icon) center/contain no-repeat;mask:var(--contact-icon) center/contain no-repeat}
.contact-content .contact-hero .contact-btn[href^="mailto:"]{--contact-icon:url('illustrations/ui-mail.svg')}
.contact-content .contact-hero .contact-btn[href^="tel:"]{--contact-icon:url('illustrations/ui-phone.svg')}
.contact-content .contact-hero .contact-btn[href^="https://line.me/"]{--contact-icon:url('illustrations/ui-chat.svg')}
.contact-content .contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.contact-content .contact-card{border-top:2px solid #b94509;padding:28px;background:#f7f4ed}
.contact-content .contact-card:has(.contact-two-col),.contact-content .contact-card:has(.contact-faq){grid-column:1/-1;background:#fff;border-top:1px solid #dedbd5;padding:32px 0 0}
.contact-content .contact-card-title{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:24px}
.contact-content .contact-card-title .contact-sub{font-size:13px;letter-spacing:.06em;color:#60686c;margin:0}
.contact-content .contact-list{padding-left:22px;margin:20px 0}
.contact-content .contact-list li{margin:12px 0;padding-left:4px}
.contact-content .contact-note{border-left:3px solid #b94509;background:#fff;padding:16px 20px;margin:20px 0;font-size:16px;line-height:1.9}
.contact-content .contact-two-col{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:40px;align-items:start}
.contact-content .contact-kv{margin:0 0 14px}
.contact-content .contact-line-block{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#f7f4ed;padding:20px 24px;margin-top:24px}
.contact-content .contact-line-block p{margin:0;font-size:15px}
.contact-content .contact-line-block>a{flex-shrink:0}
.contact-content .contact-line-block img{display:block;width:130px;height:auto}
.contact-content .contact-map{background:#f7f4ed;border:1px solid #dedbd5;border-radius:4px;overflow:hidden}
.contact-content .contact-map-frame{display:block;width:100%;height:300px;border:0}
.contact-content .contact-faq{list-style:none;padding:0;margin:0}
.contact-content .contact-faq li{border-bottom:1px solid #dedbd5;padding:24px 0;margin:0}
.contact-content .contact-faq .contact-q{font-size:19px;font-weight:700;margin:0 0 12px}
.contact-content .contact-faq .contact-a{color:#536066;margin:0}
@media(max-width:900px){
 .contact-content .contact-grid{grid-template-columns:1fr;gap:28px}
 .contact-content .contact-two-col{grid-template-columns:1fr;gap:24px}
 .contact-content .contact-col-5{width:100%}
}
@media(max-width:767px){
 .contact-document{padding-top:16px}
 .contact-content{font-size:16px}
 .contact-content h1{font-size:30px}
 .contact-content h2{font-size:23px}
 .contact-content .contact-hero{padding-bottom:28px;margin-bottom:28px}
 .contact-content .contact-card{padding:20px}
 .contact-content .contact-card:has(.contact-two-col),.contact-content .contact-card:has(.contact-faq){padding:24px 0 0}
 .contact-content .contact-card-title{display:block;margin-bottom:20px}
 .contact-content .contact-card-title .contact-sub{margin-top:4px}
 .contact-content .contact-actions{gap:10px}
 .contact-content .contact-actions .contact-btn{width:100%}
 .contact-content .contact-line-block{flex-wrap:wrap;padding:20px;gap:16px}
 .contact-content .contact-note{padding:16px}
 .contact-content .contact-faq .contact-q{font-size:18px}
}
