@charset "utf-8";
/* sub공통 */
.sub-left { width: 45%;}
.sub-left .tit { font-size: 24px; font-weight: 500; border-bottom: 1px solid #888; display: inline-block; padding-left: 4px; letter-spacing: -.01em; line-height: 1em; color: #222; padding-bottom: 5px; font-family: "Roboto", sans-serif;}
.sub-right { width: 55%;}

/* project */
.pj-tit { font-size: 24px; font-weight: 500; border-bottom: 1px solid #888; display: inline-block; padding-left: 4px; letter-spacing: -.01em; line-height: 1em; color: #222; padding-bottom: 5px; font-family: "Roboto", sans-serif;}
.pj-tab { display: flex; gap: 30px; margin: 20px 0 35px; flex-wrap: wrap;}
.pj-tab li a { font-family: "Roboto", sans-serif; line-height: 1.2em; font-size: 20px; font-weight: 400; letter-spacing: -.01em; color: #888;}
.pj-tab li.active a { font-weight: 500; color: #222;}
.pj-tab li:hover > a{ font-weight: 500; color: #222;}
.pj-tab2 { margin-bottom: 35px;}
.pj-tab2 li a { font-size: 18px; }
.pj-box { color: #b41720; margin-bottom: 45px;}
.pj-box .tit { font-size: 24px; font-weight: 400; letter-spacing: -.01em; line-height: 1.2em; margin-bottom: 15px; font-family: "Roboto", sans-serif;}
.pj-box .txt { font-size: 18px; font-weight: 400; letter-spacing: -.01em; line-height: 1.2em;}

/* overview */
.ov-left { background: url(../images/sub/shape.png) center no-repeat; position: sticky; top: 40px; height: 100vh; padding-right: 30px;}
.ov-right { padding-right: 50px;}
.ov-tit { font-size: 24px; font-weight: 500; letter-spacing: -.02em; line-height: 1.444em; color: #b41720; margin-top: 120px;} 
.ov-txt { font-size: 16px; font-weight: 400; letter-spacing: -.02em; line-height: 1.9em; color: #454545; margin-top: 40px;}

/* CEO message */
.ceo-left { padding: 40px 0 0; padding-right: 30px;}
.ceo-left h3 { font-size: 24px; font-weight: 500; letter-spacing: -.03em; line-height: 1.2em; color: #454545; margin: 55px 0 40px;}
.ceo-left p { font-weight: 300; letter-spacing: -.02em; line-height: 1.556em; color: #454545; margin-bottom: 30px;}
.ceo-left p:last-child { margin-bottom: 0;}
.signbox { display: flex; align-items: center; gap: 30px; margin-top: 65px;}
.signbox strong { display: inline-block; font-weight: 600; letter-spacing: -.02em; line-height: 1em; color: #454545;}

/* organization */
.organ-left { padding-top: 40px; padding-right: 30px;}
.organbox { margin-top: 55px;position: relative;}
.organ-titbox { display: flex; align-items: center; position: absolute; left: 0;}
.organ-tit { font-size: 20px; font-weight: 600; letter-spacing: -.03em; line-height: 1.2em; color: #454545;}
.organ-subtit { font-size: 16px; font-weight: 700; letter-spacing: -.03em; line-height: 1.2em; color: #454545; position: relative; padding-left: 12px; margin-left: 65px;}
.organ-subtit::before { content: ""; position: absolute; left: 0; width: 2px; height: 20px; background: #b41720;}
.organ-txtbox { margin-left: 270px; padding-top: 2px; position: relative;}
.organ-txtbox .organ-m-tit { font-size: 16px; font-weight: 500; letter-spacing: -.03em; line-height: 1.2em; color: #454545; position: absolute; padding-left: 12px; left: 0;}
.organ-txtbox .organ-m-tit::before { content: ""; position: absolute; left: 0; width: 2px; height: 20px; background: #b41720;}
.organ-list { padding-left: 120px; }
.organ-list li { font-size: 15px; font-weight: 300; letter-spacing: -.03em; line-height: 1.2em; color: #454545; margin-bottom: 10px;}
.organ-list li:last-child { margin-bottom: 0;}
.organ-group { margin-bottom: 45px;}
/* .organ-group.mg { margin-bottom: 80px;} */
.organ-group:last-child { margin-bottom: 0;}
.organ-mg { margin-top: 80px;}
.organ-right img { object-fit: cover; height: 100%; width: 100%; }

/* history */
.hst-tit { font-size: 20px; font-weight: 600; letter-spacing: -.03em; line-height: 1.2em; color: #454545; margin-top: 55px;}
.hstbox { margin-top: 40px;position: relative;}
.hst-titbox { display: flex; align-items: center; position: absolute; left: 0;}
.hst-titbox .year { font-size: 16px; font-weight:700; letter-spacing: -.03em; line-height: 1.2em; color: #454545; position: relative; padding-left: 12px;}
.hst-titbox .year::before { content: ""; position: absolute; left: 0; width: 2px; height: 20px; background: #b41720;}
.hst-txtbox { margin-left: 100px; position: relative; margin-bottom: 20px;}
.hst-txtbox:last-child { margin-bottom: 0;}
.hst-txtbox .month { font-size: 16px; font-weight: 500; letter-spacing: -.03em; line-height: 1.2em; color: #454545; position: absolute; padding-left: 12px; left: 0;}
.hst-txtbox .month::before { content: ""; position: absolute; left: 0; width: 2px; height: 20px; background: #b41720;}
.hst-list { padding-left: 80px; padding-top: 1px;}
.hst-list li { font-size: 15px; font-weight: 300; letter-spacing: -.03em; line-height: 1.2em; color: #454545; margin-bottom: 15px;}
.hst-list li:last-child { margin-bottom: 0;}
.hst-group { margin-bottom: 40px;}
.hst-group:last-child { margin-bottom: 0;}

/* location */
.map-left { width: 44%; padding-top: 40px;}
.map-right { width: 56%; text-align: center;}
.lct-group { padding: 40px 0; border-bottom: 1px solid #ddd;}
.lct-group.mg { margin-top: 20px;}
.lct-group:last-child { border-bottom: none;}
.lct-tit { font-size: 20px; font-weight: 600; letter-spacing: -.03em; line-height: 1em; color: #454545; margin-bottom: 35px;}
.lct-list li { position: relative; margin-bottom: 20px;}
.lct-list li:last-child { margin-bottom: 0;}
.lct-list li .title { font-size: 16px; font-weight: 700; letter-spacing: -.03em; line-height: 1.2em; position: absolute; left: 0; color: #454545;}
.lct-list li .txt { padding-left: 110px; font-size: 15px; line-height: 1.2em; font-weight: 300; letter-spacing: -.03em; color: #454545; padding-top: 1px;}

/* sns */
.sns { display: flex; height: 100vh;}
.snsbox { width: calc(100%/4); background-repeat: no-repeat; background-position: center; color: #fff; background-size: cover;}
.snsbox a { display: block; width: 100%; padding: 70px 30px 40px 40px; height: 100%; position: relative;}
.sns-tit { font-size: 24px; font-weight: 600; letter-spacing: -.03em; line-height: 1.2em; margin-bottom: 22px; color: #fff;}
.sns-txt { font-weight: 300; letter-spacing: -.03em; line-height: 1.2em; color: #fff;}
.snsbox.bg1 .sns-tit { color: #222;}
.snsbox.bg1 .sns-txt { color: #222;}
.snsbox.bg1 { background: #fff; position: relative;}
.snsbox.bg2 { background-image: url(../images/sub/blog1.jpg); }
.snsbox.bg3 { background-image: url(../images/sub/blog2.jpg); }
.snsbox.bg4 { background-image: url(../images/sub/blog3.jpg); }
.sns-right {text-align: right; margin-bottom: 60px;}
.insta { position: absolute; left: 40px; bottom: 40px; height: 160px;}

/* recruit */
.rec-tit { margin-top: 60px; font-size: 20px; font-weight: 600; letter-spacing: -.03em; line-height: 1.2em; color: #454545; margin-bottom: 35px;}
.rec-box { margin-bottom: 60px;}
.rec-box:last-child { margin-bottom: 0;}
.rec-subtit { font-size: 16px; font-weight: 700; letter-spacing: -.03em; line-height: 1.2em; color: #454545;  margin-bottom: 25px;}
.rec-subtit.mg { margin-bottom: 15px;}
.rec-ds { margin-bottom: 35px;}
.rec-ds:last-child { margin-bottom: 0;}
.rec-ds strong { font-size: 16px; font-weight: 500; letter-spacing: -.03em; line-height: 1.2em; color: #454545; margin-bottom: 15px; display: block;}
.rec-list li { font-size: 15px; font-weight: 300; letter-spacing: -.03em; line-height: 1.2em; color: #454545; margin-bottom: 8px;}
.rec-list li a { color: #d49d0a;}