@charset "UTF-8";

/* ==========================================================
Common
========================================================== */
@media screen and (max-width:1024px){
.container{padding:0 32px;}
.section{padding:80px 0;}
.section_heading{margin-bottom:48px;}
.section_heading h2{font-size:2rem;line-height:1.5;}
.section_heading h3{font-size:1.375rem;line-height:1.5;}
.section_heading p{font-size:1rem;}
.btn{padding:16px 20px;}
.btn_large{min-width:auto;}
[id]{scroll-margin-top:70px;}
body.lower [id]{scroll-margin-top:100px;}
}

@media screen and (max-width:767px){
.container{padding:0 20px;}
.section{padding:64px 0;}
.section_heading{margin-bottom:40px;}
.section_heading h2{margin-bottom:8px;font-size:1.75rem;line-height:1.45;}
.section_heading h3{margin-bottom:16px;font-size:1.25rem;line-height:1.5;}
.section_heading p{font-size:1rem;line-height:1.75;}
.btn{width:100%;padding:16px 20px;font-size:1rem;}
.btn img{width:20px;height:20px;}
.btn_large{width:100%;min-width:auto;}
[id]{scroll-margin-top:50px;}
body.lower [id]{scroll-margin-top:80px;}
}

/* ==========================================================
Page FV
========================================================== */
@media screen and (max-width:1024px){
.page_fv{min-height:320px;margin-top:72px;}
.page_fv_content h1{margin-bottom:20px;font-size:2.5rem;line-height:1.4;}
.page_fv_content p{font-size:1rem;line-height:1.7;}
}

@media screen and (max-width:767px){
.page_fv{min-height:240px;margin-top:64px;}
.page_fv_overlay{background:rgba(0,0,0,.4);}
.page_fv_content h1{margin-bottom:16px;font-size:2rem;line-height:1.4;}
.page_fv_content p{font-size:1rem;line-height:1.7;}
.page_fv_content p br{display:none;}
}

/* ==========================================================
Breadcrumb
========================================================== */
@media screen and (max-width:1024px){
.breadcrumb{padding:24px 0;}
}

@media screen and (max-width:767px){
.breadcrumb{padding:20px 0;}
.breadcrumb_list{gap:8px;}
.breadcrumb_list li{font-size:.8125rem;}
.breadcrumb_list li+li::before{margin:0 8px;}
}

