#contact_page {position: relative;display: grid;grid-template-columns: minmax(0,1fr) 380px;gap: 0;width: min(1180px,calc(100% - 48px));margin: 0 auto;padding: 50px 0;background: linear-gradient(90deg,rgba(40,40,40,.07) 1px,transparent 1px),linear-gradient(180deg,rgba(40,40,40,.06) 1px,transparent 1px),linear-gradient(105deg,#fbfaf8 0%,#fff 48%,#fff7f7 100%);background-size: 187px 187px,187px 187px,auto;color: #2b2b2b;box-sizing: border-box;}

#contact_page * {box-sizing: border-box;}
#contact_page > .col_md_8,#contact_page > .col_md_4 { position: relative; z-index: 1; width: auto; max-width: none; padding: 0; }
#contact_page .form_box { position: relative; padding: 64px 64px 62px; background: rgba(255,255,255,.82); border: 1px solid rgba(0,0,0,.11); }
#contact_page .form_box::before {content: "炭火要旺，找新東園";display: block;margin-bottom: 16px;color: #d80c18;font-size: 20px;letter-spacing: .28em;font-weight: 500;}
#contact_page .detail_box { position: relative; margin: 0 0 34px; padding: 28px 30px; color: #666; font-size: 16px; line-height: 2; letter-spacing: .05em; background: #fff; border-left: 3px solid #d80c18; border-top: 1px solid rgba(0,0,0,.08); border-right: 1px solid rgba(0,0,0,.08); border-bottom: 1px solid rgba(0,0,0,.08); }
#contact_page .form_item { position: relative; display: grid; grid-template-columns: 150px minmax(0,1fr); gap: 20px; align-items: center; margin-bottom: 22px; }
#contact_page .form_item.large_item { grid-template-columns: 1fr; gap: 12px; }
#contact_page .form_item label { color: #2d2a28; font-size: 15px; letter-spacing: .14em; font-weight: 600; }
#contact_page .form_item input,#contact_page .form_item select,#contact_page .form_item textarea {width: 100%;min-height: 54px;padding: 0 18px;color: #333;font-size: 16px;letter-spacing: .04em;background: rgba(255,255,255,.95);border: 1px solid rgba(0,0,0,.15);border-radius: 0;outline: none;transition: border-color .3s ease,background .3s ease;}
#contact_page .form_item textarea { min-height: 155px; padding: 16px 18px; line-height: 1.8; resize: vertical; }
#contact_page .form_item select {appearance: none;background-image: linear-gradient(45deg,transparent 50%,#d80c18 50%),linear-gradient(135deg,#d80c18 50%,transparent 50%);background-position: calc(100% - 22px) 50%,calc(100% - 15px) 50%;background-size: 7px 7px,7px 7px;background-repeat: no-repeat;}
#contact_page .form_item select:active , #contact_page .form_item select:focus{
    background-image: linear-gradient(135deg, transparent 50%, #d80c18 50%),
 linear-gradient(45deg, #d80c18 50%, transparent 50%);
}
#contact_page .form_item input:focus,#contact_page .form_item select:focus,#contact_page .form_item textarea:focus {border-color: #d80c18;}
#contact_page .check_box font { display: flex; align-items: center; gap: 12px; }
#contact_page .check_box input {/* max-width: 160px; */text-transform: uppercase;}
#contact_page #rand-img {object-fit: cover;cursor: pointer;border: 1px solid rgba(0,0,0,.12);}
#contact_page .send_box { display: flex; justify-content: flex-end; margin-top: 34px; margin-bottom: 0; }
#contact_page .send_btn { position: relative; min-width: 210px; height: 58px; padding: 0 42px; color: #252525; font-family: Georgia,"Times New Roman",serif; font-size: 16px; letter-spacing: .22em; background: #fff; border: 1px solid #252525; cursor: pointer; transition: color .35s ease,border-color .35s ease,background .35s ease; }
#contact_page .send_btn::after { content: ""; position: absolute; right: -4px; top: -4px; width: 8px; height: 8px; background: #252525; transition: background .35s ease; }
#contact_page .send_btn:hover { color: #fff; border-color: #d80c18; background: #d80c18; }
#contact_page .send_btn:hover::after { background: #d80c18; }
#contact_page .bg_info { display: flex; align-items: stretch; background: #24211f; color: #fff; }
#contact_page .contact_information { position: relative; width: 100%; padding: 64px 42px; overflow: hidden; }
#contact_page .contact_information::before { content: ""; position: absolute; right: 0; top: 0; width: 76px; aspect-ratio: 1/1; background: #d80c18; clip-path: polygon(100% 0,100% 100%,0 0); }
#contact_page .contact_information::after { content: "XIN DONG YUAN"; position: absolute; right: -78px; bottom: 40px; color: rgba(255,255,255,.055); font-family: Georgia,"Times New Roman",serif; font-size: 42px; letter-spacing: .18em; transform: rotate(90deg); transform-origin: center; pointer-events: none; }
#contact_page .contact_information .title {position: relative;margin: 0 0 42px;padding-bottom: 26px;color: #b0b0b0;font-size: 1.75rem;line-height: 1.6;letter-spacing: .22em;}
#contact_page .contact_information .title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 52px; height: 2px; background: #d80c18; }
#contact_page .contact_information a { position: relative; display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 16px; align-items: flex-start; padding: 20px 0; color: rgba(255,255,255,.82); text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.13); transition: color .3s ease; }
#contact_page .contact_information a:hover { color: #fff; }
#contact_page .contact_information a font {display: flex;align-items: center;justify-content: center;width: 42px;height: 42px;margin: 0;background: rgb(255 255 255 / 94%);border: 1px solid rgba(255,255,255,.18);border-radius: 666px;}
#contact_page .contact_information svg {width: 19px;height: 19px;fill: var(--primary);}
#contact_page .contact_information span {display: block;padding-top: 7px;font-size: 16px;line-height: 1.75;letter-spacing: .05em;word-break: break-word;color: white;}
#contact_page .contact_information .phone span {font-family: Georgia,"Times New Roman",serif;font-size: 19px;letter-spacing: .08em;color: white;}
@media (max-width:1080px) {
  #contact_page { grid-template-columns: 1fr; padding: 90px 0; }
  #contact_page .form_box { padding: 52px 44px; }
  #contact_page .contact_information { padding: 46px 44px; }
}
@media (max-width:720px) {
  #contact_page {width: min(100% - 30px,1180px);padding: 0;background-size: 92px 92px,92px 92px,auto;}
  #contact_page::after { width: 64px; }
  #contact_page .form_box { padding: 40px 24px; }
  #contact_page .detail_box { padding: 22px 20px; font-size: 15px; }
  #contact_page .form_item { grid-template-columns: 1fr; gap: 10px; margin-bottom: 20px; }
  #contact_page .form_item label { font-size: 14px; }
  #contact_page .check_box font {}
  #contact_page .check_box input {max-width: none;min-height: unset;padding: 5px 0;}
  #contact_page .send_box { justify-content: stretch; }
  #contact_page .send_btn { width: 100%; }
  #contact_page .contact_information { padding: 40px 24px; }
  #contact_page .contact_information a { grid-template-columns: 38px minmax(0,1fr); gap: 14px; }
  #contact_page .contact_information a font { width: 38px; height: 38px; }
  #contact_page .contact_information .title{font-size: 1.25rem;}
}
