/* CSS Document */
@charset "UTF-8";

.sp_only{display: none;}

.Cardo{font-family: 'Cardo', serif;}
.Sawarabi{font-family: 'Sawarabi Gothic', sans-serif;}
.Shippori{font-family: 'Shippori Mincho', serif;}

.c_object_cover img{object-fit:cover;width:100%;height:100%;}

.c_sectitle{font-size:24px;line-height:30px;border-left:1px solid #1A1C19;padding-left:27px;font-family: 'Shippori Mincho', serif;}

.c_link{font-family: 'Cardo', serif;font-size:14px;line-height:20px;display:inline-block;padding-right:25px;position:relative;transition:0.5s;}
.c_link::before{content:"";position:absolute;top:calc(50% - 0.5px);right:0px;height:1px;width:15px;background:#1A1C19;transition:0.5s;}
.c_link:hover{padding-left:25px;padding-right:0;}
.c_link:hover::before{width:0;}

body{background:#EFEFEF;}
header {padding: 30px 75px;width:100%;box-sizing:border-box;z-index:999;}
header .logo{display:block;width:200px;}
header .menu{position:absolute;top:300px;left:75px;}
header .menu a{font-size:14px;line-height:30px;display:block;margin-bottom:10px;transition:0.5s;}
header .menu a:hover{padding-left:15px;}
header .menu span{display:none;}

footer{background:#1A1C19;padding:65px 0;position:relative;}
footer .wrap01{width:1100px;max-width:100%;margin: 0 auto;color:#FFF;display:flex;flex-wrap:wrap;justify-content:space-between;}
footer .logowrap{width:calc(100% - 120px);margin-bottom:70px;}
footer .logowrap .logo{display:block;width:180px;}
footer .contact{width:120px;border-bottom:1px solid #FFF;align-self: flex-start;text-align:center;font-size:14px;line-height:30px;position:relative;overflow:visible;}
footer .contact::after{content:"";width:0%;height:1px;background:#1A1C19;position:absolute;bottom:-1px;right:0;transition:1s;}
footer .contact:hover::after{width:100%;left:0;right:auto;transition:1s 0.1s}
footer .menu{width:calc(100% - 415px);}
footer .menu a{font-size:14px;line-height:30px;margin-bottom: 20px;display:block;}
footer .texts{font-size:14px;line-height:30px;color:#FFF;width:415px;position:relative;align-self:flex-end;}
footer .texts .logo{width:80px;position:absolute;top:0;right:0;}
footer .copyright{color:#5D605C;text-align:right;margin-top:30px;}
footer .scrolltop{font-size:14px;color:#FFF;position:absolute;top:calc(100% - 80px);right:50px;transform-origin:right top;transform:rotate(90deg);padding-left:60px;transition:1s;}
footer .scrolltop::before{content:"";width:45px;height:1px;background:repeating-linear-gradient(to right ,#FFF  0, #FFF 45px, transparent 45px, transparent 90px );background-size:90px;position:absolute;top:50%;left:0;transform:translateY(-50%);animation: scrolltop 1500ms linear 100ms infinite;}
footer .scrolltop:hover::before{color:#3E3F3D}
footer .scrolltop:hover::before{background:#3E3F3D}
@keyframes scrolltop {
  0% {background-position:0px;}
  100% {background-position:-90px;}
}

.top header{position:absolute;top:0;left:0;}
.top .sec_hero{position:relative;}
.top .sec_hero {padding:150px 35px;position:relative;}
.top .sec_hero .slider .main{width:600px;max-width:calc(100vw - 400px);margin: 0 auto;position:relative;z-index:3;}
.top .sec_hero .slider .main >*{transition:2s;width:100%;height:100%;}
.top .sec_hero .slider .main >*:nth-child(1){opacity:0;pointer-events:none;}
.top .sec_hero .slider .main >*:nth-child(2){z-index:-1;}
.top .sec_hero .slider .main >*:nth-child(3){z-index:-2;}
.top .sec_hero .slider .main >*:nth-child(n + 2){position:absolute;top:0;left:0;}
.top .sec_hero .slider .main >*:nth-child(n + 3){z-index:-3;opacity:0;}
/* .top .sec_hero .slider .main >*:nth-child(n + 4){opacity:0;} */


.top .sec_hero .slider .bg{width:50%;height:100%;position:absolute;top:0;right:0;}
/*-webkit-filter: blur(5px);-moz-filter: blur(5px);-o-filter: blur(5px);-ms-filter: blur(5px);filter: blur(5px);}*/
.top .sec_hero .slider .bg >*{transition:2s;width:100%;height:100%;}
.top .sec_hero .slider .bg >*:nth-child(1){opacity:0;pointer-events:none;}
.top .sec_hero .slider .bg >*:nth-child(2){z-index:-1;}
.top .sec_hero .slider .bg >*:nth-child(2){z-index:-2;}
.top .sec_hero .slider .bg >*:nth-child(n + 2){position:absolute;top:0;left:0;}
.top .sec_hero .slider .bg >*:nth-child(n + 3){z-index:-3;opacity:0;}
/* .top .sec_hero .slider .bg >*:nth-child(n + 4){opacity:0;} */

.top .sec_hero .slider .dots{position:absolute;bottom:150px;left:75px;}
.top .sec_hero .slider .dot.big{transform:scale(2);}


.top .sec_hero .message{font-size:46px;line-height:64px;color:#FFF;position:absolute;left:calc(50% + 220px);bottom:250px;z-index:5;}

/* .top .sec_hero .slide01 .main .img:nth-child(1){position:static;} */
/* .top .sec_hero .slide01 .bg .img:nth-child(1){opacity:1;} */


.top .sec_concept{display:flex;margin-top:110px;}
.top .sec_concept .img{width:calc(50% + 100px);height:600px;}
.top .sec_concept .texts{width:370px;padding:0 0 40px 80px;align-self:flex-end;}
.top .sec_concept .titles{margin-bottom:55px;display:flex;}
.top .sec_concept .etitle{font-size:36px;line-height:100%;margin-right:20px;}
.top .sec_concept .title{font-size:14px;line-height:100%;align-self:flex-end;padding-bottom:6px;}
.top .sec_concept .subtitle{font-size:26px;line-height:40px;margin-bottom:30px;}
.top .sec_concept .text{font-size:14px;line-height:30px;margin-bottom:40px;}
.top .sec_concept .link_wrap{}

.top .sec_works{margin-top:160px;}
.top .sec_works .titles{margin-bottom:55px;text-align:center;}
.top .sec_works .etitle{font-size:36px;line-height:100%;margin-bottom:15px;}
.top .sec_works .title{font-size:14px;line-height:100%;align-self:flex-end;}
.top .sec_works .items{width:1100px;max-width:100%;margin:0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;}
.top .sec_works .items > *{width:330px;}
.top .sec_works .item{margin-bottom:50px;}
.top .sec_works .img{height:220px;margin-bottom:5px;overflow:hidden;}
.top .sec_works img{transition:1s;}
.top .sec_works a:hover img{transform:scale(1.1);}
.top .sec_works .name{font-size:14px;line-height:30px;}
.top .sec_works .link_wrap{text-align:center;}

.top .sections{width:1100px;max-width:100%;display:flex;margin: 150px auto 0;}
.top .sections .alllink{display:block;width:100%;height:100%;}
.top .sec_company{width:50%;height:650px;position:relative;background-size:cover;color:#FFF;overflow:hidden;}
.top .sec_company .bg{width:100%;height:100%;background:url("../img/top/company.jpg");background-size:cover;position:absolute;top:0;left:0;z-index:-1;transform-origin:center;transition:1s;}
.top .sec_company:hover .bg{transform:scale(1.1);}
.top .sec_company .texts{width:365px;position:absolute;top:50%;left:50%;transform:translate(-50% , -50%);}
.top .sec_company .titles{display:flex;align-self:flex-end;margin-bottom:50px;}
.top .sec_company .etitle{font-size:36px;line-height:100%;margin-right:20px;}
.top .sec_company .title{font-size:14px;line-height:100%;align-self:flex-end;padding-bottom:6px;}
.top .sec_company .text{font-size:14px;line-height:30px;width:100%;margin-bottom:50px;}
.top .sec_company .link_wrap{}
.top .sec_company .c_link::before{background-color:#FFF;}

.top .sec_flow{width:50%;height:650px;position:relative;background-size:cover;color:#FFF;overflow:hidden;margin-top:70px;}
.top .sec_flow .bg{width:100%;height:100%;background:url("../img/top/flow.jpg");background-size:cover;position:absolute;top:0;left:0;z-index:-1;transform-origin:center;transition:1s;}
.top .sec_flow:hover .bg{transform:scale(1.1);}
/*.top .sec_flow{width:50%;height:650px;position:relative;background:url("../img/top/flow.jpg");background-size:cover;color:#FFF;}*/
.top .sec_flow .texts{width:365px;position:absolute;top:50%;left:50%;transform:translate(-50% , -50%);}
.top .sec_flow .titles{display:flex;align-self:flex-end;margin-bottom:50px;}
.top .sec_flow .etitle{font-size:36px;line-height:100%;margin-right:20px;}
.top .sec_flow .title{font-size:14px;line-height:100%;align-self:flex-end;padding-bottom:6px;}
.top .sec_flow .text{font-size:14px;line-height:30px;width:100%;margin-bottom:50px;}
.top .sec_flow .c_link::before{background-color:#FFF;}

.top .sec_news{width:1100px;max-width:100%;margin:120px auto 0;display:flex;justify-content:space-between;flex-wrap:wrap;}
.top .sec_news .titles{width:200px;}
.top .sec_news .etitle{font-size:36px;line-height:100%;margin-bottom:15px;}
.top .sec_news .title{font-size:14px;line-height:100%;}
.top .sec_news .links{width:calc(100% - 200px);border-top:1px solid #CFCFCF;margin-bottom:45px;}
.top .sec_news .link{display:flex;font-size:14px;line-height:30px;border-bottom:1px solid #CFCFCF;padding:35px 0;position:relative;}
.top .sec_news .link::after{content:"";width:0%;height:1px;background:#1A1C19;position:absolute;bottom:0;right:0;transition:1s;}
.top .sec_news .link:hover::after{width:100%;left:0;right:auto;transition:1s 0.1s}
.top .sec_news .date{width:120px;}
.top .sec_news .name{width:calc(100% - 120px);}
.top .sec_news .link_wrap{width:100%;text-align:right;}

.top .sec_contact{margin: 90px auto 60px;}
.top .sec_contact .titles{text-align:center;margin-top:55px;margin-bottom:40px;}
.top .sec_contact .etitle{font-size:36px;line-height:100%;margin-bottom:15px;}
.top .sec_contact .title{font-size:14px;line-height:100%;}
.top .sec_contact .links{display:flex;justify-content:center;}
.top .sec_contact .tel{font-size:36px;line-height:100%;align-self:center;width:290px;text-align:center;margin: 0 30px;}
.top .sec_contact .tel span{font-size:20px;}
.top .sec_contact .mail{font-size:14px;line-height:20px;padding:19px 0;width:288px;text-align:center;border:1px solid #1A1C19;margin: 0 30px;position:relative;transition:0.3s 0.1s;}
.top .sec_contact .mail::before{content:"";width:0%;height:100%;background:#000;position:absolute;top:0;right:0;transition:0.5s;z-index:-1;}
.top .sec_contact .mail:hover{color:#FFF;}
.top .sec_contact .mail:hover::before{width:100%;left:0;right:auto;}


body:not(.top) .sec_hero{padding:10px 0 100px;}
body:not(.top) .sec_hero .titles{width:1140px;padding: 0 20px 40px;box-sizing:border-box;max-width:100%;text-align:right;margin: 0 auto;}
body:not(.top) .sec_hero .etitle{font-size:70px;}
body:not(.top) .sec_hero .title{font-size:16px;}
body:not(.top) .sec_hero .img{width:calc(100% - 300px);height:465px;margin: 0 0 0 auto;background-size:cover;background-position:center;}

.company .sec01{width:1100px;max-width:100%;margin: 0 auto 135px;}
.company .sec01 .c_sectitle{margin-bottom:36px;}
.company .sec01 dl{width:100%;display:flex;jutify-content:space-between;flex-wrap:wrap;position:relative;border-top:1px solid #CFCFCF;font-size:14px;line-height:30px;}
.company .sec01 dl::before{content:"";width:1px;height:100%;background:#CFCFCF;position:absolute;top:0;left:135px;}
.company .sec01 dt{width:180px;border-bottom:1px solid #CFCFCF;padding:16px 0;color:#7B7F79;}
.company .sec01 dd{width:calc(100% - 180px);border-bottom:1px solid #CFCFCF;padding:16px 0;}

.company .sec02{width:1100px;max-width:100%;margin: 0 auto 120px;}
.company .sec02 .c_sectitle{margin-bottom:36px;}
.company .sec02 iframe{width:100%;height:400px;}

.concept .sec01{padding-bottom:200px;position:relative;}
.concept .sec01 .wrap01{width:1100px;max-width:100%;margin: 0 auto;}
.concept .sec01 .wrap02{width:500px;max-width:100%;}
.concept .sec01 .sectitle{font-size:40px;line-height:58px;margin-bottom:40px;}
.concept .sec01 .text{font-size:14px;line-height:30px;text-align:justify;}
.concept .sec01 .deco{height:500px;width:calc(50% - 50px);position:absolute;bottom:0;right:0;background-size:cover;background-position:center;}

.concept .sec02{padding-top:110px;padding-bottom:140px;position:relative;}
.concept .sec02 .wrap01{width:1100px;max-width:100%;margin: 0 auto;}
.concept .sec02 .wrap02{width:700px;max-width:100%;margin: 0 0 0 auto;}
.concept .sec02 .c_sectitle{margin-bottom:50px;}
.concept .sec02 .text{font-size:14px;line-height:30px;margin-bottom:30px;text-align:justify;}
.concept .sec02 .name{font-size:16px;line-height:30px;text-align:right;}
.concept .sec02 .deco{height:265px;width:calc(50% - 265px);position:absolute;top:-100px;left:0;background-size:cover;background-position:center;}

.concept .sec03 .deco{height:500px;width:100%;left:0;background-size:cover;background-position:center;}
.concept .sec03 .wrap01{width:700px;max-width:100%;margin:70px auto;position:relative;z-index:3;}
.concept .sec03 .text{font-size:16px;line-height:40px;margin-bottom:30px;text-align:justify;}
.concept .sec03 .logo{width:250px;position:absolute;top:-140px;left:-200px;z-index:-1;}


body.works .sec_hero{padding-bottom:0;}
.works .sec01{width:1140px;max-width:100%;margin: 0 auto;padding:0 20px 85px;box-sizing:border-box;}
.works .sec01 .items{width:950px;max-width:100%;margin: 0 0 0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;}
.works .sec01 .items::after{content:"";width:285px;}
.works .sec01 .item{width:285px;margin-bottom:40px;}
.works .sec01 .item .img{height:190px;width:100%;}
.works .sec01 .item .title{font-size:14px;line-height:30px;}
.works .sec01 .page {display:flex;justify-content:center;}
.works .sec01 .page >*{font-size:14px;line-height:30px;margin: 0 10px;}

body.works_det .sec_hero{padding-bottom:0;}
.works_det .sec01{width:1140px;max-width:100%;margin: 0 auto;padding:0 20px 145px;box-sizing:border-box;}
.works_det .sec01 .item{width:950px;max-width:100%;margin: 0 0 0 auto;}
.works_det .sec01 .title{font-size:26px;line-height:40px;margin-bottom:30px;}
.works_det .sec01 .mainimg{margin-bottom:40px;}
.works_det .sec01 .text{font-size:14px;line-height:30px;margin-bottom:60px;}
.works_det .sec01 .imgs{display:flex;justify-content:space-between;flex-wrap:wrap;margin-bottom:10px;}
.works_det .sec01 .img{width:calc(50% - 25px);height:300px;margin-bottom:50px;}
.works_det .sec01 .return{display:block;width:290px;box-sizing:border-box;font-size:14px;line-height:28px;padding:15px 0; border:1px solid #1A1C19;text-align:center;margin:0 auto;position:relative;transition:0.3s 0.1s;}
.works_det .sec01 .return::before{content:"";width:0%;height:100%;background:#000;position:absolute;top:0;right:0;transition:0.5s;z-index:-1;}
.works_det .sec01 .return:hover{color:#FFF;}
.works_det .sec01 .return:hover::before{width:100%;left:0;right:auto;}


body.news .sec_hero{padding-bottom:0;}
.news .sec01{width:1140px;max-width:100%;margin: 0 auto;padding:0 20px 85px;box-sizing:border-box;min-height:300px;}
.news .sec01 .items{width:950px;max-width:100%;margin: 0 0 80px auto;border-top:1px solid #CFCFCF;}
.news .sec01 .item{width:100%;border-bottom:1px solid #CFCFCF;padding:30px 0;font-size:14px;line-height:30px;display:flex;}
.news .sec01 .item .days{width:125px;}
.news .sec01 .item .title{width:calc(100% - 125px);}
.news .sec01 .page {display:flex;justify-content:center;}
.news .sec01 .page >*{font-size:14px;line-height:30px;margin: 0 10px;}

body.news_det .sec_hero{padding-bottom:0;}
.news_det .sec01{width:1140px;max-width:100%;margin: 0 auto;padding:0 20px 145px;box-sizing:border-box;}
.news_det .sec01 .item{width:950px;max-width:100%;margin: 0 0 0 auto;}
.news_det .sec01 .days{font-size:14px;line-height:30px;}
.news_det .sec01 .title{font-size:26px;line-height:40px;margin-bottom:35px;}
.news_det .sec01 .text{font-size:14px;line-height:30px;margin-bottom:60px;}
.news_det .sec01 .img{width:100%;margin-bottom:50px;}
.news_det .sec01 .return{display:block;width:290px;box-sizing:border-box;font-size:14px;line-height:28px;padding:15px 0; border:1px solid #1A1C19;text-align:center;margin:0 auto;position:relative;transition:0.3s 0.1s;}
.news_det .sec01 .return::before{content:"";width:0%;height:100%;background:#000;position:absolute;top:0;right:0;transition:0.5s;z-index:-1;}
.news_det .sec01 .return:hover{color:#FFF;}
.news_det .sec01 .return:hover::before{width:100%;left:0;right:auto;}

.flow .sec01{width:1100px;max-width:100%;margin: 0 auto;padding-bottom:140px;}
.flow .sec01 .step{position:relative;padding-left:80px;}
.flow .sec01 .step::before{content:"";width:1px;height:calc(100% - 20px);background:#CFCFCF;position:absolute;top:70px;left:16px;}
.flow .sec01 .step:last-child::before{display:none;}
.flow .sec01 .step + .step{margin-top:60px;}
.flow .sec01 .step .num{font-size:60px;line-height:100%;position:absolute;top:0;left:0;color:#A6B89E;}
.flow .sec01 .step .name{font-size:24px;line-height:40px;padding:10px 0;}
.flow .sec01 .step .text{font-size:14px;line-height:30px;}

body.contact .sec_hero{padding-bottom:0;}
.contact .secinput{width:800px;max-width:100%;padding:30px;box-sizing:border-box;margin: 0 auto;}
.contact .text{font-size:14px;line-height:26px;font-weight:bold;text-align:left;margin: 45px 0;}
.contact .text span{color:#DB0E0E;margin-left:3px;}
.contact .caption{font-size:18px;line-height:36px;text-align:left;color:#F00;margin-top:20px;}
.contact .item{font-size:14px;line-height:30px;display:flex;flex-wrap:wrap;justify-content:space-between;margin:45px 0;}
.contact .name{width:200px;padding-top:16px;}
.contact .name span{color:#DB0E0E;margin-left:3px;}
.contact .input{width:calc(100% - 265px);}
.contact .output{width:calc(100% - 265px);padding-top:16px;}
.contact input[type="text"],
.contact textarea{width:100%;padding:15px 10px;border:none;box-sizing:border-box;border-radius:0;background:#E0E0E0}
.contact select{height:100%;padding:15px 10px;border:none;background:#E0E0E0}
.contact input[type="text"].address01{width:150px;}
/*.contact input[type="submit"]{font-size:14px;line-height:18px;padding:15px 0;background:#000;color:#FFF;border-color:#000;width:230px;margin: 60px auto;display:block;}*/
/*.contact input[type="submit"]:hover{background:#FFF;color:#000;}*/

.contact .message{margin:50px auto;}
.contact .text01{font-size:20px;line-height:36px;text-align:center;font-weight:bold;margin-bottom:10px;}
.contact .text02{font-size:16px;line-height:32px;text-align:center;margin-bottom:40px;}
.contact .text03{font-size:18px;line-height:32px;text-align:center;font-weight:bold;margin-bottom:10px;}
.contact .text04{font-size:16px;line-height:32px;text-align:center;}

.contact .return{width:290px;margin:60px auto;position:relative;}
.contact .return::before{content:"";width:0%;height:100%;background:#000;position:absolute;top:0;right:0;transition:0.5s;z-index:-1;}
.contact .return input[type="submit"]{display:block;box-sizing:border-box;width:100%;font-size:14px;line-height:18px;padding:15px 0; border:1px solid #1A1C19;text-align:center;margin:60px auto;position:relative;transition:0.3s 0.1s;background:rgba(0,0,0,0);-webkit-appearance: none;}
.contact .return:hover input[type="submit"]{color:#FFF;}
.contact .return:hover::before{width:100%;left:0;right:auto;}




