@charset "utf-8";

.sub_visual .title h2 img { max-width: 80%; }
.sub_visual h5 { font-size: 110%; font-weight: 400; font-family: var(--font-type02); display: flex; justify-content: center; align-items: center; width: fit-content; padding-block: 12px; padding-inline: 20px; border-radius: 60px; border: 1px solid var(--point-white05); background: var(--point-white04); letter-spacing: -0.015em; }

.sub_solution .sub_visual .title { gap: 35px; }
.sub_solution .sub_visual .title h6 { font-weight: 500; }
.sub_solution:has(.sub_won) .sub_visual .title h2 { translate: 0 -5px; }

.sub_title { font-size: var(--title-20); display: flex; flex-direction: column; gap: 20px; }
.sub_title h4 { color: var(--black-color00); font-weight: 600; font-size: 230%; line-height: 1.4; letter-spacing: -0.03em; }
.sub_title p { color: var(--black-color03); font-weight: 400; font-size: 100%; line-height: 1.4; letter-spacing: -0.03em; }
.sub_title.hd { padding-block: 120px 60px; }
.sub_title.cen { text-align: center; }
.sub_title.wh { filter: var(--filter-white); }

.gapBox.g60 { gap: 60px; }

.sel_sec { margin-top: 120px; background: var(--point-color02); padding-block:120px; }
.sel_sec .grd3 { display: grid; grid-template: auto / repeat(3, 1fr); gap: 30px; counter-reset: num 0; }
.sel_sec .grd3 > li { background: var(--point-white); border-radius: var(--radius-20); border: 1px solid var(--border-color01); padding-block: 60px; padding-inline: 20px; }
.sel_sec .grd3 dl { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 10px; font-size: var(--title-20); text-align: center; }
.sel_sec .grd3 dt { font-size: 130%; font-weight: 500; color: var(--black-color00); line-height: 1.3; letter-spacing: -0.03em; display: flex; flex-direction: column; gap: 26px; }
.sel_sec .grd3 dt::before { content: counter(num, decimal-leading-zero); counter-increment: num 1; display: flex; justify-content: center; align-items: center; width: 60px; aspect-ratio: auto 1; background: var(--point-color01); border-radius: 100%; color: var(--point-white); font-size: var(--title-20); font-weight: 700; line-height: 1.4; letter-spacing: -0.03em; margin-inline: auto; }
.sel_sec .grd3 dd { color: var(--black-color03); font-weight: 400; font-size: var(--title-18); line-height: 1.6; letter-spacing: -0.03em; }

.point_bg { background: var(--point-color03); }

@media (max-width: 1023px) {
    .sub_visual h5 { padding-block: clamp(6px, 1.2vw, 12px); padding-inline: clamp(15px, 2vw, 20px); }
    .sub_solution .sub_visual .title { gap: clamp(23px, 3.5vw, 35px); }

    .sel_sec { margin-top: clamp(80px, 12vw, 120px); padding-block: clamp(80px, 12vw, 120px); }
    .sel_sec .grd3 { gap: clamp(15px, 3vw, 30px); }
    .sel_sec .grd3 > li { padding-block: clamp(30px, 6vw, 60px); }
    .sel_sec .grd3 dl { gap: clamp(7px, 1vw, 10px); }
    .sel_sec .grd3 dt { gap: clamp(15px, 3vw, 26px); }
    .sel_sec .grd3 dt::before { width: clamp(40px, 6vw, 60px); }

    .gapBox.g60 { gap: clamp(30px, 6vw, 60px); }
}

@media (max-width: 860px) {
    .sel_sec .grd3 { grid-template: auto / repeat(1, 1fr); }
}

@media (max-width: 640px) {
    .sel_sec .grd3 dt { font-size: 120%; }
}

