@charset "UTF-8";

html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,b, i,dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video,main { margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent;}
html{font-size:100%;}
body{font-family:"Noto Serif JP","Noto Serif",serif;color:#353535;}
html, body { overflow-x:hidden; }
img{max-width:100%;vertical-align:bottom;}
li{list-style:none;}
a{color:#D4C09D ;text-decoration: none;transition: all 0.3s ease;}
a:hover{opacity: 0.7;}
iframe{vertical-align: bottom;}
.fadein{opacity:0;transform:translateY(40px);transition:opacity 0.8s ease,transform 0.8s ease;}
.fadein.active{opacity:1;transform:translateY(0);}
.more-btn{display:block;width:fit-content;border-bottom:solid 1px #D4C09D;padding-bottom:6px;margin:0 auto;}


#header{width: 100%;height: 80px;display: flex;align-items: center;justify-content: space-between;padding: 0 20px;position: fixed;top: 0;left: 0;z-index: 10;}
#header .logo{width: 100%;max-width: 220px;line-height: 0;}
#header .logo a{display: block;}
#header .navi .menu{display: flex;align-items: center;font-size: 14px;font-weight: 600;color: #fff;}
#header .navi .menu li{margin-left: 30px;}
#header .navi .menu li a{text-decoration:none;color:inherit;position:relative;}
#header .navi .menu li a::after{content:"";position:absolute;left:0;bottom:-3px;width:0;height:1px;background:#ffd3aa;transition:0.3s;}
#header .navi .menu li a:hover::after{width:100%;}
#header .navi .menu .menu-contact a{background:linear-gradient(to right,#152454,#2F50BA);color: #fff;border-radius: 30px;display: block;padding: 8px 30px;text-align: center;}
#header .mask{display: none}
.hamburger{display:none;width:30px;height:22px;flex-direction:column;justify-content:space-between;cursor:pointer}
.hamburger span{display:block;height:2px;background:#fff;width:100%}



@media screen and (max-width:1024px){
.hamburger{display:flex}
#header .navi{position:fixed;top:0;right:-100%;width:80%;height:100vh;background:#152454;transition:0.4s;padding-top:80px}
#header .navi .menu{flex-direction:column;align-items:center}
#header .navi .menu li{margin:20px 0}
#header .mask{display:block;position:fixed;top:0;left:0;width:100%;height:100vh;background:rgba(0,0,0,0.5);opacity:0;visibility:hidden;transition:0.3s}
#header.open .navi{right:0}
#header.open .mask{opacity:1;visibility:visible}
}
    

.mainvisual{height:100vh;background:url(img/karatz-top.png) center/cover no-repeat;position:relative;display:flex;align-items:center;padding-left:8%;margin-bottom:80px;animation:mvZoom 10s ease-in-out forwards;}
@keyframes mvZoom{0%{background-size:100%;}100%{background-size:120%;}}
.site-title{font-size:32px;color:#4A5A73;letter-spacing:0.1em}
.bg-title{position:absolute;bottom:-36px;right:40px;font-size:120px;color:rgba(255,255,255,0.4);letter-spacing:10px;font-weight: 700;}

@media screen and (max-width:1024px){
.mainvisual{padding-left:6%;margin-bottom:60px}
.site-title{font-size:28px}
}

@media screen and (max-width:768px){
.mainvisual{height:70vh;padding-left:5%;margin-bottom:40px}
.site-title{font-size:22px}
}

@media screen and (max-width:480px){
.mainvisual{height:60vh;padding-left:4%}
.site-title{font-size:18px}
}

@media screen and (max-width:610px){
.bg-title{position:absolute;bottom:-20px;right:30px;font-size:60px;color:rgba(255,255,255,0.4);letter-spacing:10px;font-weight: 700;}}


/*mission*/
.mission{margin:0 auto 80px;padding:80px 0;background:#ffffff;}
.mission-inner{display:flex;max-width:1200px;margin:0 auto;gap:60px;align-items:flex-start;}
.mission-img{width:40%;overflow:hidden;}
.mission-img img{width:100%;height:auto;object-fit:cover;animation:missionZoom 4s linear forwards;}
@keyframes missionZoom{0%{transform:scale(1);}100%{transform:scale(1.08);}}
.text-area{width:60%;padding-top:80px;position: relative;transition-delay:0.6s}
h2{display: flex;flex-direction: column;margin-bottom: 32px;}
h2 .en{font-size: 28px;letter-spacing: .2em;}
h2 .ja{font-size: 14px;letter-spacing: .1em;}
.text-area .title{color: #374151; font-size: 28px;letter-spacing: .2em;font-weight: 600;margin-bottom: 20px;}
.text-area .description{line-height:1.8;font-size: 14px;margin-right: 100px;}
.text-area .more-btn{position: absolute;right: 20%;bottom: -40px;border-bottom:solid 1px #D4C09D;padding-bottom: 6px;}

@media screen and (max-width:768px){
.mission{padding:60px 20px;margin-bottom:60px;}
.mission-inner{flex-direction:column;gap:30px;}
.mission-img{width:100%;max-width:420px;margin:0 auto;}
.mission-img img{width:100%;height:auto;}
.text-area{width:100%;padding-top:0;}
.text-area .description{margin-right:0;}
.text-area .more-btn{position:static;display:block;margin:30px auto 0;border-bottom:solid 1px #D4C09D;padding-bottom:6px;width:fit-content;}
h2 .en{font-size:22px;}
.text-area .title{font-size:22px;}
}

/*サービス内容*/
.service{background:url(img/background.png);padding-bottom: 100px;}
.service-inner{width: 80%;max-width: 1200px;margin: 2% auto;}
.service-inner h2{margin-bottom: 20px;}
.service-inner .text-area{width:100%;margin-bottom:50px;}
.service-item{display:flex;align-items:center;margin-bottom:120px;}
.service-item .service-img{width:45%;position:relative;overflow:hidden;margin-right: 30px;}
.service-item .service-img img{width:100%;display:block;}
.service-item .service-img::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.35);transition:0.4s;}
.service-item .service-text{width:55%;position: relative;}
.service-item .service-text h3{font-size: 20px;color: #D4C09D;margin-bottom: 16px;}
.service-item .mini-title{position:absolute;left:50%;bottom:20%;transform:translateX(-50%);color:#fff;font-size:28px;font-weight:600;letter-spacing:2px;transition:0.8s;z-index:20;white-space:nowrap;text-align: center;}
.service-item .service-img .mini-title{transition:bottom 1s ease;}
.service-item .description{line-height: 1.8;}
.service-item.reverse{flex-direction:row-reverse;}
.service-item.reverse .service-img{margin-right:0;margin-left:30px;}
.service-item .more-btn{position: absolute;right:0;bottom: -40px;border-bottom:solid 1px #D4C09D;padding-bottom: 6px;}
.service-item:hover .service-img::after{background:rgba(255,255,255,0.25);}
.service-item:hover .mini-title{bottom:45%;}

@media screen and (max-width:768px){
.service{padding-bottom:70px;}
.service-inner{width:90%;margin:40px auto;}
.service-item{flex-direction:column;margin-bottom:60px;}
.service-item.reverse{flex-direction:column;}
.service-item .service-img{width:100%;margin-right:0;margin-left:0;margin-bottom:20px;}
.service-item .service-text{width:100%;}
.service-item .service-text h3{font-size: 16px;color: #D4C09D;margin-bottom: 16px;}
.service-item .description{font-size: 14px;}
.service-item .mini-title{font-size:22px;}
.service-item .service-img:hover .mini-title{bottom:45%;}
.service-item .more-btn{position:static;display:block;margin:30px auto 0;border-bottom:solid 1px #D4C09D;padding-bottom:6px;width:fit-content}

}

/*社会への取り組み*/
.social{position:relative;background:#fffaf3;padding:100px 0;overflow:hidden;clip-path:polygon(0 0,100% 20%,100% 100%,0 100%);z-index: 1;padding-top: 120px;margin-bottom: 80px;}
.social-inner{width: 80%;max-width: 1200px;margin: 0 auto;}
.social h2,.social .description{text-align: center;}
.efforts-list{display:flex;justify-content:space-between;max-width:1000px;margin:50px auto;}
.effort-item{width:30%;}
.effort-item .number{font-size:40px;color:#cfcfcf;font-weight: 700;}
.effort-item .title{font-size:18px;margin-bottom:10px;color: #D4C09D;}
.effort-item .description{font-size:14px;line-height:1.8;text-align: start;}
.socail-inner .more-btn{right: 45%;bottom: 50px;}

@media screen and (max-width:768px){
.social{padding:90px 20px 70px;clip-path:polygon(0 0,100% 4%,100% 100%,0 100%);margin-bottom:60px;}
.efforts-list{flex-direction:column;max-width:100%;gap:40px;margin-top:40px;}
.effort-item{width:100%;}
.effort-item .number{font-size:32px;}
.effort-item .title{font-size:16px;}
.effort-item .description{font-size:13px;line-height:1.7;}
.social-inner .more-btn{margin-top:40px;}
}

/*news*/
.news{margin-bottom: 120px;padding-top: 50px;}
.news-inner{width: 80%;max-width: 1000px;margin: 2% auto;}
.news-inner h2, .news-inner .description{text-align: center;}
.news-inner .description{margin-bottom: 50px;}
.news-list{list-style:none;padding:0;margin-bottom: 20px;}
.news-item{display:flex;align-items:flex-start;padding:20px 0;border-bottom:1px solid #e5e5e5;}
.news-item .date{width:110px;font-size:14px;color:#8a8a8a;}
.news-item .category{width:120px;display:inline-block;font-size:12px;padding:3px 10px;border-radius:20px;background:#f1e7d0;color:#b89c63;text-align:center;margin-right:30px;}
.news-item .news-text{flex:1;}
.news-title{font-size:16px;margin-bottom:6px;font-weight:600;color:#333;margin:0 0 6px 0;text-align:left;}
.news-item .description{font-size:14px;color:#666;line-height:1.7;margin:0;text-align:left;}
.news-inner .more-btn{bottom: 0;right: 20%;}

@media screen and (max-width:768px){
.news{margin-bottom:80px;padding-top:40px}
.news-inner{width:90%}
.news-inner .description{margin-bottom:30px}
.news-item{flex-direction:column;gap:10px}
.news-item .date{width:auto;font-size:13px}
.news-item .category{width:auto;margin-right:0}
.news-title{font-size:15px}
.news-item .description{font-size:13px}
.news-inner .more-btn{position:static;display:block;margin:30px auto 0;width:fit-content}
}

@media screen and (max-width:480px){
.news{margin-bottom:60px;padding-top:30px}
.news-title{font-size:14px}
.news-item .description{font-size:12px}
}

/*recruit*/
.recruit{background:url(img/background.png);padding-bottom: 100px; padding-top: 80px;}


/*footer*/
.footer{background:#f5f5f5;padding:50px 0;font-family:sans-serif}
.footer-inner{max-width:1200px;margin:auto;display:flex;gap:80px;border-bottom: solid 1px #e5e5e5;padding-bottom: 50px;}
.footer-brand{width:300px;display: flex;flex-direction: column;align-items: center;}
.footer-desc{margin-top:15px;color:#797979;line-height:1.6;margin-left: 10px;}
.footer-links{display:flex;gap:120px}
.footer-col h4{font-size:14px;margin-bottom:10px}
.footer-col ul{list-style:none;padding:0;margin:0}
.footer-col li{margin-bottom:8px}
.footer-col a{text-decoration:none;color:#969696;font-size:14px}
.footer-col a:hover{text-decoration:underline}
.footer-logo{width: 100%;max-width: 120px;line-height: 0;}
.footer-logo a{display: block;}
.footer h4{letter-spacing: 0.1em;color: #333;}

@media screen and (max-width:768px){
.footer{padding:40px 0}
.footer-inner{flex-direction:column;gap:40px;padding-bottom:30px}
.footer-brand{width:100%;text-align:center}
.footer-desc{margin-left:0}
.footer-links{flex-direction:column;gap:30px;text-align:center}
.footer-logo{margin:0 auto}
}

@media screen and (max-width:480px){
.footer{padding:30px 0}
.footer-col h4{font-size:13px}
.footer-col a{font-size:13px}
}