@charset "utf-8"; #main #container { width:100%; overflow:hidden; } 
.main_title { color:#111; font-size:44px; font-weight:700; line-height:1.5; } 
/* main top banner */ 
.main_topBanner { width:100%; height:100vh; position:relative; overflow:hidden; } 
.main_visual_img { height:100%; position:absolute; inset:0; object-fit:cover; } 
.main_visual_dim { position:absolute; inset:0; background:rgba(0, 0, 0, .5); } 
.main_visual_txt { width:calc(100% - 40px); max-width:1100px; margin:0 auto; position:absolute; top:42.6%; right:20px; left:20px; color:#fff; text-align:center; } 
.main_visual_txt h1 { font-size:70px; font-weight:700; line-height:1.4; } 
.main_visual_txt p { margin-top:20px; font-size:24px; font-weight:400; line-height:1.6; } 
.main_visual_txt strong { font-weight:700; } 
.main_quick_links { display:flex; flex-direction:column; gap:10px; width:80px; position:fixed; bottom:40px; right:40px; z-index:999; } 
.main_quick_links a { display:block; width:100%; aspect-ratio:1; position:relative; } 
.main_quick_links .icon { width:120px; height:120px; position:absolute; top:-16px; left:-18px; } 
/* main intro */
.main_block01 { padding:110px 0 130px; position:relative; overflow:hidden; background:#fff; } 
.main_block01_inner { width:calc(100% - 40px); max-width:1440px; margin:0 auto; position:relative; } 
.main_intro_content { display:flex; align-items:flex-start; gap:40px; margin-top:40px; position:relative; z-index:2; } 
.main_intro_img_box { width:100%; max-width:720px; aspect-ratio:720 / 361; overflow:hidden; border-radius:20px; } 
.main_intro_img_box img { height:100%; object-fit:cover; object-position:center top; } 
.main_intro_txt { width:100%; max-width:clamp(300px, calc(41.1vw - 214px), 484px); margin-top:40px; } 
.main_intro_txt h3 { color:var(--primary_col); font-size:24px; font-weight:700; line-height:1.6; } 
.main_intro_txt p { margin-top:4px; font-size:18px; font-weight:500; line-height:1.6; } 
.main_intro_txt .inv_more_btn { margin-top:50px; } 
.main_intro_shape { width:min(32vw, 545px); max-width:545px; position:absolute; right:calc(0px - max(20px, calc((100vw - 1440px) / 2))); bottom:-130px; z-index:0; } 
.main_intro_visual { width:clamp(105px, calc(19vw - 87.7px), 266px); max-width:266px; position:absolute; right:calc(clamp(20px, calc(12.5vw - 136px), 97px) - max(20px, calc((100vw - 1440px) / 2))); bottom:-130px; z-index:1; } 
/* main service */
.main_block02 { padding:110px 0; background:var(--section_col); position:relative; margin-top:-20px; } 
.main_block02_inner { width:calc(100% - 40px); max-width:1440px; margin:0 auto; } 
.main_service_list { display:flex; gap:24px; margin-top:40px; } 
.main_service_item { display:block; width:100%; max-width:464px; aspect-ratio:464 / 316; position:relative; overflow:hidden; border-radius:20px; } 
.main_service_item::before,
.main_service_item::after { content:""; position:absolute; inset:0; pointer-events:none; } 
.main_service_item::after { z-index:0; background:linear-gradient(to bottom, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, .7) 100%); opacity:1; transition:opacity .4s ease; } 
.main_service_item::before { z-index:1; background:linear-gradient(180deg, rgba(239, 24, 128, 0) 0%, rgba(239, 24, 128, .7) 100%); opacity:0; transform:translateY(12%); transition:opacity .4s ease, transform .4s ease; } 
.main_service_item img { height:100%; object-fit:cover; transition:transform .4s; } 
.main_service_item:nth-child(3) img { object-position:center 35%; } 
.main_service_item strong { position:absolute; left:30px; bottom:30px; z-index:2; color:#fff; font-size:24px; font-weight:700; line-height:1.5; transition:all .3s ease-in-out; } 
.main_service_item .inv_more_btn {transition: all .25s, background-color .25s;position: absolute;bottom: -50px;left: 30px;z-index: 1;background: rgba(251, 198, 224, 1);color: var(--primary_col);border: 0;}
.main_service_item .inv_more_btn .icon_arrow{filter:none !important}
/* main news */ .main_block03 { padding:110px 0; position:relative; overflow:hidden; background:#fff; } 
.main_block03_inner { width:calc(100% - 40px); max-width:1440px; margin:0 auto; position:relative; z-index:1; } 
.main_news_list { display:flex; gap:40px; margin-top:40px; } 
.main_news_item { display:flex; flex-direction:column; width:100%; max-width:330px; } 
.main_news_image { display:flex; align-items:center; justify-content:center; overflow:hidden; width:100%; aspect-ratio:1; border-radius:20px; background:#f3f3f3; color:#888; font-size:13px; } 
.main_news_image img { width:100%; height:100%; object-fit:cover; } 
.main_news_txt { display:flex; align-items:flex-start; flex-direction:column; gap:4px; min-height:126px; margin-top:16px; } 
.main_news_cate { color:var(--primary_col); font-size:16px; font-weight:700; line-height:1.6; } 
.main_news_title { display:-webkit-box; width:100%; overflow:hidden; color:#111; font-size:18px; font-weight:500; line-height:1.6; -webkit-box-orient:vertical; -webkit-line-clamp:2; } 
.main_news_txt time { margin-top:8px; color:#888; font-size:14px; font-weight:500; line-height:1.6; } 
.main_news_more { margin:50px auto 0; position:relative; z-index:2; } 
.main_news_shape { width:min(24vw, 405px); max-width:405px; position:absolute; right:0; bottom:-110px; } 
.main_news_empty { width:100%; padding:80px 0; color:#888; text-align:center; } 
/* main application */ .main_block04 { padding:110px 0; position:relative; overflow:hidden; background:var(--section_col); } 
.main_block04_inner { display:flex; width:calc(100% - 40px); max-width:1440px; margin:0 auto; position:relative; } 
.main_apply_info { width:100%; max-width:720px; position:relative; } 
.main_apply_call { display:flex; align-items:center; justify-content:center; gap:4px; width:100%; max-width:240px; height:44px; margin-top:40px; border-radius:22px; color:#fff; background:var(--primary_col); } 
.main_apply_call strong { font-size:24px; font-weight:700; line-height:1; } 
.main_apply_visual { width:min(49vw, 749px); max-width:749px; position:absolute; left:min(-20px, calc((1440px - 100vw) / 2)); bottom:-110px; } 
.main_apply_form { width:100%; max-width:720px; padding:30px; border-radius:20px; background:#fff; } 
.main_apply_form .inquiry_auto_fields { gap:16px; } 
.main_apply_form .inquiry_auto_field { align-items:flex-start; gap:0; } 
.main_apply_form .inquiry_auto_field.inquiry_auto_half { width:calc(50% - 8px); } 
.main_apply_form .inquiry_auto_field.inquiry_auto_full { width:100%; } 
.main_apply_form .inquiry_auto_field > span, .main_apply_form .inquiry_auto_field legend { width:100%; color:#111; font-size:18px; font-weight:500; line-height:1.6; } 
.main_apply_form .inquiry_auto_field em { color:var(--primary_col); font-style:normal; } 
.main_apply_form .inquiry_auto_field > input:not([type="checkbox"]):not([type="radio"]), .main_apply_form .inquiry_auto_field > select, .main_apply_form .inquiry_auto_field > textarea { width:100%; height:44px; min-height:44px; margin-top:4px; padding:0 16px; border:1px solid var(--line_col); border-radius:8px; color:#888; font-size:14px; font-weight:500; outline:none; background:#fff; } 
.main_apply_form .inquiry_auto_field > textarea { height:120px; padding-top:12px; padding-bottom:12px; resize:vertical; } 
.main_apply_form .inquiry_auto_field > input::placeholder, .main_apply_form .inquiry_auto_field > textarea::placeholder { color:#888; opacity:1; } 
.main_apply_form .inquiry_auto_choices { justify-content:flex-start; gap:16px; width:100%; height:44px; min-height:44px; margin-top:4px; } 
.main_apply_form .inquiry_auto_choices label { gap:8px; } 
.main_apply_form .inquiry_auto_choices input { width:20px; height:20px; margin:0; padding:0; position:relative; appearance:none; border:1px solid var(--line_col); border-radius:4px; } 
.main_apply_form .inquiry_auto_choices input::after { content:""; width:12px; height:12px; position:absolute; top:3px; left:3px; opacity:0; border-radius:4px; background:var(--primary_col); } 
.main_apply_form .inquiry_auto_choices input:checked::after { opacity:1; } 
.main_apply_form .inquiry_auto_choices span { color:#333; font-size:16px; font-weight:500; line-height:1.6; white-space:nowrap; } 
.main_apply_form .inquiry_auto_date input { color-scheme:light; cursor:pointer; } 
.main_form_row { display:flex; gap:16px; } 
.main_form_row + .main_form_row { margin-top:16px; } 
.main_form_field { display:flex; align-items:flex-start; flex-direction:column; width:100%; } 
.main_form_field > span:first-child, .main_form_field > label, .main_form_field legend { width:100%; color:#111; font-size:18px; font-weight:500; line-height:1.6; } 
.main_form_field em { color:var(--primary_col); font-style:normal; } 
.main_form_field input { width:100%; height:44px; margin-top:4px; padding:0 16px; border:1px solid var(--line_col); border-radius:8px; color:#111; font-size:14px; font-weight:500; outline:none; background:#fff; } 
.main_form_field input::placeholder { color:#888; opacity:1; } 
.main_input_icon { width:100%; position:relative; } 
.main_input_icon input { padding-right:44px; } 
.main_input_icon .icon_calendar { position:absolute; top:16px; right:12px; } 
.main_date_input { color-scheme:light; font-family:inherit; cursor:pointer; } 
.main_date_input::-webkit-calendar-picker-indicator { width:20px; height:20px; margin:0; cursor:pointer; opacity:.8; } 
.main_date_input:focus { border-color:var(--primary_col); box-shadow:0 0 0 2px rgba(237,21,120,.1); } 
.main_form_service { margin-top:16px; } 
.main_service_check { display:flex; align-items:center; gap:16px; width:100%; height:44px; margin-top:4px; } 
.main_service_check label { display:flex; align-items:center; gap:8px; cursor:pointer; } 
.main_service_check input { width:20px; height:20px; margin:0; padding:0; position:relative; appearance:none; border:1px solid var(--line_col); border-radius:4px; } 
.main_service_check input::after { content:""; width:12px; height:12px; position:absolute; top:3px; left:3px; opacity:0; border-radius:4px; background:var(--primary_col); } 
.main_service_check input:checked::after { opacity:1; } 
.main_service_check span { color:#333; font-size:16px; font-weight:500; line-height:1.6; white-space:nowrap; } 
.main_form_password { margin-top:16px; } 
.main_form_password small { display:flex; align-items:center; gap:4px; color:#888; font-size:12px; font-weight:500; line-height:1.2; } 
.main_form_password small:first-of-type { margin-top:8px; } 
.main_form_password small + small { margin-top:4px; } 
.main_form_password small.valid { color:#07835f; } 
.main_form_password small.valid .icon_info { background-image:url("/img/svg/icon_info_green.svg"); } 
.main_form_captcha { margin-top:16px; } 
.inquiry_captcha_widget { display:flex; align-items:center; gap:8px; width:100%; margin-top:4px; flex-wrap:wrap; } 
.inquiry_captcha_widget [data-recaptcha-widget] { min-width:304px; } 
.inquiry_captcha_legacy { display:flex; align-items:center; gap:8px; order: 2; } 
.inquiry_captcha_legacy img { width:143px; height:44px; border-radius:8px; object-fit:cover; } 
.inquiry_captcha_legacy button { display:flex; align-items:center; justify-content:center; width:44px; height:44px; flex:none; padding:0; border-radius:8px; color:#fff; background:var(--primary_col); } 
.inquiry_captcha_legacy button .icon_refresh { width:26px; height:26px; } 
.inquiry_captcha_widget > input:not([type="hidden"]) { width: calc(100% - 203px); height:44px; margin:0; padding:0 16px; border:1px solid var(--line_col); border-radius:8px; font-size:14px; order: 1; } 
.main_privacy_check { display:flex; align-items:center; gap:8px; margin-top:16px; cursor:pointer; } 
.main_privacy_check label { display:flex; align-items:center; gap:8px; cursor:pointer; } 
.main_privacy_check input { width:24px; height:24px; position:relative; flex:none; appearance:none; border:1px solid var(--line_col); border-radius:4px; background:#fff; } 
.main_privacy_check input::after { content:""; width:12px; height:7px; position:absolute; top:4px; left:4px; opacity:0; border-bottom:2px solid var(--primary_col); border-left:2px solid var(--primary_col); transform:rotate(-45deg); } 
.main_privacy_check input:checked::after { opacity:1; } 
.main_privacy_check span { color:#1e1a19; font-size:18px; font-weight:500; line-height:1.6; } 
.main_privacy_check a { color:#888; font-size:16px; font-weight:500; line-height:1.6; } 
.main_apply_submit { margin:40px auto 0; } 
.main_apply_submit:disabled { cursor:wait; opacity:.55; } 
/* privacy */ .privacy_page { width:calc(100% - 40px); max-width:1200px; margin:0 auto; padding:120px 0; } 
.privacy_header p { color:var(--primary_col); font-size:14px; font-weight:700; } 
.privacy_header h1 { margin-top:8px; color:#111; font-size:44px; font-weight:700; } 
.privacy_content { margin-top:60px; border-top:2px solid #111; } 
.privacy_content h2 { padding:32px 0; border-bottom:1px solid var(--line_col); font-size:24px; } 
.privacy_content dl > div { display:flex; border-bottom:1px solid var(--line_col); } 
.privacy_content dt { width:220px; padding:24px; flex:none; font-weight:700; background:#f7f7f7; } 
.privacy_content dd { padding:24px; line-height:1.7; } 
.privacy_content > p { margin-top:24px; color:#666; line-height:1.7; } 
.privacy_back { display:flex; align-items:center; justify-content:center; width:220px; height:52px; margin:40px auto 0; border-radius:26px; color:#fff; font-weight:700; background:var(--primary_col); } 
/* hover */ @media (hover: hover) and (pointer: fine) { 
 .main_quick_links a:hover { transform:translateY(-3px); } 
 .main_service_item:hover::before,
 .main_service_item:focus-within::before { opacity:1; transform:translateY(0); } 
 .main_service_item:hover::after,
 .main_service_item:focus-within::after { opacity:0; } 
 .main_service_item:hover img,
 .main_service_item:focus-within img { transform:scale(1.04); }
 .main_service_item:hover strong{bottom:85px;} 
 .main_service_item:hover .inv_more_btn {  bottom: 30px;} 
 .main_news_item:hover .main_news_title { color:var(--primary_col); } 
 .main_apply_call:hover { background:#d5117d; } 
 .main_form_field input:focus { border-color:var(--primary_col); } 
 .inquiry_captcha_legacy button:hover { background:#d5117d; } 
 } 
@media (max-width:1024px) { 
 .main_title { font-size:24px; line-height:1.5; } 
 .main_topBanner { height:740px; aspect-ratio:auto; } 
 .main_visual_txt { max-width:320px; top:250px; } 
 .main_visual_txt h1 { font-size:40px; line-height:1.4; } 
 .main_visual_txt p { margin-top:12px; font-size:18px; line-height:1.6; } 
 .main_quick_links { gap:10px; width:60px; top:auto; right:20px; bottom:20px; } 
 .main_quick_links .icon { width:90px; height:90px; top:-11px; left:-13px; } 
 .main_block01 { min-height:0; padding:60px 0 100px; } 
 .main_block01_inner { width:calc(100% - 40px); max-width:720px; } 
 .main_intro_content { display:flex; align-items:stretch; flex-direction:column; gap:20px; margin-top:24px; } 
 .main_intro_img_box { max-width:none; aspect-ratio:2 / 1; border-radius:20px; } 
 .main_intro_txt { max-width:none; margin-top:0; } 
 .main_intro_txt h3 { font-size:18px; line-height:1.6; } 
 .main_intro_txt p { margin-top:4px; font-size:15px; line-height:1.6; } 
 .main_intro_txt p br { display:none; } 
 .main_intro_txt .inv_more_btn { margin-top:30px; } 
 .main_intro_shape { width:clamp(220px, 24.1vw, 247px); top:auto; right:calc(0px - max(20px, calc((100vw - 720px) / 2))); bottom:-100px; } 
 .main_intro_visual { width:clamp(100px, 10.9vw, 112px); top:auto; right:calc(clamp(39px, 4.3vw, 44px) - max(20px, calc((100vw - 720px) / 2))); bottom:-100px; } 
 .main_block02 { padding:60px 0; } 
 .main_block02_inner { width:calc(100% - 40px); max-width:720px; } 
 .main_service_list { display:flex; flex-direction:column; gap:10px; margin-top:24px; } 
 .main_service_item { max-width:none; aspect-ratio:8 / 5; border-radius:20px; } 
 .main_service_item strong { left:20px; bottom:65px; font-size:20px; line-height:1.5; } 
 .main_service_item .inv_more_btn {left:20px; bottom:20px;} 
/* .main_service_item::before{opacity:1; transform: translateY(12%);} */
/* .main_service_item::after{opacity:0;} */

 .main_block03 { padding:60px 0; } 
 .main_block03_inner { width:calc(100% - 40px); max-width:720px; } 
 .main_news_list { display:flex; flex-wrap:wrap; gap:20px; margin-top:24px; } 
 .main_news_item { width:calc((100% - 20px) / 2); max-width:none; } 
 .main_news_image { border-radius:20px; } 
 .main_news_txt { gap:2px; min-height:96px; margin-top:12px; } 
 .main_news_cate { font-size:14px; line-height:1.6; } 
 .main_news_title { font-size:15px; line-height:1.4; } 
 .main_news_txt time { margin-top:6px; font-size:12px; line-height:1.6; } 
 .main_news_more { margin-top:30px; } 
 .main_news_shape { width:180px; right:20px; bottom:-60px; } 
 .main_block04 { padding:60px 0; } 
 .main_block04_inner { display:flex; flex-direction:column; width:calc(100% - 40px); max-width:720px; } 
 .main_apply_info { max-width:none; } 
 .main_apply_call { max-width:181px; height:40px; margin-top:20px; } 
 .main_apply_call strong { font-size:18px; } 
 .main_apply_visual { display:none; } 
 .main_apply_form { max-width:none; min-height:0; margin-top:24px; padding:20px; border-radius:20px; } 
 .main_apply_form .inquiry_auto_fields { gap:12px; } 
 .main_apply_form .inquiry_auto_field.inquiry_auto_half { width:100%; } 
 .main_apply_form .inquiry_auto_field > span, .main_apply_form .inquiry_auto_field legend { font-size:15px; line-height:1.6; } 
 .main_apply_form .inquiry_auto_field > input:not([type="checkbox"]):not([type="radio"]), .main_apply_form .inquiry_auto_field > select { height:40px; min-height:40px; margin-top:4px; padding:0 12px; font-size:12px; } 
 .main_apply_form .inquiry_auto_field > textarea { min-height:100px; margin-top:4px; padding:10px 12px; font-size:12px; } 
 .main_apply_form .inquiry_auto_choices { gap:12px; height:40px; min-height:40px; margin-top:4px; } 
 .main_apply_form .inquiry_auto_choices label { gap:8px; } 
 .main_apply_form .inquiry_auto_choices input { width:16px; height:16px; padding:0; } 
 .main_apply_form .inquiry_auto_choices input::after { width:10px; height:10px; top:2px; left:2px; } 
 .main_apply_form .inquiry_auto_choices span { font-size:12px; line-height:1.6; } 
 .main_form_row { flex-direction:column; gap:12px; } 
 .main_form_row + .main_form_row { margin-top:12px; } 
 .main_form_field > span:first-child, .main_form_field > label, .main_form_field legend { font-size:15px; line-height:1.6; } 
 .main_form_field input { height:40px; margin-top:4px; padding:0 12px; font-size:12px; font-weight:400; } 
 .main_form_field input::placeholder{font-weight:400;}
 .main_input_icon input { padding-right:40px; } 
 .main_input_icon .icon_calendar { top:14px; right:12px; } 
 .main_form_service { margin-top:12px; } 
 .main_service_check { justify-content:flex-start; gap:12px; height:40px; margin-top:4px; } 
 .main_service_check label { gap:8px; } 
 .main_service_check input { width:16px; height:16px; padding:0; margin:0; } 
 .main_service_check input::after { width:10px; height:10px; top:2px; left:2px; } 
 .main_service_check span { font-size:12px; line-height:1.6; } 
 .main_form_password { margin-top:12px; } 
 .main_form_password small:first-of-type { margin-top:8px; } 
 .main_form_captcha { margin-top:12px; } 
 .inquiry_captcha_widget { align-items:center; flex-direction:row; gap:8px; } 
 .inquiry_captcha_widget > input:not([type="hidden"]) { max-width:none; height:44px; padding:0 12px; font-size:12px; width: 100%; } 
 .inquiry_captcha_legacy img { width:143px; height:44px; } 
 .inquiry_captcha_legacy button { width:44px; height:44px; } 
 .main_privacy_check { gap:8px; margin-top:12px; } 
 .main_privacy_check input { width:20px; height:20px; } 
 .main_privacy_check input::after { width:10px; height:6px; top:5px; left:4px; } 
 .main_privacy_check span { font-size:15px; line-height:1.6; } 
 .main_privacy_check a { font-size:12px; line-height:1.6; } 
 .main_apply_submit { margin-top:30px; } 
 .privacy_page { padding:70px 0; } 
 .privacy_header h1 { font-size:30px; } 
 .privacy_content { margin-top:36px; } 
 .privacy_content h2 { padding:24px 0; font-size:19px; } 
 .privacy_content dl > div { flex-direction:column; } 
 .privacy_content dt { width:100%; padding:14px 16px; } 
 .privacy_content dd { padding:16px; } 
 } 