/*───────────────────────────────────────────────────────────

    Won Solution

───────────────────────────────────────────────────────────*/

	.sub_title { gap: clamp(15px, 2vw, 20px); }

	.sub_won section + section { margin-top: 100px; }
	.sub_won.secBox { display: flex; flex-direction: column;  }
	.sub_won .ico_list { display: flex; justify-content: center; gap: 60px; }
	.sub_won .ico_list li{cursor:pointer;font-size: var(--title-20); display: flex; flex-direction: column; gap: 20px; text-align: center; }
	.sub_won .ico_list .icon { max-width: 100px; margin-inline: auto; background: var(--point-color03); border-radius: var(--radius-20); }
	.sub_won .ico_list p { color: var(--black-color03); font-weight: 500; font-size: 110%; line-height: 1.4; letter-spacing: -0.03em; }
	.sub_won .flexBox { display: flex; justify-content: space-between; gap: 40px; }
	.sub_won .flexBox .fr { width: 62.67%; display: flex; flex-direction: column; gap: 40px; }
	.sub_won .flexBox .fl { width: calc(37.33% - 40px); }


	.sub_won .flexBox .fl { display: flex; flex-direction: column; gap: 26px; }
	.sub_won .flexBox .fl .img_wrap { max-width: 100px; background: var(--point-color03); border-radius: var(--radius-20); }
	.sub_won .flexBox .sub_title{ font-size: var(--title-20);gap:0;}
	.sub_won .flexBox .sub_title h4 { font-size: 200%; font-weight: 600; color: var(--black-color03); line-height: 1.4; letter-spacing: -0.03em; margin-top:12px;}
	.sub_won .flexBox .sub_title span { color: var(--point-color01); font-weight: 400; font-size: 90%; font-family: var(--font-type02); line-height: 1.4; letter-spacing: -0.03em; }
	.sub_won .flexBox .sub_title p { color: var(--black-color03); font-weight: 400; font-size: 100%; line-height: 1.6; letter-spacing: -0.03em; margin-top:30px;}
	.sub_won .flexBox .sub_title p em { color: var(--point-color01); font-weight: 600; }
	.sub_won .flexBox .fr .img_wrap { padding: 30px; border: 1px solid var(--border-color01); border-radius: var(--radius-20); font-size: var(--title-20); text-align: center;}
	.sub_won .flexBox .fr .img_wrap figcaption { color: var(--black-color03); font-weight: 500; font-size: 100%; line-height: 1.4; letter-spacing: -0.03em; margin-top:27px;}
	.sub_won .flexBox .fr .desc { font-size: var(--title-20); display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
	.sub_won .flexBox .fr .desc dt { display: inline-flex; justify-content: center; align-items: center; padding-block: 6px; padding-inline: 23px; border-radius: var(--radius-40); border: 1px solid var(--point-color01); color: var(--point-color01); font-weight: 600; font-size: 100%; line-height: 1.6; }
	.sub_won .flexBox .fr .flex_des { display: flex; flex-direction: column; gap: 40px; }
	.sub_won .flexBox .bulletList{gap:12px;}

	.sub_won .bdSec .w_custom { border-bottom: 1px solid var(--border-color01); padding-bottom: 100px; }
	.sub_won .won_bg {margin-top:20px;background: url('../images/sub/img_won_bg.jpg') no-repeat center / cover;}
	.sub_won .won_bg .grid_list { display: grid; grid-template: auto / repeat(2, 1fr); gap: 40px; }
	.sub_won .won_bg .grid_list > li { background: var(--point-white); border-radius: var(--radius-20); padding: 40px; }
	.sub_won .won_bg .tech_card { font-size: var(--title-20); display: flex; flex-direction: column; gap: 30px; }
	.sub_won .won_bg header { display: flex; align-items: center; gap: 30px; }
	.sub_won .won_bg .ico { max-width: 80px; background: var(--point-color03); border-radius: var(--radius-10); }
	.sub_won .won_bg h5 {font-size: 160%; color: var(--black-color02); font-weight: 600; letter-spacing: -0.03em;margin-top:8px;}
	.sub_won .won_bg .txt span { font-size: var(--title-18); font-weight: 500; font-family: var(--font-type02); line-height: 1.55; letter-spacing: -0.03em; color: var(--point-color01); }
	.sub_won .won_bg .bulletList{gap:6px;}
	.sub_won .won_bg .bulletList li{line-height:1.7;}

	.sub_won .won_sys { margin: 0; }
	.sub_won .won_sys .img_wrap { padding-block: 60px; padding-inline: 50px; border: 1px solid var(--border-color01); border-radius: var(--radius-20); }


	.sub_won section:has(.btmBnr) { margin-top: 0; }
	.sub_won .btmBnr { background-image: url('../images/sub/img_won_bg02.jpg'); }

	@media (max-width: 1023px) {

		.sub_title.hd { padding-block: clamp(80px, 12vw, 120px) clamp(40px, 6vw, 60px); }
		.sub_title h4 { font-size: 210%; }
		
		.sub_won .ico_list { gap: clamp(30px, 6vw, 60px); }
		.sub_won .ico_list li { gap: clamp(10px, 2vw, 20px); }
		.sub_won .ico_list .icon { max-width: clamp(60px, 12vw, 100px); }
		.sub_won .flexBox { flex-direction: column; gap: clamp(20px, 4vw, 40px); }
		.sub_won .flexBox .sub_title p{margin-top:clamp(10px, 3vw, 30px);}
		.sub_won .flexBox .fl { width: 100%; }
		.sub_won .flexBox .fr { width: 100%; }
		.sub_won .flexBox .fl .img_wrap { max-width: clamp(60px, 12vw, 100px); }
		.sub_won .flexBox .fr { gap: clamp(30px, 4vw, 40px); }
		.sub_won .flexBox .fr .img_wrap { padding: clamp(20px, 3vw, 30px); }
		.sub_won .flexBox .fr .flex_des { gap: clamp(20px, 4vw, 40px); }
		.sub_won .flexBox .fr .desc { gap: clamp(15px, 2.4vw, 24px); }
		.sub_won .flexBox .fr .desc dt { padding-block: clamp(3px, 0.6vw, 6px); padding-inline: clamp(12px, 2.3vw, 23px); }
		.sub_won .bdSec .w_custom { padding-bottom: clamp(60px, 10vw, 100px); }
		.sub_won section + section { margin-top: clamp(60px, 10vw, 100px); }
		.sub_won .won_bg { margin-top: clamp(100px, 16vw, 160px); padding-bottom: clamp(80px, 12vw, 124px); }
		.sub_won .won_bg .grid_list { gap: clamp(15px, 4vw, 40px); grid-template: auto / repeat(1, 1fr); }
		.sub_won .won_bg .grid_list > li { padding: clamp(20px, 4vw, 40px); }
		.sub_won .won_bg .ico { width: clamp(60px, 8vw, 80px); }
		.sub_won .won_bg .tech_card { gap: clamp(20px, 3vw, 30px); }
		.sub_won .won_bg header { gap: clamp(15px, 3vw, 30px); }
		.sub_won .won_bg h5 { gap: clamp(4px, 0.8vw, 8px); }
		.sub_won .won_sys .img_wrap { padding-block: clamp(30px, 6vw, 60px); padding-inline: clamp(25px, 5vw, 50px); }
		
	}
	@media (max-width: 860px) {
		.sub_won .flexBox .sub_title h4 { font-size: 180%; }
		.sub_title h4 { font-size: 190%; }
	}
	@media (max-width: 640px) {
		.sub_won .won_bg h5 { font-size: 140%; }
		.sub_title h4 { font-size: 170%; }
		.sub_won .flexBox .sub_title h4 { font-size: 160%; }
	}

	@media (max-width: 479px) {
		.sub_won .ico_list { flex-wrap: wrap; justify-content: center; }
		.sub_won .ico_list > li { width: calc(100% / 2 - clamp(30px, 6vw, 60px) / 2); }
	}

/*───────────────────────────────────────────────────────────

    dataPARC

───────────────────────────────────────────────────────────*/

	.sub_parc .hdCont { display: flex; justify-content: center; align-items: center; padding: 40px; border-radius: var(--radius-20); background: var(--point-color03); }
		.sub_parc .hdCont dl { display: grid; grid-template: auto / repeat(1, 1fr); font-size: var(--title-20); }
		.sub_parc .hdCont dt { font-size: 200%; font-weight: 600; line-height: 1.4; letter-spacing: -0.03em; display: flex; justify-content: center; align-items: center; gap: 10px; color: var(--point-color01); }
		.sub_parc .hdCont dt em { font-size: 175%; font-weight: 700; line-height: 1.4; letter-spacing: -0.03em;  }
		.sub_parc .hdCont dd { color: var(--black-color03); font-weight: 500; font-size: 130%; line-height: 1.38; letter-spacing: -0.03em; }
	.sub_parc .parc_bg { background: url('../images/sub/img_parc_bg.jpg') no-repeat center / cover; padding-block: 120px; }
		.sub_parc .parc_bg .grid_list { display: grid; grid-template: auto / repeat(3, 1fr); gap: clamp(20px, 2.2vw, 30px); }
		.sub_parc .parc_bg .grid_list > li { background: var(--point-white); padding-block: 40px; padding-inline: 30px; border-radius: var(--radius-20); border: 1px solid var(--border-color01);text-align: center;}
		.sub_parc .parc_bg .grid_list .str_card { display: flex; flex-direction: column; gap: 33px; font-size: var(--title-20); }
		.sub_parc .parc_bg .grid_list .ico { max-width: 90px; margin-inline: auto; }
		.sub_parc .parc_bg .grid_list .txt { color: var(--black-color03); display: flex; flex-direction: column; gap: 30px; padding-block: 32px 28px; padding-inline: 20px;gap: 9px; font-size: 85%; font-weight: 400; line-height: 1.6; background: var(--point-color03); border-radius: var(--radius-10);text-align:left;}
		.sub_parc .parc_bg .grid_list h5 { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 12px; font-weight: 600; font-size: 170%; line-height: 1.3; letter-spacing: -0.03em; text-align: center; margin:30px 0 12px;}
		.sub_parc .parc_bg .grid_list header span { font-size: var(--title-18); font-weight: 500; color: var(--black-color05); font-family: var(--font-type02); letter-spacing: -0.02em; }
		.sub_parc .parc_bg .grid_list .txt strong { font-weight: 600; }
		.sub_parc .parc_bg .grid_list .txt em { color: var(--point-color01); font-weight: 600; }

	.sub_parc .parc_sys .img_wrap { padding-block: 34px; padding-inline: 51px; border: 1px solid var(--border-color01); border-radius: var(--radius-20); }

	.sub_parc .parc_function .gapBox > article { padding: 40px; background: var(--point-white); border-radius: var(--radius-20); }
	.sub_parc .parc_function .subTitle.mb { margin-bottom: 20px; }
	.sub_parc .parc_function .flex_des { display: flex; gap: 20px; width: 100%; }
	.sub_parc .parc_function .flex_des > .feature { position: relative; display: flex; flex-direction: column; font-size: var(--title-20); text-align: center; width: 100%; border-radius: var(--radius-20); overflow: clip; }
	.sub_parc .parc_function .flex_des > .feature::before { content: ''; position: absolute; inset: 0; width: 100%; height: 100%; border: 1px solid var(--border-color01); border-radius: var(--radius-20); }
	.sub_parc .parc_function .flex_des h6 { padding-block: 14px; color: var(--point-white); font-size: 150%; font-weight: 600; line-height: 1.4; letter-spacing: -0.03em; position: relative; z-index: 2;  }
	.sub_parc .parc_function .flex_des .feature_cont { background: var(--point-white); padding: 30px; display: flex; flex-direction: column; height: 100%; gap: 40px; justify-content: space-between; }
	.sub_parc .parc_function .flex_des .feature:nth-child(1) > h6 { background: var(--point-color05); }
	.sub_parc .parc_function .flex_des .feature:nth-child(2) > h6 { background: var(--point-color02); }
	.sub_parc .parc_function .flex_box { display: flex; gap: 20px; font-size: var(--title-20);margin-bottom:24px; }
	.sub_parc .parc_function .flex_box figure { display: flex; flex-direction: column; gap: 10px; width: 100%; border-radius: var(--radius-10); overflow: clip;}
	.sub_parc .parc_function .flex_box img { border-radius: inherit; }
	.sub_parc .parc_function .flex_box figcaption { color: var(--black-color03); font-weight: 400; font-size: 100%; line-height: 1.7; letter-spacing: -0.03em; padding-block: 8px; border-radius: var(--radius-10); background: var(--point-color03); padding-inline: 15px; }
	.sub_parc .parc_function .bulletList > li { color: var(--black-color04); }

	.sub_parc .list_sec .parc_list_wrap { padding: 40px; border-radius: var(--radius-10); background: var(--point-color03); }
	.sub_parc .list_sec .parc_list { display: grid; grid-template: auto / repeat(4, 1fr); gap: 20px; }
	.sub_parc .list_sec .parc_list > li { background: var(--point-white); border-radius: var(--radius-10); overflow: clip; box-shadow: inset 0 0 0 1px var(--border-color01); }
	.sub_parc .list_sec article { font-size: var(--title-20); }
	.sub_parc .list_sec h6 { padding-block: 40px; padding-inline: 20px; font-size: 120%; font-weight: 500; border-radius: var(--radius-20); border: 1px solid var(--point-color01); color: var(--black-color03); text-align: center; }
	.sub_parc .list_sec h6 em { font-weight: inherit; color: var(--point-color01); }

	.sub_parc .sel_sec { margin-top: 0; }
	.sub_parc .btmBnr { background-image: url('../images/sub/img_parc_bg02.jpg'); }

	@media (max-width: 1200px) {
		.sub_parc .parc_bg .grid_list { grid-template: auto / repeat(1, 1fr); }
	}

	@media (max-width: 1023px) {
		.sub_parc .hdCont { padding: clamp(20px, 4vw, 40px); }
		.sub_parc .parc_bg { padding-block: clamp(80px, 12vw, 120px); }
		.sub_parc .parc_bg .grid_list > li { padding-block: clamp(20px, 4vw, 40px); padding-inline: clamp(15px, 3vw, 30px); }
		.sub_parc .parc_bg .grid_list .str_card { gap: clamp(20px, 3.3vw, 33px); }
		.sub_parc .parc_bg .grid_list .txt {padding-block: clamp(20px, 3vw, 32px) clamp(20px, 3vw, 28px); padding-inline: clamp(15px, 2vw, 20px); gap: clamp(5px, 1vw, 9px); }
		.sub_parc .parc_bg .grid_list .ico { max-width: clamp(60px, 9vw, 90px); }
		.sub_parc .parc_bg .grid_list h5 {margin:clamp(10px, 3vw, 30px) 0 clamp(7px, 1.2vw, 12px);}

		.sub_parc .parc_sys .img_wrap { padding-inline: clamp(30px, 5vw, 51px); padding-block: clamp(20px, 3vw, 34px); }

		.sub_parc .parc_function { padding-bottom: clamp(80px, 14vw, 140px); }
		.sub_parc .parc_function .gapBox > article { padding: clamp(20px, 4vw, 40px); }
		.sub_parc .parc_function .flex_des { gap: clamp(15px, 2vw, 20px); }
		.sub_parc .parc_function .flex_des .feature_cont { padding: clamp(15px, 3vw, 30px); }
		.sub_parc .parc_function .flex_box { flex-direction: column; gap: clamp(15px, 2vw, 20px);margin-bottom:clamp(10px, 2.4vw, 24px);}
		.sub_parc .parc_function .flex_box figure { gap: clamp(7px, 1vw, 10px); }
		.sub_parc .parc_function .flex_box figcaption { padding-block: clamp(4px, 1vw, 8px); }

		.sub_parc .list_sec .parc_list_wrap { padding: clamp(20px, 4vw, 40px); }
		.sub_parc .list_sec .parc_list { gap: clamp(15px, 2vw, 20px); }

		.sub_parc .list_sec h6 { padding-block: clamp(20px, 4vw, 40px); padding-inline: clamp(15px, 2vw, 20px); }
	}

	@media (max-width: 860px) {
		.sub_parc .hdCont dt { font-size: 180%; }
		.sub_parc .parc_bg .grid_list h5 { font-size: 150%; }
		.sub_parc .parc_function .flex_des { flex-direction: column; }
		.sub_parc .parc_function .flex_box { flex-direction: row; }

		.sub_parc .list_sec .parc_list { grid-template: auto / repeat(3, 1fr); }
	}

	@media (max-width: 640px) {
		.sub_parc .hdCont dt { font-size: 170%; }
		.sub_parc .parc_bg .grid_list h5 { font-size: 140%; }
		.sub_parc .parc_function .flex_des h6 { font-size: 140%; }
		.sub_parc .list_sec .sub_title > span { font-size: 140%; }
	}

	@media (max-width: 479px) {
		.sub_parc .hdCont dt { font-size: 150%; }
		.sub_parc .parc_bg .grid_list h5 { font-size: 130%; }
		.sub_parc .parc_function .flex_box { flex-direction: column; }
		.sub_parc .parc_function .flex_des h6 { font-size: 130%; }
		.sub_parc .list_sec .sub_title > span { font-size: 130%; }
		.sub_parc .list_sec .parc_list { grid-template: auto / repeat(2, 1fr); }
	}

/*───────────────────────────────────────────────────────────

    pms

───────────────────────────────────────────────────────────*/
	.sub_ser .hdTitle p { font-size: 100%; font-weight: 400; }

	.icon_grid { display: grid; grid-template: auto / repeat(4, 1fr); gap: 36px; }
	.icon_grid li { padding-block: 44px; padding-inline: 20px; border: 1px solid var(--border-color01); border-radius: var(--radius-20); }
	.icon_grid dl { font-size: var(--title-20); display: flex; flex-direction: column; gap: 11px; }
	.icon_grid dt { display: flex; flex-direction: column; text-align: center; gap: 28px; }
	.icon_grid dt .ico { max-width: 90px; background: var(--point-color03); border-radius: 100%; margin-inline: auto; }
	.icon_grid dt .desc { font-size: 130%; font-weight: 500; line-height: 1.3; letter-spacing: -0.03em; color: var(--black-color00); }
	.icon_grid dd { text-align: center; font-size: 90%; font-weight: 400; line-height: 1.6; letter-spacing: -0.03em; color: var(--black-color03); }

	.sub_pms .pms_function .cont_box { padding: 40px; background: var(--point-white); font-size: var(--title-20); }
	.sub_pms .pms_function .cont_box > h5 { padding-block: 20px; padding-inline: 40px; text-align: center; color: #fff; border-radius: var(--radius-20); font-size: 180%; font-weight: 600; line-height: 1.4; letter-spacing: -0.03em; }
	.sub_pms .pms_function .cont_box:nth-child(odd) > h5 { background: var(--point-color01); }
	.sub_pms .pms_function .cont_box:nth-child(even) > h5 { background: var(--point-color02); }

	.sub_pms .pms_function .cont_box .flex_des { display: flex; gap: 40px; align-items: flex-start; }

	.sub_pms .pms_function .cont_box .flex_des .info_wrap { width: calc(46.5% - 40px); }
	.sub_pms .pms_function .cont_box .flex_des .info_wrap .chk_list { margin-top: 25px; }
	.sub_pms .pms_function .cont_box .flex_des .info_img { padding: 20px; box-shadow: inset 0 0 0 1px var(--border-color01); border-radius: var(--radius-20); width: 53.5%; max-width: 760px }

	.sub_pms .pms_function .btmBnr { margin-top: 120px; }

	.chk_list { display: flex; flex-direction: column; gap: 10px; }
	.chk_list > li { display: flex; align-items: baseline; gap: 20px; padding-block: 20px; padding-inline: 30px; background: var(--point-color03); border-radius: var(--radius-10); }
	.chk_list > li::before { content: ''; display: block; width: 18px; aspect-ratio: auto 1.38; background: url('../images/sub/ico_chk.svg') no-repeat center / 100% auto; flex-shrink: 0; }
	.chk_list > li dl { font-size: var(--title-20); display: flex; flex-direction: column; gap: 12px; }
	.chk_list > li dt { color: var(--black-color03); font-weight: 500; font-size: 110%; letter-spacing: -0.03em; }
	.chk_list > li dd { color: var(--black-color04); font-weight: 400; font-size: 90%; line-height: 1.11; letter-spacing: -0.03em; }

	.sub_pms .info_grid .subTitle h6 { color: var(--black-color00); font-size: 130%; font-weight: 500; letter-spacing: -0.03em; }
	.sub_pms .info_grid .grid_list { display: grid; grid-template: auto / repeat(3, 1fr); gap: 35px; margin-top: 20px; }
	.sub_pms .info_grid .grid_list > li { position: relative; padding-inline: 40px; padding-block: 30px; border-radius: var(--radius-10); border: 1px solid var(--border-color01); }
	.sub_pms .info_grid .grid_list dl { display: flex; flex-direction: column; gap: 20px; font-size: var(--title-20); }
	.sub_pms .info_grid .grid_list dt { font-size: 120%; font-weight: 500; letter-spacing: -0.03em; color: var(--black-color03); }
	.sub_pms .info_grid .grid_list dd { color: var(--black-color04); font-size: 100%; font-weight: 400; line-height: 1.6; letter-spacing: -0.03em; }

	.sub_pms .multi_cont .info_grid .grid_list { gap: 68px; }
	.sub_pms .multi_cont .info_grid .grid_list > li:not(:last-child)::after { content: ''; position: absolute; left: calc(100% + 28px); top: 50%; translate: 0 -50%; width: 12px; aspect-ratio: auto 0.54; background: url('../images/sub/ico_pms_arw.svg') no-repeat center / 100% auto; }
	.sub_pms .multi_cont .info_grid .grid_list dt { color: var(--point-color01); font-weight: 500; font-size: 120%; letter-spacing: -0.03em; }
	.sub_pms .multi_cont .info_grid .grid_list dt em { font-weight: inherit; }

	.sub_pms .ai_cont .info_grid .grid_list { grid-template: auto / repeat(4, 1fr); gap: 52px; }
	.sub_pms .ai_cont .info_grid .grid_list > li:not(:last-child)::after { content: ''; position: absolute; left: calc(100% + 20px); top: 50%; translate: 0 -50%; width: 12px; aspect-ratio: auto 0.54; background: url('../images/sub/ico_pms_arw.svg') no-repeat center / 100% auto; }
	.sub_pms .ai_cont .info_grid .grid_list dt { display: flex; flex-direction: column; gap: 15px; color: var(--black-color03); font-weight: 400; font-size: 120%; line-height: 1.6; letter-spacing: -0.03em; }
	.sub_pms .ai_cont .info_grid .grid_list dt em { font-weight: 500; color: var(--point-color01); }


	.sub_pms .btmBnr { background-image: url('../images/sub/img_pms_bg.jpg'); }

	@media (max-width: 1023px) {
		.icon_grid { grid-template: auto / repeat(2, 1fr); gap: clamp(15px, 3vw, 36px); }
		.icon_grid li { padding-block: clamp(20px, 4vw, 44px); padding-inline: clamp(15px, 2vw, 20px); }
		.icon_grid dl { gap: clamp(6px, 1vw, 11px); }
		.icon_grid dt { gap: clamp(15px, 3vw, 28px); }
		.icon_grid dt .ico { max-width: clamp(60px, 9vw, 90px); }

		.sub_pms .pms_function .cont_box { padding: clamp(20px, 4vw, 40px); }
		.sub_pms .pms_function .cont_box > h5 { padding-block: clamp(15px, 2vw, 20px); padding-inline: clamp(20px, 4vw, 40px); }
		.sub_pms .pms_function .cont_box .flex_des { gap: clamp(20px, 4vw, 40px); flex-direction: column; }
		.sub_pms .pms_function .cont_box .flex_des .info_wrap { width: 100%; }
		.sub_pms .pms_function .cont_box .flex_des .info_wrap .chk_list { margin-top: clamp(15px, 2.5vw, 25px); }
		.sub_pms .pms_function .cont_box .flex_des .info_img { width: 100%; max-width: 100%; text-align: center; padding: clamp(15px, 2vw, 20px); }

		.chk_list > li { padding-block: clamp(15px, 2vw, 20px); padding-inline: clamp(15px, 3vw, 30px); gap: clamp(10px, 2vw, 20px); }
		.chk_list > li::before { width: clamp(10px, 1.8vw, 18px); }
		.chk_list > li dl { gap: clamp(7px, 1.2vw, 12px); }

		.sub_pms .info_grid .grid_list { gap: clamp(15px, 3.5vw, 35px); }
		.sub_pms .info_grid .grid_list > li { padding-block: clamp(15px, 3vw, 30px); padding-inline: clamp(20px, 4vw, 40px); }
		.sub_pms .info_grid .grid_list dl { gap: clamp(10px, 2vw, 20px); }

		.sub_pms .multi_cont .info_grid .grid_list { gap: clamp(34px, 7vw, 68px); }
		.sub_pms .multi_cont .info_grid .grid_list > li:not(:last-child)::after { width: clamp(10px, 1.2vw, 12px); }

		.sub_pms .ai_cont .info_grid .grid_list { gap: clamp(30px, 5vw, 52px); grid-template: auto / repeat(1, 1fr); }
		.sub_pms .ai_cont .info_grid .grid_list dt { gap: clamp(10px, 1.5vw, 15px); }
		.sub_pms .ai_cont .info_grid .grid_list > li:not(:last-child)::after { left: 50%; top: calc(100% + clamp(30px, 5vw, 52px) / 2); rotate: 90deg; translate:-50% -50%; width: clamp(10px, 1.2vw, 12px); }

		.sub_pms .pms_function .btmBnr { margin-top: clamp(80px, 12vw, 120px); }
	}

	@media (max-width: 860px) {
		.sub_pms .info_grid .grid_list { grid-template: auto / repeat(1, 1fr); }
		.sub_pms .multi_cont .info_grid .grid_list > li:not(:last-child)::after { left: 50%; top: calc(100% + clamp(34px, 7vw, 68px) / 2); translate:-50% -50%; rotate: 90deg; }
		
		.chk_list > li::before{translate:0 -4px;}
	}

	@media (max-width: 640px) {
		.icon_grid dt .desc { font-size: 120%; }
		.sub_pms .pms_function .cont_box > h5 { font-size: 150%; }
	}

	@media (max-width: 479px) {
		.icon_grid { grid-template: auto / repeat(1, 1fr); }
		.sub_pms .pms_function .cont_box > h5 { font-size: 130%; }
		
		.chk_list > li::before{translate:0 -5px;}
	}


/*───────────────────────────────────────────────────────────

    enms

───────────────────────────────────────────────────────────*/
	.service_ico_flex { display: flex; justify-content: center; gap: clamp(20px, 2.2vw, 40px); }
	.service_ico_flex li { text-align: center; }
	.service_ico_flex figure { font-size: var(--title-20); display: flex; flex-direction: column; gap: 20px; align-items: center; }
	.service_ico_flex .ico { background: var(--point-white); border-radius: var(--radius-20); max-width: 100px; margin-inline: 17px; }
	.service_ico_flex figcaption { color: var(--black-color03); font-weight: 500; font-size: 110%; line-height: 1.4; letter-spacing: -0.03em; }

	.sevice_board_list { display: grid; grid-template: auto / repeat(3, 1fr); gap: 30px; margin-top: 80px; }
	.sevice_board_list > li{background: var(--point-white); border-radius: var(--radius-20); overflow: clip; box-shadow: inset 0 0 0 1px var(--border-color01);cursor:pointer;}
	.sevice_board_list article {  display: flex; flex-direction: column; height:100%;}
	.sevice_board_list .thumb { display: block; width: 100%; aspect-ratio: auto 1.6; overflow: hidden; border-bottom: 1px solid var(--border-color01); flex-shrink: 0; }
	.sevice_board_list .txt_info {height: 100%; justify-content: space-between; font-size: var(--title-20); padding: 30px;display: flex;flex-direction: column;}
	.sevice_board_list h5 { color: var(--black-color03); font-weight: 500; font-size: 110%; line-height: 1.4; letter-spacing: -0.02em; }
	.sevice_board_list p { color: var(--black-color05); font-weight: 400; font-size: 90%; line-height: 1.4; letter-spacing: -0.02em;margin:14px 0 35px;}
	.sevice_board_list .txt_info .arw { display: flex; align-items: center; font-size: 90%; font-weight: 500; line-height: 1.33;letter-spacing: -0.02em; color: var(--point-color01); gap: 10px; }
	.sevice_board_list .txt_info .arw img{ translate: 0 -1px; }

	.sub_enms .btmBnr { background-image: url('../images/sub/img_enms_bg.jpg'); }
	.video_pop{position: fixed;top:0;left:0;width:100%;height:100%;align-items: center;justify-content: center;background:rgba(0,0,0,0.5);display: none;z-index:101;}
	.video_pop.on{display: flex;}
	body:has(.video_pop.on){overflow:hidden;}
	.video_pop .pop_layer{max-width:1200px;}
	.video_pop .btn_close{width:25px;height:25px;position: absolute;top:-40px;right:-30px;}
	.video_pop .btn_close button{width:100%;height:100%;position: relative;}
	.video_pop .btn_close button:before, .video_pop .btn_close button:after{width:100%;height:2px;content:"";background:var(--point-white);position: absolute;top:50%;left:0;}
	.video_pop .btn_close button:before{transform:rotate(45deg);}
	.video_pop .btn_close button:after{transform:rotate(-45deg);}
	.video_box{width:100%;aspect-ratio:auto 1.8;box-sizing:border-box;border-radius:var(--radius-20);overflow:clip;max-height:70vh;position: relative;}
	.video_pop .video_box iframe{width:100%;height:100%;position: absolute;top:0;left:0;}

	@media (max-width: 1300px) {
		.video_pop .btn_close{right:0;}
	}
	@media (max-width: 1023px) {
		.service_ico_flex { flex-wrap: wrap; }
		.service_ico_flex li { width: calc(100% / 3 - clamp(20px, 4vw, 40px)); }
		.sevice_board_list { margin-top: clamp(40px, 8vw, 80px); gap: clamp(15px, 3vw, 30px); }
		.sevice_board_list .txt_info { padding: clamp(20px, 3vw, 30px);}
		.sevice_board_list p{margin:clamp(7px, 1.4vw, 14px) 0 clamp(20px, 3.5vw, 35px);}

		.sub_enms .point_bg .btmBnr { margin-top: clamp(80px, 12vw, 120px); }
	}

	@media (max-width: 860px) {
		.sevice_board_list { grid-template: auto / repeat(2, 1fr); }
	}

	@media (max-width: 479px) {
		.service_ico_flex li { width: calc(100% / 2 - clamp(20px, 4vw, 40px)); }
		.sevice_board_list { grid-template: auto / repeat(1, 1fr); gap: 15px; }
		
		.video_pop .btn_close{top:-30px;}
	}
	
/*───────────────────────────────────────────────────────────

    mes

───────────────────────────────────────────────────────────*/
	.icon_grid.mes_grid{grid-template:auto / repeat(6, 1fr);}
	.sub_mes .btmBnr {background-image: url('../images/sub/img_mes_bg.jpg');}
	
	@media (max-width: 1200px) {
		.icon_grid.mes_grid{grid-template:auto / repeat(3, 1fr);}
	}
	@media (max-width: 640px) {
		.icon_grid.mes_grid{grid-template:auto / repeat(2, 1fr);}
	}