@charset "utf-8";

body * {letter-spacing:0; box-sizing:border-box;}
/*:before {box-sizing:border-box;}*/
figure {margin:0; padding:0;}
.res-mo {display:none;}
.blind {overflow:hidden;position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);margin:-1px;}

/* common */
#header {}
#header.bgwhite {background:#fff;}
#header.bgblack {color: #000;}
#container {padding-bottom:180px;}
#container.space-none {padding-bottom:0;}
#sub-visual-area {display:flex; justify-content:center; align-items:center; text-align:center;}
#sub-visual-area p {font-size:22px; line-height:1.7;}
#sub-visual-area p strong {display:block; margin-bottom:54px; font-size:60px; font-weight:800; line-height:1.4;}
#sub-visual-area p .line {overflow:hidden; display:inline-block; line-height:1;}
#sub-visual-area p .line span {display:block; animation:text-active-animation 1.5s cubic-bezier(0.4, 0, 0.2, 1) both;}
#sub-visual-area .stxt {display:block;}
#sub-visual-area .btn-area {display:block; margin-top:78px;}
#sub-visual-area .btn-area .btn {padding:0 30px; border:1px solid #000; border-radius:23px; font-size:18px; font-weight:700; line-height:45px;}

/* about *************************/
#sub-visual-area.about {min-height:980px; background:url(/img/about/visual_about.jpg) no-repeat center center; background-size:cover;}
#sub-visual-area.about p {color:#fff;}
#sub-visual-area.about p strong {margin:0;}

