.sub_con {margin-top:200px; overflow-x:hidden; padding-bottom:100px; font-size:16px; color:#333; font-weight:300;  line-height:1.5}
.sub_con img {max-width:100%}

.guide {color:#555; font-weight:400}
.guide b {color:#000}
.sub_text {color:#000; font-size:3.3em; margin-top:15px;  letter-spacing:-.5px; line-height:1.3;  font-weight:800}

.sub_vi {
  position: relative;
  width: 100%;
  height: 300px;
  margin-top: 60px;
  margin-bottom: 100px;
  display: block;
  overflow: hidden;
}

.sub_vi::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--sub-bg) no-repeat center;
  background-size: cover;
  transform: scale(1.15);
  animation: subViZoomOut 1.6s ease-out forwards;
  will-change: transform;
}

.sub_vi::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.12);
  pointer-events: none;
}

@keyframes subViZoomOut {
  from {
    transform: scale(1.15);
  }
  to {
    transform: scale(1);
  }
}


aside {width:100%; display:inline-block;  margin-bottom:70px   }
aside * {transition: all 0.3s ease-out;}
aside ul {width:100%; display:flex; justify-content:center;  gap:5px}
aside ul li { font-size:1.07em; position:relative; box-sizing:border-box; text-align:Center; font-weight:400;  border-radius:50px; background-color:#f4f7fa; -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px);}

aside ul li a {color:#333; display:inline-block; padding:0 25px; white-space:nowrap;  line-height:50px}
aside ul li.ov {background-color:var(--sub);  }
aside ul li.ov * {color:#fff}
aside ul li:hover {background-color:var(--sub);}
aside ul li:hover a {color:#fff}


h3.tit {font-size:2.5em; font-weight:800; margin-bottom:13px; color:#000;}
.tit_line {width:1px; height:17px; margin-bottom:30px;  background-color:#333;  display:inline-block}
hr.sub_hr {height:70px}
@media all and (max-width:1200px) {
		aside { overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; margin-bottom:50px}
		aside ul {  justify-content:flex-start; padding:0 12px; box-sizing:border-box;   flex-wrap: nowrap; width: max-content; min-width: 100%;}
		aside ul li {flex: 0 0 auto; font-size:1.05em;}
		aside ul li a {padding:0 20px}

}
@media all and (max-width:800px) {
		.sub_con {font-size:15px; margin-top:150px}
		.sub_text {font-size:1.8em}
		h3.tit {font-size:1.8em;  margin-bottom:10px;  }

   
       .sub_vi {height:200px; margin-bottom:70px}

}
 


.about h4 {font-size:1.8em; color:#000;}
.about .t1 {color:#000; font-size:1.35em; font-weight:700;  line-height:1.6}
.about .t2 {font-size:1.05em; font-weight:300; line-height:1.6}
.status-inner {display:flex;  margin-top:30px}
.status-content {width:47%; flex-shrink:0}
.status-list {display:flex; flex-direction:column; gap:1px}

.status-row { display: flex; align-items: stretch; overflow: hidden; }
.status-row dt { width: 160px; flex: 0 0 160px; margin: 0; padding: 12px 20px; background: #1E3A5F; color: #fff; font-size: 16px; font-weight: 700; display: flex; align-items: center; justify-content: center; text-align: center; word-break: keep-all; }
.status-row dd { flex: 1; margin: 0; padding: 12px 20px; font-size: 16px; line-height: 1.7; background: #f7f9fc; color: #333; word-break: keep-all; }

.right_box {width:50%; margin-left:auto;  flex-shrink:0}
.right_box div {width:100%; display:flex; align-items:center; justify-content:space-between }
.right_box div img {width:25%}
 



.map  {gap:50px; }
.map iframe {margin-left:auto}
.map .left_area { width:30%; flex-shrink:0}
.map .left_area h3 {font-size:2.4em; font-weight:700; margin-top:5px}
.map .left_area p {font-weight:300; font-size:1.1em;  line-height:1.6}
.map .left_area div {gap:10px}
.map .left_area a {border:1px solid #ddd; line-height:40px; color:#333;  width:130px; text-align:center; display:inline-block}

@media all and (max-width:800px) {
		.about .t1 { font-size:1.2em; }
		.about h4 {font-size:1.5em;  }

		.status-inner {flex-wrap:Wrap}
		.status-content {width:100%;  }
		.right_box {width:100%;  margin-top:20px}
		.map .left_area {width:100%}
		.map .left_area h3 {font-size:1.4em;  }
		.status-row dt {width:70px;  flex: 0 0 70px; padding:10px 10px;  font-size:1em}
		.status-row dd { padding:10px 10px;  font-size:1em }


}

.section + .section {margin-top:50px}

.section h3 {font-size:25px;  letter-spacing:-1px; color:#000; font-weight:700; margin-bottom:10px}
.section h4 {font-size:1.2em;  color:#000; font-weight:500; margin-bottom:10px}
.section table {width:100%; margin:10px 0; border-top:3px solid #333; }
.section table th { font-weight:600;  font-weight:400; text-align:left;  background-color:#f4f7fa; padding:10px}
.section table td {  padding:10px}
.section table tr {border-bottom:1px solid #ddd}
.business6 .compare_table th {text-align:center;}
.business6 .compare_table th:last-child {text-align:left;}
.business6 .compare_table td {text-align:center;}
.business6 .compare_table td:last-child {text-align:left;}

.section dl { box-sizing:border-box}
.section dl dt {font-size:1.2em; font-weight:600; margin-bottom:5px}
.section dl dd p {display:flex; gap:9px }
.section dl dd p + p {margin-top:3px}
.section dl dd p:before {content:''; width:3px; height:3px; background-color:#333; flex-shrink:0; margin-top:9px}

@media all and (max-width:800px) {

		.section h3 {font-size:1.3em}
		.section h4 {font-size:1.15em}


}


.case_wrap { display:flex; flex-wrap:wrap; gap:20px 0;   justify-content:space-between }
.case_box { width:49%;  background:#f4f7fa; box-sizing:border-box}
.case_box h4 { background:var(--main); color:#fff; padding:9px 13px; font-weight:500; font-size:1.15em; display:flex;  justify-content:space-between; align-items:center; margin-bottom:0 }
.case_box h4:after {content:'01';  font-size:21px; font-weight:400;  font-family: "Montserrat", sans-serif;   }
.case_box:nth-child(2) h4:after {content:'02'; }
.case_box:nth-child(3) h4:after {content:'03'; }
.case_box:nth-child(4) h4:after {content:'04'; }

.case_box div {box-sizing:border-box; width:100%; padding:15px}
.source { margin-top:10px; font-size:15px; color:#666;  }

.icon_wrap_wrap {justify-content:space-between; gap:20px 0}
.icon_wrap {display:flex; border:1px solid #ddd; padding:20px; box-sizing:border-box; box-sizing:border-box; align-items:center; width:49%;  gap:30px; justify-content:space-between}
.icon_wrap dl {width:100%; padding-right:50px;}
.icon_wrap dl dt {font-weight:700; font-size:1.22em; border-bottom:1px solid #ddd; padding-bottom:7px; margin-bottom:15px}
.icon_wrap img {flex-shrink:0; width:130px}
 
@media all and (max-width:800px) {
		.case_box {width:100%}
		.case_box h4 {font-size:1.1em}
		.case_box h4:after { display:none  }
		.icon_wrap {width:100%; flex-wrap:wrap}
		.icon_wrap img {width:90px; margin:0 auto}
		.icon_wrap dl {padding-right:0}

}

.bg_box {background-color:#f4f7fa; width:100%; border-radius:0; font-size:1.1em; display:inline-block; padding:30px 50px; box-sizing:border-box }
.bg_box b {font-weight:700; color:#000}
.img_box {text-align:center;  box-sizing:border-box; padding:30px 20px; border: 1px solid var(--line); /* border-radius: 20px;   box-shadow: 0 8px 30px rgba(16, 24, 40, .04);  */}
.img_box.flex {align-items:center; justify-content:Center; gap:20px}


@media all and (max-width:800px) {
	.bg_box {font-size:1.05em; padding:25px 15px}

}
.basic li {display:flex; gap:7px; font-size:.93em}
.basic li:before {content:''; width:6px; height:6px; margin-top:8px; border-radius:50%;   background-color:#333; display:inline-block; flex-shrink:0}

.logo_list {gap:10px}
.logo_list li {width:calc(20% - 10px); box-sizing:border-box; border:1px solid #ddd; height:100px; display:flex; align-items:center;  justify-content:center;}
.logo_list li img {max-width:70%; max-height:60%}

.feature_list {display:flex; border:1px solid #ddd; padding:25px; box-sizing:border-box; flex-direction:column; gap:18px}
.feature_list li {display:flex; gap:30px;  font-size:1em;}
.feature_list li:before {content:'01'; width:43px; height:43px; display:flex; align-items:center;  justify-content:center; border-radius:10px; background-color:#1356b8; flex-shrink:0; color:#fff; font-size:18px; line-height:1.2; font-family: "Montserrat", sans-serif; font-weight:400; margin-top:4px}
.feature_list li:nth-child(2):before {content:'02'; }
.feature_list li:nth-child(3):before {content:'03'; }
.feature_list li:nth-child(4):before {content:'04'; }
.feature_list li:nth-child(5):before {content:'05'; }
.feature_list li:nth-child(6):before {content:'06'; }
.feature_list li strong {font-size:1.17em; color:#000; font-weight:700; display:block; margin-bottom:3px}

@media all and (max-width:800px) {
		.feature_list {padding:20px}
		.feature_list li {gap:15px}

		.feature_list li:before {width:35px; height:35px; font-size:1em; }
		.feature_list li strong {font-size:1.13em; }

		.logo_list li {width:calc(33% - 6px); height:70px}

}
 
.contact_form {
    max-width: 700px;

	font-size:17px; 
    margin: 0 auto;
    padding: 48px;
    background: #fff;
    border: 1px solid #e8edf3;
    border-radius: 16px;
 }

.contact_form ul {
    display: grid;
    gap: 15px;
}

.contact_form li {
    display: grid;
    grid-template-columns: 130px 1fr;
    align-items: center;
    gap: 15px;
}

 

.contact_form h3 {
   font-size:1em; 
     font-weight:600;
    color: #1f2937;
}

.contact_form .point::after {
    content: "*";
    margin-left: 4px;
    color: #2563eb;
    font-weight: 800;
}

.contact_form input[type="text"],
.contact_form input[type="file"],
.contact_form textarea {
    width: 100%;
    height: 48px;
    padding: 0 13px;
    border: 1px solid #dbe3ec;
    border-radius:5px;
    background: #f8fafc;
   
    color: #111827;
    transition: all .2s ease;
    box-sizing: border-box;
}

.contact_form textarea {
    height: 180px;
    padding: 18px;
    resize: vertical;
    line-height: 1.6;
}

.contact_form input:focus,
.contact_form textarea:focus {
    border-color: #2563eb;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
    outline: none;
}

.contact_form .email {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #6b7280;
}

.contact_form .email input {
    flex: 1;
}

.contact_form input[type="file"] {
    padding: 12px 16px;
    cursor: pointer;
 
}

.contact_form .tit {
    margin-top: 48px;
     font-weight: 800;
    color: #111827;
}

.privacy_text {
    margin-top: 14px;
    padding: 22px 24px;
    max-height: 160px;
    overflow-y: auto;
    border: 1px solid #e5eaf0;
    border-radius: 5px;
    background: #f8fafc;
    color: #4b5563;
     line-height: 1.5;
	 font-size:.90em; 
}

.privacy_check {
    margin-top: 18px;
	 font-size:.93em; 
	
 }

.privacy_check label {
    display: flex;
    align-items: center;
    
     color: #374151;
    cursor: pointer;
}

.privacy_check input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #2563eb;
}

.basic_btn2 {
    min-width: 180px;
    height: 56px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    color: #fff;
     font-weight: 700;
    cursor: pointer;
    box-shadow: 0 12px 28px rgba(37, 99, 235, 0.28);
    transition: all .2s ease;
}

.basic_btn2:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 36px rgba(37, 99, 235, 0.34);
}

.g-recaptcha {
    transform-origin: left top;
}

@media (max-width: 768px) {
    .contact_form {
         padding:0;
		 border:none;
     
    }

    .contact_form li {
        grid-template-columns: 1fr;
        gap: 10px;
    }

     

    .contact_form .email {
        flex-wrap: wrap;
    }

    .contact_form .email input {
        flex: 1 1 calc(50% - 20px);
    }

    .basic_btn2 {
        width: 100%;
    }
}