/* ==========================================================
Header
========================================================== */
@media screen and (max-width:1024px){
.header>.container{padding:0 24px;}
.header_top{height:72px;}
.header_logo img{width:220px;}
.header_actions{display:none;}
.hamburger_button{display:flex;position:fixed;top:16px;right:24px;flex-direction:column;justify-content:center;align-items:center;width:40px;height:40px;gap:6px;z-index:1100;}
.hamburger_button span{display:block;width:28px;height:2px;background:#333333;border-radius:999px;transition:transform .3s,opacity .3s;}
.hamburger_button.is_active span:nth-child(1){transform:translateY(8px) rotate(45deg);}
.hamburger_button.is_active span:nth-child(2){opacity:0;}
.hamburger_button.is_active span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}
.header_nav{position:fixed;top:72px;left:0;width:100%;height:calc(100vh - 72px);background:#FFFFFF;border-top:1px solid #C8D0DE;overflow-y:auto;transform:translateX(100%);transition:transform .3s;z-index:999;}
.header_nav.is_open{transform:translateX(0);}
.header_nav .container{padding:0;}
.header_sp_actions{display:flex;flex-direction:column;gap:16px;padding:24px;}
.header_sp_actions .btn{width:100%;}
.header_menu_pc{display:none;}
.header_menu_sp{display:flex;flex-direction:column;margin:0;padding:0;}
.header_menu_sp li{display:flex;border-bottom:1px solid #C8D0DE;}
.header_menu_sp a{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:64px;padding:0 24px;color:#333333;font-size:1rem;font-weight:700;line-height:1.65;}
.header_menu_sp a:hover{color:#6D6D6D;}
.header_menu_sp a:active{color:#888888;}
.menu_separator{display:block;height:24px;background:#F5F7F9;border-bottom:none;pointer-events:none;}
body.menu_open{overflow:hidden;}
}

@media screen and (max-width:767px){
.header>.container{padding:0 20px;}
.header_top{height:64px;}
.header_logo img{width:180px;}
.hamburger_button{top:12px;right:20px;}
.header_nav{top:64px;height:calc(100vh - 64px);}
.header_sp_actions{padding:20px;}
.header_menu_sp a{padding:0 20px;}
.menu_separator{height:20px;}
}
/* ==========================================================
FV
========================================================== */
@media screen and (max-width:1024px){
.fv{padding-top:72px;min-height:100svh;}
.fv .container{padding:0 32px;}
.fv_content{max-width:100%;min-height:calc(100svh - 72px);}
.fv_title{margin-bottom:20px;}
.fv_title_main{font-size:3.5rem;}
.fv_title_sub{margin-top:12px;font-size:3.5rem;}
.fv_lead{font-size:1.25rem;}
.fv_logo img{width:420px;}
.fv .btn{width:100%;max-width:520px;min-height:64px;font-size:1.25rem;}
.fv .btn img{width:28px;height:28px;}
}

@media screen and (max-width:767px){
.fv{padding-top:64px;min-height:100svh;}
.fv .container{padding:0 20px;}
.fv_content{min-height:calc(100svh - 64px);}
.fv_title{margin-bottom:16px;}
.fv_title_main{font-size:2.5rem;line-height:1.3;}
.fv_title_sub{margin-top:8px;font-size:2.5rem;line-height:1.3;}
.fv_lead{font-size:1rem;line-height:1.6;}
.fv_logo{margin-top:8px;}
.fv_logo img{width:280px;}
.fv .btn{width:100%;min-height:56px;margin-top:24px;font-size:1rem;}
.fv .btn img{width:24px;height:24px;}
}

/* ==========================================================
Problem
========================================================== */
@media screen and (max-width:1024px){
.problem_grid{grid-template-columns:repeat(2,1fr);gap:20px;}
.problem_card{padding:28px 20px;}
.problem_header{margin-bottom:20px;}
.problem_header img{width:56px;margin:0 auto 12px;}
.problem_number{margin-bottom:8px;font-size:1.375rem;}
.problem_title{min-height:auto;font-size:1.375rem;}
.problem_text{font-size:1rem;}
}

@media screen and (max-width:767px){
.problem_grid{grid-template-columns:1fr;gap:16px;}
.problem_card{padding:24px 20px;}
.problem_header img{width:48px;}
.problem_number{font-size:1.25rem;}
.problem_title{font-size:1.25rem;line-height:1.5;}
.problem_text{line-height:1.7;}
}

/* ==========================================================
Intro
========================================================== */
@media screen and (max-width:1024px){
.intro_inner{gap:32px;}
.intro_text{flex:1.2;}
.intro_text h2{margin-bottom:24px;font-size:1.625rem;line-height:1.6;}
.intro_text h2 br{display:none;}
.intro_text p{font-size:1rem;line-height:1.7;}
.intro_image{flex:0 0 380px;}
.intro_image img{max-width:380px;}
}

@media screen and (max-width:767px){
.intro_inner{flex-direction:column;gap:32px;}
.intro_text{width:100%;text-align:left;}
.intro_text h2{margin-bottom:20px;font-size:1.5rem;line-height:1.5;}
.intro_text p{font-size:1rem;line-height:1.7;}
.intro_image{flex:none;width:100%;}
.intro_image img{max-width:100%;}
}

/* ==========================================================
Strength
========================================================== */
@media screen and (max-width:1024px){
.strength .section_heading{margin-bottom:48px;}
.strength .section_heading p br{display:none;}
.strength_grid{grid-template-columns:repeat(2,1fr);gap:24px;}
.strength_top_card{padding:24px;}
.strength_top_label{margin-bottom:12px;font-size:.9375rem;}
.strength_top_card h4{font-size:1.25rem;line-height:1.5;}
.strength_arrow{margin:20px 0;border-left:24px solid transparent;border-right:24px solid transparent;border-top:24px solid #006AA7;}
.strength_card{padding:32px 24px;}
.strength_label{margin-bottom:12px;font-size:.9375rem;}
.strength_number{margin-bottom:20px;font-size:1.375rem;}
.strength_card h4{margin:0 0 20px;font-size:1.25rem;line-height:1.5;}
.strength_card p:last-child{font-size:1rem;line-height:1.7;}
}

@media screen and (max-width:767px){
.strength .section_heading p br{display:none;}
.strength_grid{grid-template-columns:1fr;gap:24px;}
.strength_top_card{padding:20px;}
.strength_top_label{margin-bottom:8px;font-size:.875rem;}
.strength_top_card h4{font-size:1.125rem;line-height:1.5;text-align:center;}
.strength_arrow{margin:16px 0;border-left:20px solid transparent;border-right:20px solid transparent;border-top:20px solid #006AA7;}
.strength_card{padding:24px 20px;}
.strength_label{margin-bottom:12px;font-size:.875rem;}
.strength_number{margin-bottom:16px;font-size:1.25rem;}
.strength_card h4{margin:0 0 20px;font-size:1.125rem;line-height:1.5;text-align:center;}
.strength_card p:last-child{font-size:1rem;line-height:1.7;text-align:left;}
}

/* ==========================================================
Function
========================================================== */
@media screen and (max-width:1024px){
.function_item{gap:24px;width:90%;margin:0 auto;padding:48px 20px;box-sizing:border-box;}
.function_text{flex:1.2;min-width:0;}
.function_title{gap:12px;margin-bottom:20px;}
.function_title img{width:48px;height:48px;}
.function_title h3{font-size:1.25rem;line-height:1.5;}
.function_text>p{margin:0 0 24px;font-size:1rem;line-height:1.7;}
.function_feature h4{padding:12px 20px;font-size:1rem;text-align:center;}
.function_feature ul{margin:16px 0 0;padding-left:20px;}
.function_feature li{font-size:1rem;line-height:1.7;}
.function_image{flex:.8;display:flex;justify-content:flex-end;align-items:center;}
.function_image img{width:100%;max-width:360px;}
}

@media screen and (max-width:900px){
.function_item{flex-direction:column;gap:32px;width:90%;margin:0 auto;padding:40px 20px;box-sizing:border-box;}
.function_text{width:100%;}
.function_title{justify-content:center;gap:12px;margin-bottom:20px;}
.function_title img{width:48px;height:48px;}
.function_title h3{font-size:1.25rem;line-height:1.5;text-align:center;}
.function_text>p{margin:0 0 24px;font-size:1rem;line-height:1.7;text-align:left;}
.function_feature h4{padding:14px 20px;font-size:1rem;text-align:center;}
.function_feature ul{margin:16px 0 0;padding-left:20px;}
.function_feature li{font-size:1rem;line-height:1.7;}
.function_image{width:100%;display:flex;justify-content:center;}
.function_image img{width:100%;max-width:100%;}
}

/* ==========================================================
Effect
========================================================== */
@media screen and (max-width:1024px){
.effect .section_heading{margin-bottom:48px;}
.effect .section_heading p{font-size:1rem;line-height:1.7;}
.effect_item{gap:32px;width:90%;margin:0 auto;padding:40px 20px;box-sizing:border-box;}
.effect_image{flex:0 0 180px;}
.effect_image img{width:100%;max-width:180px;margin:0 auto;}
.effect_content{flex:1;min-width:0;}
.effect_content h4{margin:0 0 20px;font-size:1.375rem;line-height:1.5;}
.effect_content li{padding-left:28px;font-size:1rem;line-height:1.7;}
.effect_content li::before{width:18px;height:18px;}
}

@media screen and (max-width:900px){
.effect .section_heading p{text-align:left;}
.effect_item{flex-direction:column;gap:24px;width:90%;margin:0 auto;padding:32px 20px;box-sizing:border-box;}
.effect_image{flex:none;}
.effect_image img{max-width:180px;}
.effect_content{width:100%;}
.effect_content h4{margin:0 0 20px;font-size:1.25rem;line-height:1.5;text-align:center;}
.effect_content ul{width:100%;}
.effect_content li{padding-left:28px;font-size:1rem;line-height:1.7;}
.effect_content li::before{width:18px;height:18px;}
}

/* ==========================================================
Flow
========================================================== */
@media screen and (max-width:1024px){
.flow .section_heading{margin-bottom:48px;}
.flow .section_heading p{font-size:1rem;line-height:1.7;}
.flow_list{grid-template-columns:repeat(3,1fr);gap:40px 32px;margin-top:48px;}
.flow_list::before{display:none;}
.flow_number{width:40px;height:40px;margin-bottom:16px;font-size:1.125rem;}
.flow_item h4{margin:0 0 20px;font-size:1.125rem;line-height:1.5;}
.flow_icon{width:100px;height:100px;margin:0 auto 20px;}
.flow_icon img{width:56px;}
.flow_item p{font-size:1rem;line-height:1.7;}
}

@media screen and (max-width:900px){
.flow_list{grid-template-columns:repeat(2,1fr);gap:32px 24px;margin-top:40px;}
.flow_item:last-child{grid-column:1;}
.flow_number{width:40px;height:40px;margin-bottom:16px;}
.flow_item h4{margin:0 0 16px;font-size:1.125rem;line-height:1.5;}
.flow_icon{width:96px;height:96px;margin:0 auto 16px;}
.flow_icon img{width:52px;}
.flow_item p{font-size:1rem;line-height:1.7;text-align:left;}
}
/* ==========================================================
Spec
========================================================== */
@media screen and (max-width:1439px){
.spec_card_grid{grid-template-columns:repeat(2,1fr);}
}

@media screen and (max-width:1024px){
.spec_section{padding-bottom:80px;}
.spec_edge{padding:80px 0;}
.spec_block{margin-bottom:64px;}
.spec_block h3{margin-bottom:20px;font-size:1.375rem;line-height:1.5;}
.spec_block>p{margin-bottom:32px;font-size:1rem;line-height:1.7;}
.spec_card_grid{grid-template-columns:repeat(2,1fr);gap:20px;}
.spec_card{padding:24px;}
.spec_card h4{margin-bottom:20px;font-size:1rem;line-height:1.6;}
.spec_card p{font-size:1rem;line-height:1.7;}
.spec_card img{margin-top:24px;}
.spec_table th,.spec_table td{padding:14px;font-size:.9375rem;}
.spec_table th{width:23%;}
.spec_table_camera img{max-width:90px;}
.spec_device_grid{gap:20px;}
.table_scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.spec_table_camera{min-width:980px;}
}

@media screen and (max-width:767px){
.spec_section{padding-bottom:64px;}
.spec_edge{padding:64px 0;}
.spec_section .section_heading{margin-bottom:32px;}
.spec_block{margin-bottom:48px;}
.spec_block h3{margin-bottom:16px;font-size:1.25rem;line-height:1.5;}
.spec_block>p{margin-bottom:24px;font-size:1rem;line-height:1.7;}
.spec_card_grid{grid-template-columns:1fr;gap:16px;}
.spec_card{padding:20px;}
.spec_card h4{margin-bottom:16px;font-size:1.125rem;line-height:1.5;}
.spec_card p{font-size:1rem;line-height:1.7;}
.spec_card img{margin-top:20px;}
.spec_table th,.spec_table td{padding:12px;font-size:.875rem;}
.spec_table th{width:26%;}
.spec_table_camera{min-width:900px;}
.spec_table_device{min-width:420px;}
.spec_device_grid{grid-template-columns:1fr;gap:16px;}
.table_scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.spec_edge_device .spec_table_device th:first-child{width:3%;}
}

/* ==========================================================
FAQ
========================================================== */
@media screen and (max-width:1024px){
.faq_anchor{padding-bottom:80px;}
.faq_anchor_grid{grid-template-columns:repeat(2,1fr);gap:20px;}
.faq_anchor_item{height:56px;padding:0 20px;font-size:1rem;}
.faq_section{padding-bottom:80px;}
.faq_section .section_heading{margin-bottom:32px;}
.faq_question{min-height:80px;padding:20px 64px 20px 24px;font-size:1.25rem;}
.faq_question::after{right:24px;width:20px;height:20px;}
.faq_answer{padding:8px 24px 24px;}
.faq_answer p{font-size:1rem;line-height:1.7;}
}

@media screen and (max-width:767px){
.faq_anchor{padding-bottom:64px;}
.faq_anchor_grid{grid-template-columns:1fr;gap:16px;}
.faq_anchor_item{height:56px;padding:0 20px;font-size:1rem;}
.faq_section{padding-bottom:64px;}
.faq_section .section_heading{margin-bottom:24px;}
.faq_question{min-height:72px;padding:20px 56px 20px 20px;font-size:1.125rem;line-height:1.5;}
.faq_question::after{right:20px;width:20px;height:20px;}
.faq_answer{padding:8px 20px 24px;}
.faq_answer p{font-size:1rem;line-height:1.7;}
}

/* ==========================================================
thanks
========================================================== */
@media screen and (max-width:1024px){
.thanks{min-height:calc(100vh - 220px);padding:80px 0;}
.thanks_inner{max-width:none;}
.thanks_icon{width:72px;height:72px;margin:40px auto 32px;}
.thanks_icon::before{width:34px;height:20px;border-left-width:4px;border-bottom-width:4px;}
.thanks_content{padding:0 24px;}
.thanks_content h1{margin-bottom:32px;font-size:2rem;line-height:1.5;}
.thanks_message{font-size:1rem;line-height:1.7;}
.thanks_message+.thanks_message{margin-top:20px;}
}
@media screen and (max-width:767px){
.thanks{min-height:calc(100vh - 200px);padding:64px 0;}
.thanks_icon{width:64px;height:64px;margin:32px auto 24px;}
.thanks_icon::before{width:30px;height:18px;border-left-width:4px;border-bottom-width:4px;}
.thanks_content{padding:0;}
.thanks_content h1{margin-bottom:24px;font-size:1.75rem;line-height:1.45;}
.thanks_message{font-size:1rem;line-height:1.7;}
.thanks_message+.thanks_message{margin-top:16px;}
}

/* ==========================================================
404
========================================================== */
@media screen and (max-width:1024px){
.error404{min-height:calc(100vh - 220px);padding:80px 0;}
.error404_inner{max-width:none;margin:80px auto 0;padding:0 24px;box-sizing:border-box;}
.error404_code{margin:0 0 20px;font-size:5rem;line-height:1;}
.error404_inner h1{margin:0 0 32px;font-size:2rem;line-height:1.5;}
.error404_message{margin:0 0 32px;font-size:1rem;line-height:1.7;}
.error404 .btn{min-width:280px;}
}
@media screen and (max-width:767px){
.error404{min-height:calc(100vh - 200px);padding:64px 0;}
.error404_inner{margin:64px auto 0;padding:0 20px;}
.error404_code{margin:0 0 16px;font-size:4rem;}
.error404_inner h1{margin:0 0 24px;font-size:1.75rem;line-height:1.45;}
.error404_message{margin:0 0 32px;font-size:1rem;line-height:1.7;}
.error404 .btn{width:100%;min-width:0;}
}

/* ==========================================================
CTA
========================================================== */
@media screen and (max-width:1024px){
.cta{padding:80px 0;}
.cta .section_heading{margin-bottom:40px;}
.cta .section_heading h2{font-size:2rem;line-height:1.5;}
.cta .section_heading h3{font-size:1.375rem;line-height:1.5;}
.cta .section_heading p{font-size:1rem;line-height:1.7;}
.cta .btn{min-width:360px;padding:24px 40px;}
.cta .btn span{font-size:1.25rem;line-height:1.5;}
}

@media screen and (max-width:767px){
.cta{padding:64px 0;}
.sp_only{display:block;}
.cta .section_heading{margin-bottom:32px;}
.cta .section_heading h2{font-size:1.75rem;line-height:1.45;}
.cta .section_heading h3{font-size:1.25rem;line-height:1.5;}
.cta .section_heading p{font-size:1rem;line-height:1.7;}
.cta .btn{width:100%;min-width:0;padding:20px 24px;}
.cta .btn span{font-size:1.125rem;line-height:1.5;}
.cta .btn img{width:24px;height:24px;}
}

/* ==========================================================
Footer
========================================================== */
@media screen and (min-width:1025px) and (max-width:1130px){
.footer_logo{margin-right:40px;}
.footer_logo_yazaki img{width:220px;}
.footer_logo_tsf img{width:280px;}
.footer_menu+.footer_menu{margin-left:20px;}
.footer_menu a{font-size:.8125rem;line-height:1.6;white-space:nowrap;}
.footer_logo .header_login{min-width:140px;padding:12px 20px;}
}

@media screen and (max-width:1024px){
.footer_inner{display:flex;flex-direction:column;align-items:center;gap:32px;padding:48px 0;}
.footer_logo{width:100%;margin:0;align-items:center;}
.footer_logo_yazaki img{width:180px;}
.footer_logo_tsf{margin-bottom:0px;}
.footer_logo_tsf img{width:240px;}
.footer_logo .header_login{min-width:180px;}
.footer_menu{display:none;}
.footer_copy{padding:16px 0;}
.footer_copy p{font-size:.875rem;line-height:1.55;}
}

@media screen and (max-width:767px){
.footer_inner{padding:40px 0;gap:28px;}
.footer_logo{width:100%;margin:0;align-items:center;}
.footer_logo_yazaki img{width:160px;}
.footer_logo_tsf{margin-bottom:0px;}
.footer_logo_tsf img{width:200px;}
.footer_logo .header_login{width:100%;max-width:280px;}
.footer_menu{display:none;}
.footer_copy{padding:16px 0;}
.footer_copy p{font-size:.875rem;line-height:1.55;}
}