/* main_about */
#main_about { position: relative; padding: 120px 0; overflow: hidden; background: url(/image/main/about_bg.jpg) no-repeat center/cover; }
#main_about dl { display: flex; flex-wrap: nowrap; justify-content: space-between; }
#main_about dl dt { position: relative; width: 48%; }
#main_about dl dt .txtbox { position: relative; top: 50%; transform: translateY(-50%); }
#main_about dl dt .txtbox .txt1 { font-weight: 700; font-size: 50px; color: #163d6c; }
#main_about dl dt .txtbox .txt2 { margin-top: 35px; font-size: 18px; color: #656565; line-height: 1.66; }
#main_about dl dt .txtbox .txt2 span { font-size: 25px; color: #000; }
#main_about dl dt .txtbox a { position: relative; display: inline-block; margin-top: 30px; padding: 12px 40px; text-align: center; border: 2px solid #052d5f; overflow: hidden; }
#main_about dl dt .txtbox a span { z-index: 3; position: relative; display: block; text-align: center; font-weight: 600; font-size: 16px; color: #163d6c; transition: color 0.3s; } 
#main_about dl dt .txtbox a::after { display: block; content: ''; z-index: 1; position: absolute; left: -100%; top: -2%; width: 100%; height: 102%; background-color: #052d5f; transition: left 0.3s; }
#main_about dl dt .txtbox a:hover::after { left: 0; }
#main_about dl dt .txtbox a:hover span { color: #fff; }
#main_about dl dd { width: 48%; text-align: right; }
#main_about dl dd img { display: inline-block; width: 642px; }
@media (max-width: 1535px) {
    #main_about dl dd img { width: calc(300px + 20vw); }
}
@media (max-width: 1023px) {
    #main_about dl dt .txtbox .txt2 br { display: none; }
}
@media (max-width: 767px) {
    #main_about dl { flex-wrap: wrap; flex-direction: column-reverse; }
    #main_about dl dt { width: 100%; margin-top: 25px; }
    #main_about dl dd { width: 100%; text-align: center; }
    #main_about dl dt .txtbox { top: initial; transform: translateY(0); text-align: center; }
    #main_about dl dt .txtbox .txt2 { display: inline-block; max-width: 600px; }
}

/* main_product */
#main_product { position: relative; padding: 120px 0; overflow: hidden; background: url(/image/main/product_bg.jpg) no-repeat center/cover; }
#main_product .txt1 { text-align: center; font-weight: 700; font-size: 45px; color: #fff; }
#main_product ul { margin-top: 40px; display: flex; flex-wrap: nowrap; justify-content: space-between; }
#main_product ul > li { position: relative; width: 24%; background-color: #fff; }
#main_product ul > li a { position: relative; display: block; height: 100%; }
#main_product ul > li img { width: 100%; }
#main_product ul > li .descbox { position: relative; padding: 20px; }
#main_product ul > li .descbox .desc1 { text-align: center; font-weight: 700; font-size: 32px; color: #022b5d; line-height: 1.42; }
#main_product ul > li .descbox .desc2 { display: none; font-weight: 300; font-size: 18px; color: #7d7d7d; line-height: 1.42; }
@media (max-width: 767px) {
    #main_product ul { flex-wrap: wrap; }   
    #main_product ul > li { width: 48%; }
    #main_product ul > li:nth-of-type(n + 3) { margin-top: 4%; }
}

/* main_contact */
#main_contact { position: relative; padding: 70px 0; overflow: hidden; }
#main_contact .main_tit { font-weight: 700; font-size: 34px; color: #333; }
#main_contact .contents { margin-top: 55px; display: flex; flex-wrap: nowrap; }
#main_contact .contents .left { min-width: max-content; margin-right: 80px; }
#main_contact .contents .left .txtbox { position: relative; }
#main_contact .contents .left .txtbox p { font-size: 18px; color: #9d9d9d; line-height: 1.65; }
#main_contact .contents .left .txtbox p:nth-of-type(n + 2) { margin-top: 35px; }
#main_contact .contents .left .txtbox p b { display: block; font-weight: 700; color: #000; }
#main_contact .contents .right { width: 100%; }
@media (max-width: 1535px) {
    #main_contact .contents .left { margin-right: calc(45px + 2vw); }
    #main_contact .contents .left .txtbox p:nth-of-type(n + 2) { margin-top: 30px; }
}
@media (max-width: 1279px) {
    #main_contact .contents .left .txtbox p:nth-of-type(n + 2) { margin-top: 20px; }
}
@media (max-width: 1023px) {
    #main_contact .contents { display: block; }
    #main_contact .contents .left { min-width: initial; margin-right: 0; width: 100%; }
    #main_contact .contents .left .txtbox { display: flex; flex-wrap: wrap; }
    #main_contact .contents .left .txtbox p { width: 50%; }
    #main_contact .contents .left .txtbox p:nth-of-type(n + 2) { margin-top: initial; }
    #main_contact .contents .left .txtbox p:nth-of-type(n + 3) { margin-top: 20px; }
    #main_contact .contents .right { width: 100%; margin-top: 25px; }
}
@media (max-width: 524px) {
    #main_contact .contents .left .txtbox { display: block; }
    #main_contact .contents .left .txtbox p { width: 100%; }
    #main_contact .contents .left .txtbox p:nth-of-type(n + 3) { margin-top: initial; }
    #main_contact .contents .left .txtbox p:nth-of-type(n + 2) { margin-top: 15px; }
}