.platform-area {margin-top:200px; line-height:1.5;}
.platform-area .top {display:flex; align-items:center; width:1434px; height:680px; margin:0 auto;}
.platform-area .img-area {width:640px; height:680px;}
.platform-area .img-area img {width:640px; max-height:680px;}
.platform-area .top > div {width:623px; margin-left:171px; padding-right:20px;}
.platform-area h2 {font-size:60px; font-weight:800; line-height:1.5;}
.platform-area h2 strong {display:inline-block; position:relative; font-weight:800;}
.platform-area h2 strong span {transition:all 0.8s}
.platform-area h2 strong span:first-child {clip-path:polygon(0 0, 100% 0, 100% 100%, 0% 100%);}
.platform-area h2 strong span:last-child {position:absolute; top:0; right:0; bottom:0; left:0; color:#009279; clip-path:polygon(0 0, 0 0, 0 100%, 0% 100%);}
.platform-area h2 strong.on span:first-child {clip-path:polygon(100% 0, 100% 0, 100% 100%, 100% 100%);}
.platform-area h2 strong.on span:last-child {clip-path:polygon(0 0, 100% 0, 100% 100%, 0 100%);}
.platform-area .top > div > p {margin-top:100px; color:#111; font-size:22px; font-weight:500;}
.platform-area .top > div > p + p {margin-top:20px;}
.platform-area .concept {display:flex; gap:53px; width:1600px; margin:220px auto 0;}
.platform-area .concept li {display:flex; align-items:flex-end; position:relative; width:360px; height:440px; padding:30px; border-radius:10px; background:linear-gradient(162.44deg, #16D0B0 12.02%, #0CB1CE 104.4%);}
.platform-area .concept li:nth-child(2n) {margin-top:75px; background:linear-gradient(162.44deg, #0CB1CE 12.02%, #16D0B0 104.4%);}
.platform-area .concept li:before {content:''; display:block; position:absolute; top:25px; right:25px; width:105px; height:105px;}
.platform-area .concept li.type01:before {background-image:url(/img/about/img_about02.svg); background-size:100%;}
.platform-area .concept li.type02:before {background-image:url(/img/about/img_about03.svg); background-size:100%;}
.platform-area .concept li.type03:before {background-image:url(/img/about/img_about04.svg); background-size:100%;}
.platform-area .concept li.type04:before {background-image:url(/img/about/img_about05.svg); background-size:100%;}
.platform-area .concept li > p {color:#fff; font-size:18px; line-height:1.5;}
.platform-area .concept li > p strong {display:block; margin-bottom:21px; font-size:30px; font-weight:800; line-height:1;}

.misvis-area {overflow-x:hidden; margin-top:230px;}
.misvis-area h2 {font-size:40px; font-weight:700; line-height:1; text-align:center;}
.misvis-area h3 {width:1498px; margin:90px auto 0; color:#11b99c; font-size:24px; font-weight:600; line-height:1;}
.misvis-area .mission .keyword {position:relative; width:1920px; height:120px; background:rgba(48,187,163,.3);}
.misvis-area .mission .keyword.p-left {margin:89px 0 0 -662px;}
.misvis-area .mission .keyword.p-right {margin:179px 0 0 610px;}
.misvis-area .mission .keyword span {position:absolute; bottom:51px; background:linear-gradient(162.44deg, #61EAD3 36%, #307DFA 104.4%); background-clip:text; color:transparent; font-size:120px; font-weight:900; line-height:1;}
.misvis-area .mission .keyword.p-left span {right:295px;}
.misvis-area .mission .keyword.p-right span {left:245px;}
.misvis-area .vision {height:729px; margin-top:220px; padding-top:198px; background:url(/img/about/bg_about01.jpg) no-repeat center center; background-size:cover; color:#fff;}
.misvis-area .vision h3 {margin-top:0; color:#fff;}
.misvis-area .vision p {width:1498px; margin:23px auto 0; font-size:48px; font-weight:800; line-height:1.5;}
/* //about *************************/

/* business *************************/
#sub-visual-area.business {min-height:980px; background:url(/img/business/visual_business.jpg) no-repeat center center; background-size:cover;}

.process-area {width:1320px; margin:200px auto 0;}
.process-area h2 {font-size:48px; font-weight:700; line-height:1.55; text-align:center;}
.process-area .probsoul-area {display:flex; flex-wrap:wrap; gap:120px; margin-top:79px;}
.process-area .probsoul-area dl {width:600px; text-align:center;}
.process-area .probsoul-area dt {border-radius:10px; background:#def6f4; font-size:24px; font-weight:700; line-height:60px;}
.process-area .probsoul-area dd {position:relative; min-height:191px; margin-top:20px; padding-top:44px; border:1px solid #30bba3; border-radius:10px; font-size:18px; line-height:1.5;}
.process-area .probsoul-area dd.solution {min-height:183px; margin-top:27px; border:0; background:linear-gradient(180deg, #0CB1CE 0%, #16D0B0 100%); color:#fff; font-weight:700; line-height:1.55;}
.process-area .probsoul-area dd.solution:before {content:''; display:block; position:absolute; top:-55px; left:50%; transform:translateX(-50%); width:12px; height:82px; background-image:url(/img/business/img_business01.svg); background-size:100% auto;}
.process-area .probsoul-area dd strong {display:block; color:#30bba3; font-size:18px; font-weight:500; line-height:1;}
.process-area .probsoul-area dd.solution strong {margin-bottom:26px; color:#fff;}
.process-area .probsoul-area dd ul {margin-top:24px;}
.process-area .probsoul-area dd li:before {content:''; display:inline-block; width:6px; height:6px; margin:10px 12px 0 0; border-radius:50%; background:#000; vertical-align:top;}

.care-area {margin-top:295px;}
.care-area .diagram {display:flex; justify-content:center; align-items:center; position:relative; width:833px; height:778px; margin:0 auto; background-image:url(/img/business/img_business02.svg); background-size:cover;}
.care-area .diagram h2 {font-size:48px; font-weight:700; line-height:1.5; text-align:center;}
.care-area .diagram ul { font-size:18px;width: fit-content; margin: 37px auto 0;}
.care-area .diagram ul li + li {margin-top:10px;}
.care-area .diagram ul li:before {content:''; display:inline-block; width:6px; height:6px; margin:10px 11px 0 0; border-radius:50%; background:#000; vertical-align:top;}
.care-area .diagram ol li {overflow:hidden; position:absolute; width:420px; height:260px; padding:56px 0 0 39px; border:1px solid #30bba3; border-radius:10px; background:#fff; color:#111; font-size:18px; line-height:1.7;}
.care-area .diagram ol li i {position:absolute; bottom:-49px; right:-22px; color:rgba(48,187,163,.15); font-size:240px; font-weight:800; font-style:normal; line-height:1;}
.care-area .diagram ol li strong,
.care-area .diagram ol li em {font-weight:700;}
.care-area .diagram ol li strong {display:block; margin-bottom:38px; font-size:24px; font-weight:700; line-height:1;}
.care-area .diagram ol li:nth-child(1) {top:-72px; left:-204px;}
.care-area .diagram ol li:nth-child(2) {top:-72px; right:-204px;}
.care-area .diagram ol li:nth-child(3) {bottom:-13px; left:-204px;}
.care-area .diagram ol li:nth-child(4) {bottom:-13px; right:-204px;}
.care-area .diagram ol li:nth-child(1) i {bottom:-41px; right:-8px;}
.care-area .diagram ol li:nth-child(2)  i {bottom:-49px; right:-14px;}
.wrap-btn-area {width:1600px; margin:133px auto 0;}
.btn-link {display:block; padding-left:100px; border-radius:20px; font-size:32px; font-weight:800; line-height:145px;}
.btn-link:after {content:''; display:inline-block; width:36px; height:36px; margin:54px 0 0 22px; vertical-align:top;}
/* //business *************************/

/* business_02 *************************/
#sub-visual-area.business_02 {min-height:980px; background:url(/img/business_02/visual_business_02.jpg) no-repeat center center; background-size:cover;}
#sub-visual-area.business_02 p {color:#fff;}

.checkup-step {margin-top:200px;}
.checkup-step h2 {width:1598px; margin:0 auto; font-size:48px; font-weight:700; line-height:1.55; text-align:center;}
.checkup-step .wrap-step {position:relative; margin-top:79px;}
.checkup-step .wrap-step:before {content:''; display:block; position:absolute; top:17px; left:0; width:0; height:1px; background:url(/img/business_02/img_business_02_dotted.svg) repeat-x left top; background-size:100% auto; transition:width 1s ease;}
.checkup-step .wrap-step.on:before {width:100%;}
.checkup-step ol {display:flex; justify-content:center; gap:34px; width:1598px; margin:0 auto;}
.checkup-step ol li {position:relative; width:374px; color:#111; font-size:18px; font-weight:500; line-height:1.5; text-align:center;}
.checkup-step ol li:before {box-sizing:border-box; display:block; width:36px; height:36px; margin:0 auto; border:1px solid #30bba3; border-radius:50%; background:#fff; color:#30bba3; font-size:18px; font-weight:700; line-height:34px; text-align:center;}
.checkup-step ol li:nth-child(1):before {content:'1';}
.checkup-step ol li:nth-child(2):before {content:'2';}
.checkup-step ol li:nth-child(3):before {content:'3';}
.checkup-step ol li:nth-child(4):before {content:'4';}
.checkup-step ol li > em {display:block; margin:50px auto 0; color:#11b99c; font-size:16px; font-weight:600; line-height:1;}
.checkup-step ol li > em:before {content:''; display:block; width:180px; height:180px; margin:0 auto 11px; background-size:100% auto;}
.checkup-step ol li > em.step01:before {background-image:url(/img/business_02/img_business_02_01.svg);}
.checkup-step ol li > em.step02:before {background-image:url(/img/business_02/img_business_02_02.svg);}
.checkup-step ol li > em.step03:before {background-image:url(/img/business_02/img_business_02_03.svg);}
.checkup-step ol li > em.step04:before {background-image:url(/img/business_02/img_business_02_04.svg);}
.checkup-step ol li > strong {display:block; margin:27px 0 9px 0; font-size:22px; font-weight:700; line-height:1.7;}

.retirement-area {margin-top:220px;}
.retirement-area .title-area {overflow-x:hidden; position:relative; width:1168px; height:497px; margin:0 auto; padding-top:101px; text-align:center;}
.retirement-area .title-area:before,
.retirement-area .title-area:after {content:''; display:block; position:absolute; z-index:-1; background-size:100% auto; opacity:.1; transition:all 1s ease; transition-delay:1s;}
.retirement-area .title-area:before {bottom:0; left:-316px; width:316px; height:294px; background-image:url(/img/business_02/img_business_02_06.svg);}
.retirement-area .title-area:after {top:0; right:-219px; width:219px; height:203px; background-image:url(/img/business_02/img_business_02_05.svg);}
.retirement-area .title-area.on:before {bottom:0; left:0;}
.retirement-area .title-area.on:after {top:0; right:0;}
.retirement-area .title-area h2 {font-size:48px; font-weight:700; line-height:1.5;}
.retirement-area .title-area h2 strong {color:#009279;}
.retirement-area .title-area ul {margin-top:40px;}
.retirement-area .title-area li {font-size:24px;}
.retirement-area .title-area li:before {content:''; display:inline-block; width:6px; height:6px; margin:15px 15px 0 0; border-radius:50%; background:#000; vertical-align:top;}
.retirement-area .title-area li + li {margin-top:7px;}
.retirement-area > ul {display:flex; gap:120px; width:1440px; margin:105px auto 0;}
.retirement-area > ul li {}
.retirement-area > ul li:nth-child(2) {margin-top:-113px;}
.retirement-area > ul li > p {margin-top:30px; padding:27px 0 19px 0; border:1px solid #30bba3; border-radius:10px; font-size:18px; line-height:1.5; text-align:center;}
.retirement-area > ul li > p strong {display:block; margin-bottom:19px; font-size:24px; font-weight:700; line-height:1;}
/* //business_02 *************************/

/* business_03 *************************/
#sub-visual-area.business_03 {min-height:980px; background:url(/img/business_03/visual_business_03.jpg) no-repeat center center; background-size:cover;}
#sub-visual-area.business_03 p {color:#fff;}
#sub-visual-area.business_03 .btn-area .btn {border-color:#fff;}

.consulting-area {width:1600px; margin:200px auto 0;}
.consulting-area h2 {font-size:48px; font-weight:700; line-height:1.55; text-align:center;}
.consulting-area > ol {margin-top:80px;}
.consulting-area > ol > li {position:relative; padding:90px 0 0 869px;}
.consulting-area > ol > li .img-area {position:absolute; top:0; left:0; z-index:2;}
.consulting-area > ol > li .img-area img {width:929px;}
.consulting-area > ol > li:nth-child(2) {margin-top:60px; padding:0 0 90px 60px;}
.consulting-area > ol > li:nth-child(2) .img-area {top:auto; right:0; bottom:0; left:auto;}
.consulting-area > ol > li > div {display:flex; justify-content:center; align-items:center; width:640px; height:400px; border:1px solid #30bba3; border-radius:10px;}
.consulting-area .inner {color:#111;}
.consulting-area .inner i {display:block; width:40px; height:40px; border-radius:50%; background:#eaf8f6; font-size:16px; font-weight:700; font-style:normal; line-height:40px; text-align:center;}
.consulting-area .inner p {margin:30px 0 21px 0; font-size:24px; font-weight:700; line-height:1.7;}
.consulting-area .inner ul {padding-left:11px;}
.consulting-area .inner li {line-height:1.7;}
.consulting-area .inner li:before {content:''; display:inline-block; width:6px; height:6px; margin:11px 11px 0 0; border-radius:50%; background:#000; vertical-align:top;}

.opened-area {margin-top:180px; padding:180px 0; background:#eaf8f6;}
.opened-area .title-area {color:#111; text-align:center;}
.opened-area .title-area h2 {font-size:48px; font-weight:700; line-height:1.5;}
.opened-area .title-area ul {margin-top:40px;}
.opened-area .title-area li {font-size:24px; line-height:1.5;}
.opened-area .title-area li:before {content:''; display:inline-block; width:6px; height:6px; margin:15px 15px 0 0; border-radius:50%; background:#000; vertical-align:top;}
.opened-area .title-area li + li {margin-top:8px;}
.opened-area .wrap-step {position:relative; margin-top:120px;}
.opened-area .wrap-step:before {content:''; display:block; position:absolute; top:164px; left:0; z-index:1; width:0; height:1px; background:#30bba3; transition:width 2s ease;}
.opened-area .wrap-step.on:before {width:100%;}
.opened-area .wrap-step .step {display:flex; justify-content:center; gap:120px; position:relative; z-index:2; width:1440px; margin:0 auto;}
.opened-area .wrap-step .step > li {width:400px;}
.opened-area .wrap-step .step li > strong {display:flex; justify-content:center; align-items:center; width:320px; height:320px; margin:0 auto; border-radius:50%; background:linear-gradient(162.44deg, #16D0B0 12.02%, #0CB1CE 104.4%); color:#fff; font-size:24px; font-weight:700; line-height:1;}
.opened-area .wrap-step .step-ico {display:block; margin-bottom:16px; font-size:16px; font-weight:500; text-align:center;}
.opened-area .wrap-step .step-ico:before {content:''; display:block; width:120px; height:120px; margin:0 auto 24px; background-size:100% auto;}
.opened-area .wrap-step .step-ico.s01:before {background-image:url(/img/business_03/img_business_03_03.svg);}
.opened-area .wrap-step .step-ico.s02:before {background-image:url(/img/business_03/img_business_03_04.svg);}
.opened-area .wrap-step .step-ico.s03:before {background-image:url(/img/business_03/img_business_03_05.svg);}
.opened-area .wrap-step .step li > .list {display:flex;  justify-content:center; align-items:center; height:200px; margin-top:40px; border:1px solid #30bba3; border-radius:10px; background:#fff;}
.opened-area .wrap-step .step li > .list li {position:relative; padding-left:17px; line-height:1.7;}
.opened-area .wrap-step .step li > .list li:before {content:''; display:block; position:absolute; top:12px; left:0; width:6px; height:6px; border-radius:50%; background:#000; vertical-align:top;}
/* .opened-area .wrap-step .step li > .list li em {font-weight:600;} */
.opened-area .wrap-btn-area {margin-top:120px;}
/* //business_03 *************************/

/* service *************************/
#sub-visual-area.service {min-height:980px; background:url(/img/service/visual_service.jpg) no-repeat center center; background-size:cover;}

.complex-area {position:relative; width:1488px; min-height:700px; margin:200px auto 0;}
/* .complex-area:after {content:''; position:absolute; top:181px; left:455px; z-index:-1; display:block; width:1228px; height:182px; background:url(/img/service/txt_service01.svg);} */
.complex-area .img-area01 {overflow:hidden; display:flex; justify-content:center; align-items:center; position:relative; width:650px; height:700px; border-radius:40px; background:linear-gradient(319.97deg, #21E9C7 -12.07%, #2673FF 59.71%);}
.complex-area .img-area01:after {content:''; display:block; position:absolute; bottom:0; left:0; z-index:1; width:100%; height:520px; background:url(/img/service/bg_service01.png); background-size:100% auto;}
.complex-area .img-area01 img {position:relative; z-index:2; width:46.15%;}
.complex-area .img-area02 {overflow:hidden; position:absolute; top:0; left:812px; width:390px; height:390px; border-radius:40px; background:linear-gradient(302.66deg, #2673FF 57.47%, #21E9C7 109.28%);}
.complex-area .img-area02 img {position:absolute; bottom:0; right:0; width:72.05%;}
.complex-area p {position:absolute; top:484px; left:816px; color:#272727; font-size:48px; font-weight:700; line-height:1.5;}

.content-point {position:relative; font-size:22px;}
.content-point > em {font-size:24px; font-weight:700; line-height:1;}
.content-point h2 {font-size:48px; font-weight:800; line-height:1;}
.content-point h3 {font-size:18px; font-weight:500; line-height:1.5;}
.content-point .desc {font-weight:500; line-height:1.5;}
.content-point .list {line-height:1;}
.content-point .list li {position:relative; padding-left:20px; font-weight:500;}
.content-point .list li:before {content:''; display:block; position:absolute; top:8px; left:0; width:6px; height:6px; border-radius:50%; background:#0c0c0c;}
.content-point .list li + li {margin-top:11px;}

.content-point.point01 {width:1600px; min-height:760px; margin:220px auto 0; padding:124px 0 0 127px; border-radius:40px; background:linear-gradient(107.82deg, #2673FF 38.21%, #21E9C7 103.21%); color:#fff;}
.content-point.point01 h2 {margin-top:62px; color:#fff;}
.content-point.point01 .desc {margin-top:42px;}
.content-point.point01 .list {width:485px; height:181px; margin-top:79px; padding:47px 0 0 73px; border-radius:20px; background:#fff; color:#0c0c0c;}
.content-point.point01 .img {position:absolute; top:35px; right:53px; font-size:0;}
.content-point.point01 .img img {width:363px;}

.content-point.point02 {width:1440px; min-height:552px; margin:288px auto 0; padding:26px 0 0 844px; color:#0c0c0c;}
.content-point.point02 > em {color:#2678fd;}
.content-point.point02 h2 {margin-top:60px; color:#0C0C0C; letter-spacing:-.002em;}
.content-point.point02 .desc {margin-top:44px;}
.content-point.point02 .list {margin-top:59px; padding:34px 0 33px 12px; border:1px solid #bbb; border-width:1px 0;}
.content-point.point02 .status-area {position:absolute; top:0; left:0;}
.content-point.point02 .status-area .status1,
.content-point.point02 .status-area .status2 {position:relative; width:673px; height:261px; border-radius:20px; box-shadow:0px 0px 10.9px 0px #00000040;}
.content-point.point02 .status-area .status1 {position:relative; padding:56px 0 0 443px;}
.content-point.point02 .status-area .status1 .right-area {width:140px; text-align:center;}
.content-point.point02 .status-area .status1 .right-area h3 {line-height:1;}
.content-point.point02 .status-area .status1 .right-area p {margin-top:40px; color:#2678fd; font-size:55px; font-weight:800; line-height:1;}
.content-point.point02 .status-area .status1 .right-area p em {display:block; margin-top:19px; font-size:22px; font-weight:700;}
.content-point.point02 .status-area .status1 .graph-area {position:absolute; top:29px; left:80px; width:213px; height:213px; border-radius:50%; background:#ebf3ff;}
.content-point.point02 .status-area .status1 .graph-area:before {content:''; display:block;}
.content-point.point02 .status-area .status1 .donut-chart {position:absolute; top:50%; left:50%; width:180px; height:180px; margin:-90px 0 0 -90px; border-radius:50%; background:conic-gradient(#2678fd 0deg, #ebf3ff 0deg 360deg); display:flex; align-items:center; justify-content:center; transform:scaleX(-1);}
.content-point.point02 .status-area .status1 .donut-chart:before {content:""; position:absolute; width:120px; height:120px; background:#ebf3ff url(/img/service/img_service04.png) no-repeat center; background-size:63px 69px;  border-radius:50%; z-index:1; transform:scaleX(-1);}

.content-point.point02 .status-area .status2 {margin-top:30px; padding:55px 0 0 0;}
.content-point.point02 .status-area .status2 .left-area {width:248px;}
.content-point.point02 .status-area .status2 h3 {text-align:center;}
.content-point.point02 .status-area .status2 h3:after {content:''; display:block; width:82px; height:76px; margin:20px auto 0; background:url(/img/service/img_service05.png) no-repeat; background-size:100% auto;}
.content-point.point02 .status-area .status2 .chart-area {display:flex; gap:32px; position:absolute; bottom:34px; right:56px; width:360px; padding-left:24px;}
.content-point.point02 .status-area .status2 .chart-area:after {content:''; display:block; position:absolute; bottom:32px; left:0; width:100%; height:1px; background:#a6a6a6;}
.content-point.point02 .status-area .status2 .chart-area li {position:relative; width:53px; height:190px; color:#222; font-size:16px; line-height:1; text-align:center;}
.content-point.point02 .status-area .status2 .chart-area li .bar {display:block; position:absolute; bottom:32px; left:0; width:100%; border-radius:6px 6px 0 0; background:#2678fd; transition:all 1.3s;}
.content-point.point02 .status-area .status2 .chart-area li .bar.type01 {height:0;}
.content-point.point02 .status-area .status2 .chart-area li .bar.type02 {height:0;}
.content-point.point02 .status-area .status2 .chart-area li .bar.type03 {height:0;}
.content-point.point02 .status-area .status2 .chart-area li .bar.type04 {height:0;}
.content-point.point02.on .status-area .status2 .chart-area li .bar.type01 {height:78px;}
.content-point.point02.on .status-area .status2 .chart-area li .bar.type02 {height:40px;}
.content-point.point02.on .status-area .status2 .chart-area li .bar.type03 {height:159px;}
.content-point.point02.on .status-area .status2 .chart-area li .bar.type04 {height:106px;}


.content-point.point02 .status-area .status2 .chart-area li em {display:block; position:absolute; bottom:0; left:0; width:100%;}

.content-point.point03 {width:100%; margin-top:222px; background:url(/img/service/bg_service02.png) no-repeat 0 90%; background-size:100% auto; text-align:center;}
.content-point.point03 em {color:#2678fd;}
.content-point.point03 h2 {margin-top:61px;}
.content-point.point03 .desc {margin-top:43px; color:#111;}
.content-point.point03 .img-area {position:relative; margin-top:79px; text-align:center;}
.content-point.point03 .img-area .type01 img {width:372px;}
.content-point.point03 .img-area .type02 img {width:286px;}
.content-point.point03 .img-area .type03 img {width:280px;}
.content-point.point03 .img-area .type02 {position:absolute; top:73px; left:50%; margin-left:-530px;}
.content-point.point03 .img-area .type03 {position:absolute; top:282px; left:50%; margin-left:245px;}
.content-point.point03 .icon {display:flex; justify-content:center; align-items:center; position:absolute; width:120px; height:120px; border-radius:29px; background:#f9f9fd;}
.content-point.point03 .icon:before {content:''; display:block; width:72px; height:72px;}
.content-point.point03 .icon.type01 {top:153px; left:50%; margin-left:-558px;}
.content-point.point03 .icon.type01:before {background-image:url(/img/service/img_service06.svg); background-size:100%;}
.content-point.point03 .icon.type02 {top:364px; left:50%; margin-left:-795px;}
.content-point.point03 .icon.type02:before {background-image:url(/img/service/img_service07.svg); background-size:100%;}
.content-point.point03 .icon.type03 {top:70px; left:50%; margin-left:669px;}
.content-point.point03 .icon.type03:before {background-image:url(/img/service/img_service08.svg); background-size:100%;}
.content-point.point03 .icon.type04 {top:303px; left:50%; margin-left:415px;}
.content-point.point03 .icon.type04:before {background-image:url(/img/service/img_service09.svg); background-size:100%;}

.content-app {position:relative; width:1600px; margin:215px auto 0;}
.content-app h2 {color:#0c0c0c; font-size:48px; font-weight:800; line-height:1.5;}
.content-app h2 strong {display:inline-block; position:relative; color:#009279;}
.content-app h2 strong span {transition:all .8s;}
.content-app h2 strong span:first-child {clip-path:polygon(0 0, 100% 0, 100% 100%, 0% 100%);}
.content-app h2 strong span:last-child {position:absolute; top:0; right:0; bottom:0; left:0; color:#009279; clip-path:polygon(0 0, 0 0, 0 100%, 0% 100%);}
.content-app h2 strong.on span:first-child {clip-path:polygon(100% 0, 100% 0, 100% 100%, 100% 100%);}
.content-app h2 strong.on span:last-child {clip-path:polygon(0 0, 100% 0, 100% 100%, 0 100%);}
.content-app .wrap-desc {position:relative; min-height:545px; margin-top:65px;}
.content-app .wrap-desc:before, .content-app .wrap-desc:after {content:''; display:block; position:absolute;}
.content-app .wrap-desc:before {right:213px; bottom:63px; z-index:2; width:359px; height:763px; background:url(/img/service/img_service11_2.png) no-repeat 0 90%; background-size:100% auto;}
.content-app .wrap-desc:after {bottom:0; left:0; z-index:1; width:100%; height:393px; border-radius:40px; background:linear-gradient(104.92deg, #21E9C7 7.41%, #2673FF 101.73%);}
.content-app .def-area {display:flex; }
.content-app .def-area dl {width:448px; padding-right:60px;}
.content-app .def-area dt {font-size:18px; font-weight:700; line-height:1;}
.content-app .def-area dd {margin-top:12px; font-size:18px; line-height:1.5; word-wrap:normal; word-break:normal;}
.content-app .download-area {display:flex; gap:20px; position:absolute; bottom:76px; left:136px ; z-index:3;}
.content-app .download-area > div {width:163px; height:240px; padding:30px 0 0 0; border-radius:20px; background:#fff; box-shadow:0px 0px 11.4px 0px #00000024; line-height:1.5;}
.content-app .download-area > div.vita {padding-top:32px; background:#2779ff;}
.content-app .download-area > div:before {content:''; display:block; width:70px; height:70px; margin:0 auto; background-repeat: no-repeat;}
.content-app .download-area > div.as:before {background-image:url(/img/service/img_service_qr_ios.png); background-size:100%;}
.content-app .download-area > div.gp:before {background-image:url(/img/service/img_service_qr_aos.png); background-size:100%;}
.content-app .download-area > div.vita:before {width:120px; height:70px; background-image:url(/img/com/icon_vita.svg); background-position: center;}
.content-app .download-area > div > a {display:block;}
.content-app .download-area > div > a > p {margin-top:20px; color:#111; font-size:18px; font-weight:700; text-align:center;}
.content-app .download-area > div.vita > a > p {color:#fff;}
.content-app .download-area > div > a > p:before {content:''; display:block; width:32px; height:32px; margin:0 auto 10px; background-repeat: no-repeat;}
.content-app .download-area > div.as > a > p:before {background-image:url(/img/com/icon_ios.svg); background-position: center;}
.content-app .download-area > div.gp > a > p:before {background-image:url(/img/com/icon_gp.svg); background-position: center;}
.content-app .download-area > div.vita > a > p:before { background-image:url(/img/service/img_arr_right_wh.svg); background-size:100%;}
/* //service *************************/

/* contact *************************/
#sub-visual-area.contact {min-height:560px; background:url(/img/contact/visual_contact.jpg) no-repeat center center; background-size:cover;}
#sub-visual-area.contact p {display: flex; max-width: 1600px; margin: auto; align-items: center; justify-content: space-between; text-align: left; width: 90%;}
#sub-visual-area.contact p strong {font-size: 50px; margin-bottom: 0;}



input.txt {appearance:none; width:100%; height:68px; padding-left:34px; border:0; border-radius:10px; background:#f8f8f8; font-size:20px;}
input::placeholder {display:block; color:#383838; font-size:20px;}
textarea {width:100%; height:380px; appearance:none; resize:none; padding:40px 34px; border:0; border-radius:10px; background:#f8f8f8; font-size:20px;}
textarea::placeholder {color:#383838; font-size:20px;}
select {appearance: none; background: #f8f8f8; border: none; padding: 0 12px; width: 100%; height: 68px; border-radius: 10px; position: relative; background-image: url(/img/com/select_arrow.png); background-position: center right 10px; background-repeat: no-repeat; background-size: 14px; font-size: inherit;}

.input-radio {display:inline-block; position:relative; margin-right:45px;}
.input-radio input[type="radio"] {position:absolute; top:0; left:0; opacity:0;}
.input-radio label {display:block; position:relative; padding-left:35px; line-height:24px;}
.input-radio label:before {content:''; display:block; position:absolute; top:0; left:0; width:24px; height:24px; background-image:url(/img/contact/img_contact_radio.svg); background-size:cover;}
.input-radio input:checked + label:before {background-image:url(/img/contact/img_contact_radio_ckd.svg);}

.input-check {display:inline-block; position:relative;}
.input-check + .input-check {margin-left:45px;}
.input-check input[type="checkbox"] {position:absolute; top:0; left:0; opacity:0;}
.input-check label {display:block; position:relative; padding-left:35px; line-height:24px;}
.input-check label:before {content:''; display:block; position:absolute; top:0; left:0; width:24px; height:24px; background-image:url(/img/contact/img_contact_check.svg); background-size:cover;}
.input-check input:checked + label:before {background-image:url(/img/contact/img_contact_check_ckd.svg);}

.form-contact {position:relative; width:1600px; margin:200px auto 0; font-size:20px; font-weight:500;}
.form-contact .input-check label {font-weight:600;}
.form-contact .notice {position:absolute; top:0; right:0; line-height:1;}
.form-contact .must {display:inline-block; width:10px; height:10px; margin:0 5px; background-image:url(/img/contact/img_contact_star.svg); background-size:100%;  vertical-align:top;}
.form-contact h3 {font-size:24px; font-weight:700; line-height:1;}
.form-contact .col2 h3 {margin-bottom:20px;}
.form-contact .input-wrap.hide {display: none !important;}
.form-contact .input-wrap + .input-wrap {margin-top:83px;}
.form-contact .input-wrap .inner {margin-top:20px;}
.form-contact .input-wrap.col2 {display:flex; gap:120px}
.form-contact .input-wrap.col2 .inner {margin-top:0; flex:1;}

.form-contact .input-wrap .email-box {display: flex; align-items: center; gap: 0.3em;}
.form-contact .input-wrap .location {display: flex; align-items: center; gap: 0.3em;}
.form-contact .input-wrap .location .select-box {width: calc((100% - 0.3em)/2);}

.form-contact .privacy-filed {padding:45px 34px; border-radius:10px; background:rgba(48,187,163,.1); line-height:1.5;}
.form-contact .submit-area {margin-top:65px; text-align:center;}
.form-contact .submit-area .btn-area {margin-top:100px;}
.form-contact .submit-area .btn-subm {padding:0 30px; border-radius:24px; background:#30bba3; font-size:18px; line-height:47px; position: relative; overflow: hidden;}
.form-contact .submit-area .btn-subm::before {content:""; width: 100%; height: 100%; position: absolute; top: 0; left: 0; transform: translateY(101%); transition: 0.3s; background: #000;}
.form-contact .submit-area .btn-subm span {color: #fff; transition: 0.3s; position: relative; z-index: 1;}

.form-contact .submit-area .btn-subm:hover::before {transform: translateY(0%);}
.form-contact .submit-area .btn-subm:hover span {color: #30bba3;}
/* //contact *************************/

/* privacy *************************/
.wrap-privacy {position:relative; width:1600px; margin:0 auto; padding-top:260px; font-size:22px;}
.wrap-privacy h2 {font-size:40px; font-weight:800; line-height:1; text-align:center;}
.wrap-privacy h3 {font-size:26px; font-weight:700; line-height:1;}
.wrap-privacy .guideline {margin-top:80px; padding:34px 0; background:rgba(48,187,163,.1); font-weight:600; text-align:center;}
.wrap-privacy .divsion {padding-bottom:79px; border-bottom:2px solid #c8c8c8;}
.wrap-privacy .guideline + .divsion {margin-top:130px;}
.wrap-privacy .divsion + .divsion {margin-top:85px;}
.wrap-privacy .desc {margin-top:30px;}
.wrap-privacy table {width:100%; margin-top:20px; border:1px solid #c8c8c8;}
.wrap-privacy table th,
.wrap-privacy table td {font-weight:400; text-align:center;}
.wrap-privacy table th {padding:8px 0;}
.wrap-privacy table td {padding:32px 0; border-top:1px solid #c8c8c8;}
.wrap-privacy table th + th,
.wrap-privacy table td + td {border-left:1px solid #c8c8c8;}
.wrap-privacy ul.list {padding-left:11px;}
.wrap-privacy ul.list li {position:relative; padding-left:18px;}
.wrap-privacy ul.list li:before {content:''; display:block; position:absolute; top:15px; left:0; width:6px; height:6px; border-radius:50%; background:#000;}
.wrap-privacy h3 + .list {margin-top:30px;}
.wrap-privacy .top-space {margin-top:35px;}
.wrap-privacy .supplementary {margin-top:100px; line-height:1.8; text-align:center;}
.wrap-privacy .supplementary strong {display:block; font-weight:800;}
/* //privacy *************************/

/* animation *************************/
.ani {transition:all 1s;}
.ani.down {transform:translateY(-80px);}
.ani.up {transform:translateY(80px);}
.ani.left {transform:translateX(80px);}
.ani.right {transform:translateX(-80px);}
.ani.opacity {opacity:0;}
.ani.opacity2 {opacity:.2;}

.ani.off {position:relative;}
.ani.off::after {content:""; display:block; position:absolute; top:0; bottom:0; transition:all 0.8s ease; width:100%; height:100%; background:#fff;}
.ani.off.off-left::after {left:0;}
.ani.off.off-right::after {right:0;}
.ani.on.down, .ani.on.up {transform:translateY(0);}
.ani.on.left, .ani.on.right {transform:translateX(0);}
.ani.on.opacity {opacity:1;}
.ani.on.opacity2 {opacity:1;}
.ani.on.off::after {width:0;}


@media (min-width:1601px) {
  .ani.bgsize {background-size:160%;}
  .ani.on.bgsize {background-size:150%;}
}

@keyframes text-active-animation {
	from {
		opacity:0;filter:Alpha(opacity=0);
		transform: translateY(100%); 
	}
	to {
		opacity:1.0;filter:Alpha(opacity=100);
		transform: translateY(0); 
	}
}
/* //animation *************************/

@media (min-width:769px) and (max-width:1600px) {
  .platform-area .top {align-items:flex-start; width:calc(100% - 10vw); height:auto;}
  .platform-area .top > div {margin-left:10vw;}
  .platform-area .top > div > p {margin-top:5vw;}
  .platform-area h2 {font-size:50px;}
  .platform-area .concept {flex-wrap:wrap; width:calc(100% - 10vw); margin:0 auto; justify-content:center;}

  .misvis-area .mission .keyword {width:60vw; height:8vw;}
  .misvis-area .mission .keyword span {bottom:5vw; font-size:6.5vw;}
  .misvis-area .mission .keyword.p-left {margin-left:0;}
  .misvis-area .mission .keyword.p-left span {right:10vw;}
  .misvis-area .mission .keyword.p-right {margin:9vw 0 0 40vw;}
  .misvis-area .mission .keyword.p-right span {left:10vw;}
  .misvis-area h3 {width:calc(100% - 10vw);}
  .misvis-area .vision p {width:calc(100% - 10vw);}

  .process-area {width:100%;}
  .process-area .probsoul-area {width:calc(100% - 10vw); gap:9vw; justify-content:center; margin:79px auto;}
  .process-area .probsoul-area dl {width:calc(50% - 4.5vw);}
  .process-area .probsoul-area dd {padding:3vw 2vw 0 2vw; font-size:1.6vw;}
  .process-area .probsoul-area dd.solution {font-size:1.6vw;}
  .process-area .probsoul-area dd li:before {width:0.585vw; height:0.585vw; margin:0.976vw 1.171vw 0 0;}

  .wrap-btn-area {width:calc(100% - 10vw); margin-top:12.988vw;}

  .checkup-step h2 {width:100%;}
  .checkup-step .wrap-step:after {content:''; display:block; position:absolute; top:471px; left:0; width:0; height:1px; background:url(/img/business_02/img_business_02_dotted.svg) repeat-x left top; background-size:100% auto; transition:width 1s ease;}
  .checkup-step .wrap-step.on:after {width:100%;}
  .checkup-step ol {width:100%; flex-wrap:wrap;}
  .retirement-area > ul {width:100%; flex-wrap:wrap; justify-content:center;}
  .retirement-area > ul li {width:400px;}

  .consulting-area {width:calc(100% - 10vw);}
  .consulting-area > ol > li {padding:335px 0 0 30vw;}
  .consulting-area > ol > li > div {width:100%;}
  .consulting-area > ol > li:nth-child(2) {padding:320px 30vw 0 0;}
  .consulting-area > ol > li:nth-child(2) .img-area {top:0; bottom:auto;}
  .opened-area .title-area {width:calc(100% - 10vw); margin:0 auto;}
  .opened-area .wrap-step .step {width:100%; flex-wrap:wrap; justify-content:center;}

  .complex-area {width:calc(100% - 10vw);}

  .content-point.point01 {width:calc(100% - 10vw); padding-right:127px; padding-bottom:100px;}
  .content-point.point01 .list {position:absolute; top:0; right:0;}
  .content-point.point01 .img {position:static; margin-top:100px; text-align:center;}
  .content-point.point01 .img img {width:50%;}
  .content-point.point03 .icon.type01 {left:15vw; margin:0;}
  .content-point.point03 .icon.type02 {left:2vw; margin:0;}
  .content-point.point03 .icon.type03 {left:auto; right:2vw; margin:0;}
  .content-point.point03 .icon.type04 {left:auto; right:15vw; margin:0;}

  .content-app {width:calc(100% - 10vw);}
  .content-app .wrap-desc {min-height:635px;}
  .content-app .wrap-desc:before {right:4vw; bottom: 40px;}
  .content-app .def-area {display:block;}
  .content-app .def-area dl + dl {margin-top:30px;}

  .form-contact {width:calc(100% - 10vw);}
  .form-contact .input-wrap.col2 {gap:60px;}

  .wrap-privacy {width:calc(100% - 10vw);}
  .wrap-privacy .guideline {padding:34px;}

}
@media screen and (max-width:1280px) {
  .form-contact .input-wrap.col2 {flex-direction: column;}
}
@media (min-width:920px) and (max-width:1440px) {
  .opened-area .wrap-step:after {content:''; display:block; position:absolute; top:835px; left:0; z-index:1; width:0; height:1px; background:#30bba3; transition:width 2s ease;}
  .opened-area .wrap-step.on:after {width:100%;}
}
@media (min-width:769px) and (max-width:1440px) {
  .complex-area .img-area02 {position:relative; left:0; margin-top:50px;}
  .complex-area p {top:835px; left:450px; font-size:3.906vw;}

  .content-point.point01 .list {position:static;}
  .content-point.point02 {width:calc(100% - 10vw); padding:0;}
  .content-point.point02 .status-area {position:static; width:100%; margin-top:60px;}
  .content-point.point02 .status-area .status1,
  .content-point.point02 .status-area .status2 {width:100%;}
  .content-point.point02 .status-area .status1 .right-area {position:absolute; top:50%; right:56px; transform:translateY(-50%);}
   
}

@media (min-width:769px) and (max-width:1245px) {
  .care-area .diagram {width:65.907vw; height:61.489vw;}
  .care-area .diagram h2 {font-size:4vw;}
  .care-area .diagram ul {margin-top:2vw; font-size:1.757vw;}
  .care-area .diagram ol li {width:33.734vw; height:20.883vw; padding:4.497vw 3.132vw 0 3.132vw; font-size:1.757vw;}
  .care-area .diagram ol li:nth-child(1) {top:-14.783vw; left:-11.385vw;}
  .care-area .diagram ol li:nth-child(2) {top:-14.783vw; right:-11.385vw;}
  .care-area .diagram ol li:nth-child(3) {bottom:-10.044vw; left:-11.385vw;}
  .care-area .diagram ol li:nth-child(4) {bottom:-10.044vw; right:-11.385vw;}
  .care-area .diagram ol li:nth-child(1) i {bottom:-3.293vw; right:-0.642vw;}
  .care-area .diagram ol li:nth-child(2)  i {bottom:-3.935vw; right:-1.124vw;}
  .care-area .diagram ol li strong {margin-bottom:1.71vw; font-size:2.343vw;}
  .care-area .diagram ol li i {font-size:23.437vw;}

  .retirement-area .title-area {width:calc(100% - 10vw);}

  .content-app h2 {font-size:4.687vw;}
  .content-app .def-area dl {width:44.75vw;}
  .content-app .def-area dt,
  .content-app .def-area dd {font-size:1.757vw;}
  .content-app .wrap-desc {min-height:62.011vw;}
  .content-app .wrap-desc:before {bottom:23.437vw; width:25.879vw; height:55.321vw}
  .content-app .wrap-desc:after {height:38.378vw;}
  .content-app .download-area {left:4vw;}
  .content-app .download-area > div {width:15.917vw; height:23.437vw;}
  .content-app .download-area > div:before {width:6.835vw; height:6.835vw;}
  .content-app .download-area > div.vita:before {width:11.718vw; height:6.835vw;}
  .content-app .download-area > div > a > p {font-size:1.757vw;}

  .content-point.point03 {height:1750px;}
  .content-point.point03 > div {position:relative; z-index:4;}
  .content-point.point03 .img-area .type02 {top:715px; margin-left:-296px;}
  .content-point.point03 .img-area .type03 {top:830px; margin-left:10px;}
  
}

@media (min-width:769px) and (max-width:919px) {
  .care-area .diagram {width:65.907vw; height:61.489vw;}
  .retirement-area > ul li:nth-child(2) {margin-top:0;}

  .opened-area .wrap-step:before,
  .opened-area .wrap-step:after {display:none;}
}

@media (min-width:270px) and (max-width:768px) {
  #container {padding-bottom:13.333vw;}
  #sub-visual-area p {font-size:4.266vw;}
  #sub-visual-area p strong {margin-bottom:5.866vw; font-size:8vw;}
  #sub-visual-area .btn-area {margin-top:20vw;}
  #sub-visual-area .btn-area .btn {padding:0 5.333vw; font-size:3.36vw; line-height:8vw;}
  .res-pc {display:none;}
  .res-mo {display:block;}

  /* about *************************/
  #sub-visual-area.about {min-height:100vh;}

  .platform-area {width:calc(100% - 12.8vw); margin:26.666vw auto 0;}
  .platform-area h2 {font-size:8.533vw;}
  .platform-area .top {display:block; width:100%; height:auto;}
  .platform-area .top > div {width:100%; margin:8.266vw 0 0 0; padding:0;}
  .platform-area .top > div > p {margin-top:9.066vw; font-size:4.266vw; line-height:1.5;}
  .platform-area .top > div > p + p {margin-top:3.733vw;}
  .platform-area .img-area {width:100%; height:auto;}
  .platform-area .img-area img {width:100%; height:auto;}

  .platform-area .concept {overflow-x:scroll; display:block; width:93.6vw; margin:16vw 0 0; font-size:0; white-space:nowrap;}
  .platform-area .concept:after {content:''; display:block; clear:both;}
  .platform-area .concept li {display:inline-block; width:75.733vw; height:68.533vw; padding:5.333vw; padding-top:31.733vw; border-radius:2.4vw; white-space:wrap; vertical-align:top;}
  .platform-area .concept li:nth-child(2n) {margin-top:0;}
  .platform-area .concept li + li {margin-left:5.333vw;}
  .platform-area .concept li:before {top:6.666vw; left:6.666vw; width:16vw; height:16vw;}
  .platform-area .concept li > p {font-size:4.266vw; font-weight:500;}
  .platform-area .concept li > p strong {margin-bottom:4vw; font-size:4.8vw;}
  
  .misvis-area {margin-top:27.466vw;}
  .misvis-area h2 {font-size:5.333vw;}
  .misvis-area h3 {width:calc(100% - 13.866vw); margin-top:12vw; font-size:4.8vw;}
  .misvis-area .mission .keyword {width:93.866vw; height:11.733vw;}
  .misvis-area .mission .keyword.p-left {margin:14.4vw 0 0 0;}
  .misvis-area .mission .keyword.p-right {margin:18.133vw 0 0 6.4vw;}
  .misvis-area .mission .keyword span {bottom:4.533vw; font-size:11.733vw;}
  .misvis-area .mission .keyword.p-left span {right:9.866vw;}
  .misvis-area .mission .keyword.p-right span {left:2.4vw;}

  .misvis-area .vision {height:133.333vw; margin-top:21.333vw; padding:22.1333vw 6.933vw 0; color:#000; background-size:cover;}
  .misvis-area .vision h3 {width:100%; color:#000;}
  .misvis-area .vision p {margin-top:4vw; font-size:8.533vw;}
  /* //about *************************/

  /* business *************************/
  #sub-visual-area.business {min-height:100vh;}

  .process-area { width:calc(100% - 12.8vw); margin:25.866vw auto 0;}
  .process-area h2 {font-size:8.533vw; line-height:1.5; text-align:left;}
  .process-area .probsoul-area {display:block; margin-top:10.666vw;}
  .process-area .probsoul-area dl {width:100%;}
  .process-area .probsoul-area dl + dl {margin-top:14.933vw;}
  .process-area .probsoul-area dt {font-size:4.8vw; line-height:11.2vw;}
  .process-area .probsoul-area dd {min-height:41.333vw; margin-top:4vw; padding-top:5.866vw; border-radius:1.866vw; font-size:4.266vw;}
  .process-area .probsoul-area dd.solution {min-height:44.266vw; margin-top:5.066vw; padding-top:8.8vw; font-size:3.36vw;}
  .process-area .probsoul-area dd.solution:before {top:-9.333vw; width:2.133vw; height:15.2vw; background-size:100%;}
  .process-area .probsoul-area dd ul {margin-top:4vw;}
  .process-area .probsoul-area dd li:before {width:1.066vw; height:1.066vw; margin:2.666vw 2.933vw 0 0;}
  .process-area .probsoul-area dd ul li + li {margin-top:1.6vw;}
  .process-area .probsoul-area dd strong {font-size:3.733vw;}
  .process-area .probsoul-area dd.solution strong {margin-bottom:4.533vw;}
  
  .care-area {margin-top:26.666vw;}
  .care-area .diagram {display:block; width:86.666vw; height:auto; margin:0 auto; background:none;}
  .care-area .diagram > div {width:86.666vw; height:auto; background-image:url(/img/business/img_business02.svg); background-repeat:no-repeat; background-size:100%;}
  .care-area .diagram h2 {position:relative; top:-2.666vw; font-size:8.533vw;}
  .care-area .diagram ul {margin-top:6.933vw; font-size:4.266vw;}
  .care-area .diagram ul li + li {margin-top:1.866vw;}
  .care-area .diagram ul li:before {width:1.066vw; height:1.066vw; margin:2.666vw 2.666vw 0 0;}
  .care-area .diagram ol {margin-top:32.8vw;}
  .care-area .diagram ol li {position:relative; width:100%; height:49.333vw; padding:9.333vw 0 0 6.4vw; border-radius:1.6vw; font-size:4.266vw;}
  .care-area .diagram ol li:nth-child(1) {top:0; left:0; height:41.866vw;}
  .care-area .diagram ol li:nth-child(2) {top:0; right:0;}
  .care-area .diagram ol li:nth-child(3) {bottom:0; left:0;}
  .care-area .diagram ol li:nth-child(4) {bottom:0; right:0;}
  .care-area .diagram ol li + li {margin-top:5.333vw;}
  .care-area .diagram ol li i {bottom:-5.066vw; right:0; font-size:38.4vw;}
  .care-area .diagram ol li:nth-child(1) i {bottom:-5.066vw; right:0;}
  .care-area .diagram ol li:nth-child(2) i {bottom:-5.066vw; right:0;}
  .care-area .diagram ol li strong {margin-bottom:5.866vw; font-size:4.8vw;}

  .wrap-btn-area {width:calc(100% - 12.8vw); margin:21.333vw auto 0;}
  .btn-link {padding:0 0 0 6.933vw; border-radius:2.666vw; font-size:4.8vw; line-height:22.133vw;}
  .btn-link:after {width:5.333vw; height:5.333vw; margin:8.533vw 0 0 5.333vw;}
  /* //business *************************/

  /* business_02 *************************/
  #sub-visual-area.business_02 {min-height:100vh;}

  .checkup-step {margin-top:26.666vw;}
  .checkup-step h2 {width:calc(100% - 12.8vw); margin:0 auto; font-size:8vw; line-height:1.5; text-align:left;}
  .checkup-step .wrap-step {margin-top:16vw;}
  .checkup-step .wrap-step:before {display:none;}
  .checkup-step ol {display:block; width:100%;}
  .checkup-step ol li {width:100%; font-size:4.266vw;}
  .checkup-step ol li:before {position:relative; z-index:2; width:9.6vw; height:9.6vw; font-size:4.8vw; line-height:9.066vw;}
  .checkup-step ol li:after {content:''; display:block; position:absolute; top:4.533vw; left:0; z-index:1; width:100%; height:1px; background:url(/img/business_02/img_business_02_dotted.svg) repeat-x left top; background-size:100% auto;}
  .checkup-step ol li+ li {margin-top:16vw;}
  .checkup-step ol li > em {margin-top:5.333vw; font-size:3.733vw;}
  .checkup-step ol li > em:before {width:43.466vw; height:43.466vw; margin:0 auto 2.933vw;}
  .checkup-step ol li > strong {font-size:4.8vw; margin:6.4vw 0 1.866vw 0;}

  .retirement-area {margin-top:32vw;}
  .retirement-area .title-area {width:100%; height:auto; padding-top:0;}
  .retirement-area .title-area:before {bottom:-19.2vw; left:-15.466vw; width:45.866vw; height:42.933vw; background-size:cover;}
  .retirement-area .title-area:after {top:-13.333vw; right:-2.666vw; width:35.2vw; height:32.8vw; background-size:cover;} 
  .retirement-area .title-area h2 {font-size:8.533vw;}
  .retirement-area .title-area ul {margin-top:9.066vw; padding-left:15.733vw;}
  .retirement-area .title-area li {position:relative; padding-left:15px; font-size:4.266vw; text-align:left;}
  .retirement-area .title-area li + li {margin-top:3.466vw;}
  .retirement-area .title-area li:before {display:block; position:absolute; top:10px; left:0; width:1.066vw; height:1.066vw; margin:0;}
  
  .retirement-area > ul {display:block; width:calc(100% - 12.8vw); margin:18.133vw auto 0;}
  .retirement-area > ul li + li {margin-top:16vw;}
  .retirement-area > ul li:nth-child(2) {margin-top:16vw;}
  .retirement-area > ul li img {vertical-align:top;}
  .retirement-area > ul li > p {margin-top:5.333vw; padding:5.333vw 0 3.466vw 0; border-radius:1.866vw; font-size:4.266vw;}
  .retirement-area > ul li > p strong {margin-bottom:3.466vw; font-size:4.8vw;}
  /* //business_02 *************************/

  /* business_03 *************************/
  #sub-visual-area.business_03 {min-height:100vh;}

  .consulting-area {overflow-x:hidden; width:100%; margin-top:26.666vw;}
  .consulting-area h2 {width:calc(100% - 12.8vw); margin:0 auto; font-size:8vw; text-align:left;}
  .consulting-area > ol {width:calc(100% - 12.8vw); margin:13.333vw auto 0;}
  .consulting-area > ol > li {padding:0;}
  .consulting-area > ol > li:nth-child(2) {margin-top:21.333vw; padding:0 0 0 0;}
  .consulting-area > ol > li .img-area {position:relative; margin-bottom:5.333vw;}
  .consulting-area > ol > li .img-area:after {content:''; display:block; clear:both;}
  .consulting-area > ol > li .img-area img {float:right; max-width:114.666vw; height:49.333vw; vertical-align:top;}
  .consulting-area > ol > li:nth-child(2) .img-area img {float:left;}
  .consulting-area > ol > li > div {justify-content:unset; width:100%; height:66.4vw; border-radius:2.666vw;}
  .consulting-area .inner {padding:0 0 0 6.4vw;}
  .consulting-area .inner i {width:8.533vw; height:8.533vw; font-size:3.733vw; line-height:8.533vw;}
  .consulting-area .inner p {margin:4.8vw 0 2.933vw 0; font-size:4.8vw;}
  .consulting-area .inner ul {padding-left:2.4vw;}
  .consulting-area .inner li {position:relative; padding-left:3.733vw; font-size:4.266vw;}
  .consulting-area .inner li:before {display:block; position:absolute; top:2.933vw; left:0; width:1.066vw; height:1.066vw; margin:0;}
  
  .opened-area {width:100%; margin-top:26.666vw; padding:26.666vw 0 16vw 0;}
  .opened-area .title-area h2 {font-size:8vw;}
  .opened-area .title-area ul {width:calc(100% - 28.266vw); margin:10.666vw auto 0;}
  .opened-area .title-area li {position:relative; padding-left:3.733vw; font-size:4.266vw; text-align:left;}
  .opened-area .title-area li:before {display:block; position:absolute; top:10px; left:0; width:1.066vw; height:1.066vw; margin:0;}
  .opened-area .title-area li + li {margin-top:6.4vw;}
  
  .opened-area .wrap-step {margin-top:15.2vw;}
  .opened-area .wrap-step:before {display:none;}
  .opened-area .wrap-step .step {display:block; width:calc(100% - 12.8vw); margin:0 auto;}
  .opened-area .wrap-step .step > li {width:100%;}
  .opened-area .wrap-step .step > li + li {margin-top:21.333vw;}
  .opened-area .wrap-step .step li > strong {display:block; width:100%; height:auto; background:none; color:#30bba3; font-size:4.8vw; text-align:center;}
  .opened-area .wrap-step .step li > .list {height:48vw; margin-top:9.333vw; border-radius:2.666vw;}
  .opened-area .wrap-step .step li > .list li {padding-left:4vw; font-size:4.266vw;}
  .opened-area .wrap-step .step li > .list li:before {top:2.4vw; width:1.066vw; height:1.066vw;}
  .opened-area .wrap-step .step-ico {position:relative; margin-bottom:3.466vw;}
  .opened-area .wrap-step .step-ico:before {position:relative; z-index:2; width:37.866vw; height:37.866vw; margin-bottom:5.333vw; background-repeat:no-repeat; background-position:center; background-size:22.933vw; font-size:3.554vw;}
  .opened-area .wrap-step .step-ico:after {content:''; display:block; position:absolute; top:0; left:50%; z-index:1; transform:translateX(-50%); width:37.866vw; height:37.866vw; border-radius:50%; background:linear-gradient(162.44deg, #16D0B0 12.02%, #0CB1CE 104.4%);}
  .opened-area .wrap-btn-area {margin-top:16vw;}
  /* //business_03 *************************/

  /* service *************************/
  #sub-visual-area.service {min-height:100vh;}

  .complex-area {width:calc(100% - 12.8vw); margin:26.666vw auto 0;}
  /* .complex-area:after {top:154.666vw; left:37.3vw; width:56.266vw; height:18.666vw; background-image:url(/img/service/txt_service01_mo.svg); background-size:100% auto;} */
  .complex-area .img-area01 {width:100%; height:119.733vw; border-radius:2.666vw;}
  .complex-area .img-area01 img {width:58.75%;}
  .complex-area .img-area01:after {height:89.066vw; background-image:url(/img/service/bg_service01_mo.png);}
  .complex-area .img-area02 {position:relative; top:0; left:0; width:60.266vw; height:60.266vw; margin-top:8vw; border-radius:2.666vw;}
  .complex-area p {position:static; width:100%; margin-top:10.666vw; font-size:8vw;}

  .content-point h2 {font-size:8vw;}
  .content-point h3 {font-size:3.733vw;}
  .content-point .desc {font-size:4.8vw;}
  .content-point.point02 .list {margin:0; padding:8.5333vw 0 8.5333vw 2.666vw;}
  .content-point .list li {padding-left:4vw; font-size:4.2666vw;}
  .content-point .list li + li {margin-top:2.133vw;}

  .content-point.point01 {width:100%; min-height:auto; margin:0; margin-top:21.333vw; padding:19.466vw 6.4vw 14.133vw; border-radius:0;}
  .content-point > em {font-size:4.266vw;}
  .content-point.point01 h2 {margin-top:8.8vw;}
  .content-point.point01 .desc {margin-top:12.8vw;}
  .content-point.point01 .list {width:100%; height:auto; margin-top:13.333vw; padding:10.133vw 0 10.133vw 10.666vw; border-radius:2.666vw;}
  .content-point.point01 .list li {padding-left:4vw; font-size:4.266vw;}
  .content-point .list li:before {top:1.6vw; width:1.066vw; height:1.066vw; margin:0 0 0 0;}
  .content-point.point01 .img {position:static; margin-top:10.933vw;}
  .content-point.point01 .img img {width:50%;}

  .content-point.point02 {width:100%; margin:19.4666vw 0 0 0; padding:0 6.4vw;}
  .content-point.point02 h2 {margin-top:6.933vw; line-height:1.5;}
  .content-point.point02 .desc {margin-top:10.666vw;}
  .content-point.point02 .list {margin-top:13.333vw;}
  
  .content-point.point02 .status-area {position:static; margin-top:16vw;}
  .content-point.point02 .status-area .status1, .content-point.point02 .status-area .status2 {width:100%; height:33.866vw; border-radius:2.666vw;}
  .content-point.point02 .status-area .status1 {padding:6.4vw 0 0 55.733vw;}
  .content-point.point02 .status-area .status1 .graph-area {top:3.733vw; left:10.4vw; width:27.733vw; height:27.733vw;}
  .content-point.point02 .status-area .status1 .donut-chart {width:23.2vw; height:23.2vw; margin:-11.6vw 0 0 -11.6vw;}
  .content-point.point02 .status-area .status1 .donut-chart:before {width:15.2vw; height:15.2vw; background-size:8.266vw 9.066vw;}

  .content-point.point02 .status-area .status1 .right-area {width:21.333vw;}
  .content-point.point02 .status-area .status1 .right-area p {margin-top:3.466vw; font-size:8vw;}
  .content-point.point02 .status-area .status1 .right-area p em {margin-top:2.666vw; font-size:4.266vw;}
  .content-point.point02 .status-area .status2 {margin-top:5.333vw; padding:0;}
  .content-point.point02 .status-area .status2 .left-area {width:27.2vw; padding:5.333vw 0 0 2.4vw;}
  .content-point.point02 .status-area .status2 h3 {font-size:3.7333vw;}
  .content-point.point02 .status-area .status2 h3:after {width:10.666vw; height:9.866vw; margin:2.133vw auto 0;}
  .content-point.point02 .status-area .status2 .chart-area {gap:5.333vw; bottom:4vw; right:4.266vw; width:53.333vw; padding-left:4.8vw;}
  .content-point.point02 .status-area .status2 .chart-area:after {bottom:4.266vw;}
  .content-point.point02 .status-area .status2 .chart-area li {width:6.933vw; font-size:3.2vw;}
  .content-point.point02 .status-area .status2 .chart-area li:nth-child(1) em,
  .content-point.point02 .status-area .status2 .chart-area li:nth-child(2) em {margin-left:-3px; white-space:nowrap;}
  .content-point.point02 .status-area .status2 .chart-area li .bar {bottom:4.266vw; border-radius:1.066vw 1.066vw 0 0;}
  .content-point.point02.on .status-area .status2 .chart-area li .bar.type01 {height:10.4vw;}
  .content-point.point02.on .status-area .status2 .chart-area li .bar.type02 {height:5.333vw;}
  .content-point.point02.on .status-area .status2 .chart-area li .bar.type03 {height:20.8vw;}
  .content-point.point02.on .status-area .status2 .chart-area li .bar.type04 {height:14.133vw;}
  
  .content-point.point03 {margin-top:19.733vw; background-image:url(/img/service/bg_service02_mo.png); background-position:left bottom;}
  .content-point.point03 h2 {margin-top:6.933vw; line-height:1.5;}
  .content-point.point03 .desc {margin-top:10.666vw;}
  .content-point.point03 .img-area {margin-top:3.733vw; padding-bottom:99.466vw;}
  .content-point.point03 .img-area .type01 img {width:53.333vw;}
  .content-point.point03 .img-area .type02 {top:auto; bottom:0; margin-left:-44.8vw;}
  .content-point.point03 .img-area .type02 img {width:44.266vw;}
  .content-point.point03 .img-area .type03 {top:auto; bottom:16.533vw; margin:.8vw;}
  .content-point.point03 .img-area .type03 img {width:44.266vw;}

  .content-app {width:100%; margin:0; margin-top:16.533vw;}
  .content-app h2 {font-size:8vw; text-align:center;}

  .content-app .wrap-desc {min-height:auto; margin-top:19.466vw; padding-bottom:21.333vw;}
  .content-app .wrap-desc:before {position:relative; bottom:0; right:0; width:51.666vw; height:110.666vw; margin:0 auto;}
  .content-app .wrap-desc:after {height:151.2vw; border-radius:0; background:linear-gradient(129.15deg, #21E9C7 1.64%, #2673FF 40.9%);}
  .content-app .def-area {display:block; position:relative; z-index:3; margin-top:10.933vw; padding:0 6.4vw; color:#fff;}
  .content-app .def-area dl {width:100%; padding:0;}
  .content-app .def-area dl + dl {margin-top:12vw;}
  .content-app .def-area dt {font-size:4.8vw;}
  .content-app .def-area dd {margin-top:3.2vw; font-size:4.8vw;}
  .content-app .download-area {display:block; position:static; width:calc(100% - 21.333vw); margin:12vw auto 0;}
  .content-app .download-area:after {content:''; display:block; clear:both;}
  .content-app .download-area > div {position:relative; float:left; width:calc(50% - 2vw); height:40vw; padding-top:6.133vw; border-radius:3.4vw;}
  .content-app .download-area > div.gp {margin-left:4vw;}
  .content-app .download-area > div.vita {width:100%; height:32vw; margin-top:4vw; padding:0 0 0 37.6vw;}
  .content-app .download-area > div:before {display:none;}
  .content-app .download-area > div.vita:before {display:block; position:absolute; top:8vw; left:10.4vw; width:27.2vw; height:16vw; background-image:url(/img/service/img_service_vita_mo.svg)}
  .content-app .download-area > div > a > p {margin-top:0; font-size:3.733vw;}
  .content-app .download-area > div > a > p:before {margin-bottom:4.8vw;}
  .content-app .download-area > div.as > a > p:after,
  .content-app .download-area > div.gp > a > p:after {content:''; display:block; width:5.6vw; height:5.6vw; margin:1.066vw auto 0; background-image:url(/img/service/img_arr_right_bk_mo.svg); background-size:cover;}

  .content-app .download-area > div.vita > a > p {position:relative; padding:7.2vw 0 6.666vw;}
  .content-app .download-area > div.vita > a > p:before {position:absolute; bottom:0; left:50%; transform:translateX(-50%); width:5.6vw; height:5.6vw; margin:0; background-image:url(/img/service/img_arr_right_wh_mo.svg);}
  /* //service *************************/

  /* contact *************************/
  #sub-visual-area.contact {min-height:100vh;}

  input.txt {height:14.666vw; padding-left:4.533vw; border-radius:2.666vw; font-size:4.266vw;}
  input::placeholder {font-size:4.266vw;}
  textarea {height:50.666vw; padding:5.333vw 4.533vw; border-radius:2.666vw; font-size:4.266vw;}
  textarea::placeholder {font-size:4.266vw;}
  .input-radio {margin:10px 20px 10px 0;}

  .form-contact {width:calc(100% - 12.8vw); margin:26.666vw auto 0; font-size:4.266vw;}
  .form-contact input.txt {}
  .form-contact h3 {font-size:5.333vw;}
  .form-contact .input-wrap + .input-wrap {margin-top:10.666vw;}
  .form-contact .input-wrap.col2 {display:block;}
  .form-contact .input-wrap.col2 .inner + .inner {margin-top:10.666vw;}
  .form-contact .privacy-filed {padding:6.666vw 4.533vw; border-radius:2.666vw;}
  .form-contact .submit-area {margin-top:8vw;}
  .form-contact .submit-area .btn-area {margin-top:13.333vw;}

  .form-contact .input-wrap .email-box {flex-wrap: wrap; gap: 0.5em 0.3em;}
  .form-contact .input-wrap .email-box input.txt {width: calc((100% - 4.5vw - 0.6em)/2);}
  .form-contact .input-wrap .email-box select {width: 100%; }
  select {height: 14.666vw; font-size: 4.266vw; border-radius: 2.666vw;}
  /* //contact *************************/

  .wrap-privacy {width:calc(100% - 12.8vw); padding-top:34.666vw; font-size:4.266vw;}
  .wrap-privacy h2 {font-size:8vw;}
  .wrap-privacy h3 {padding-left:22px; text-indent:-22px; font-size:5.333vw; line-height:1.5;}
  .wrap-privacy .guideline {margin-top:13.333vw; padding:6.666vw 0;}
  .wrap-privacy .divsion {padding-bottom:16vw; border-width:0 0 0.533vw 0;}
  .wrap-privacy .guideline + .divsion {margin-top:21.333vw;}
  .wrap-privacy .divsion + .divsion {margin-top:14.666vw;}
  .wrap-privacy .desc {margin-top:4vw;}
  .wrap-privacy table {margin-top:4vw;}
  .wrap-privacy table th {padding:2.133vw 0;}
  .wrap-privacy table td {padding:6.666vw 0;}
  .wrap-privacy ul.list {padding-left:2.933vw;}
  .wrap-privacy ul.list li {position:relative; padding-left:4vw;}
  .wrap-privacy ul.list li:before {top:2.4vw; width:1.066vw; height:1.066vw;}
  .wrap-privacy h3 + .list {margin-top:4vw;}
  .wrap-privacy .top-space {margin-top:9.333vw;}
  .wrap-privacy .supplementary {margin-top:16vw;}
  
  }


@media screen and (max-width:1024px) {
  #sub-visual-area.contact {min-height: 400px;}
  #sub-visual-area.contact p strong {font-size: 30px;}
  #sub-visual-area.contact p {font-size: 16px;}
}
@media screen and (max-width:768px){
  #sub-visual-area.contact p {flex-direction: column; gap: 20px; align-items: start; font-size: min(4.266vw, 16px);}
  #sub-visual-area.contact p strong {font-size: min(8vw, 20px);}
}

