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{color:#1f1f1f;font-family:'Noto Sans JP',sans-serif;font-weight:400;}
img{max-width:100%;vertical-align:bottom;}
li{list-style:none;}
a{color:#fff;text-decoration:none;transition:all .3s ease;position:relative;}
a::after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:1px;background:#fff;transform:scaleX(0);transition:transform .5s ease;}
a:hover::after{transform:scaleX(1);}
iframe{vertical-align:bottom;}
main{padding-top:80px;margin-bottom:120px;}
.wrapper{width:90%;margin:2% auto;max-width: 1200px;}
html,body{overflow-x:hidden;}


#header{width:100%;height:80px;display:flex;align-items:center;justify-content:space-between;background:#1f1f1f;padding:0 20px;position:fixed;top:0;left:0;z-index:10;box-sizing:border-box;}
#header .logo{flex:0 0 auto;line-height:0;}
#header .logo img{width:clamp(120px,15vw,220px);height:auto;}
#header .logo a{display:block;}
#header .logo a::after{content:none;}
#header .navi .menu{display:flex;align-items:center;font-size:16px;font-weight:400;white-space:nowrap;}
#header .navi .menu>li{margin-left:60px;}
#header .navi .menu .menu-first{position:relative;}
#header .navi .menu .menu-first>a{color:#fff;cursor:pointer;display:block;}
#header .navi .menu .menu-first .menu-second{width:200px;background:#1f1f1f;padding:10px 20px;position:absolute;top:50px;left:0;display:none;}
#header .navi .menu .menu-first .menu-second li{margin-bottom:10px;}
#header .navi .menu .menu-first .menu-second li a{position:relative;padding-left:20px;white-space:nowrap;}
#header .navi .menu .menu-first .menu-second li a::before{content:"";width:8px;height:8px;border-top:1px solid #fff;border-right:1px solid #fff;transform:rotate(45deg);position:absolute;top:9px;left:0;}
#header .navi .menu .menu-contact a{background:linear-gradient(135deg,#4f7cff,#4840a3);border-radius:30px;color:#fff;display:block;font-weight:500;padding:8px 30px;text-align:center;}
.menu-contact a::after{content:none;}
#header .navi .menu .menu-contact a:hover{transform:translateY(1px);filter:brightness(.9);}
#header .mask{display:none;}


@media screen and (max-width:768px){
#header .navi .menu{display:flex;align-items:center;font-size:14px;font-weight:400;white-space:nowrap;}
#header .navi .menu>li{margin-left:30px;}
#header .navi .menu .menu-contact a{padding:6px 18px;font-size:13px;}
.page-header{margin-bottom: 0;}
#header .navi a::after{display:none;}
#header .navi .menu .menu-first .menu-second li a::before{top:26px}
#header .logo img{width:180px;}
}



.section-back-text{position:absolute;top:25%;left:0;width:100%;height:200px;overflow:hidden;z-index:0;pointer-events:none;}
.section-back-text .back-text-track{display:flex;white-space:nowrap;width:max-content;animation:bgTextFlow 200s linear infinite;}
.section-back-text .back-text-track.clone{left:100%;}
.section-back-text span{font-size:160px;font-weight:700;letter-spacing:.05em;color:#ebebeb;padding-right:80px;opacity:.2;}
@keyframes bgTextFlow{from{transform:translateX(0);}to{transform:translateX(-50%);}}

.section-title .ja{font-size:14px;line-height:0;}
.section-title .en{font-size:90px;font-weight:700;margin-bottom:30px;}
.inner{max-width:98%;margin:2% auto;}
.btn{width:100%;max-width:200px;background:linear-gradient(135deg,#4f7cff,#4840a3);border-radius:30px;color:#fff;display:inline-block;font-size:16px;font-weight:400;padding:12px 30px;text-align:center;position:relative;z-index:10;transition:transform .3s ease,filter .3s ease;}
.btn:hover{background:#000;transform:scale(1.05);}

#footer{background:#1f1f1f;padding:0 10px 10px;}
#footer .footer-inner{width:100%;display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;align-items:center;padding:40px 20px;margin:2% auto;color:#fff;max-width: 1200px;}
#footer .footer-inner .info-area{width:320px;}
#footer .footer-inner .info-area .logo{width:100%;max-width:220px;display:block;margin:0 auto 30px;}
#footer .footer-inner .info-area .info-address .address{margin-bottom:15px;line-height:1.6;}
#footer .footer-inner .info-area .info-address .address strong{display:block;font-size:18px;margin-bottom:5px;}
#footer .contact-bottom{background:#878787;color:#fff;padding:12px;text-align:center;justify-self:center;width:100%;max-width:400px;}
#footer .footer-contact {display: flex;flex-direction: column;gap: 40px;align-items: center;margin-top: 60px;}
#footer .footer-contact .contact-title{font-size:18px;margin-bottom:5px;}
#footer .footer-contact .contact-tel{font-size:clamp(32px,3vw,40px);font-weight:600;white-space:nowrap;}
#footer .footer-contact .teamviewer-download{background-color: #fff;padding:12px;text-align:center;justify-self:center;width:100%;max-width:400px;color: #1f1f1f;}
#footer .footer-contact .teamviewer-download a{color:#fff;font-weight:700;background:#000;padding:10px 26px;display:inline-block;text-decoration:none;margin-top: 12px;}
#footer .footer-contact .teamviewer-download a:hover{opacity:.7;}
#footer .menu-area{display:flex;justify-content:flex-end;margin-left: 12px;}
#footer .menu-area .menu-col{width:100%;max-width:180px;margin-left:30px;}
#footer .menu-area .menu-col .menu-title{font-size:15px;font-weight:500;margin-bottom:30px;}
#footer .menu-area .menu-col .menu-list{font-size:14px;}
#footer .menu-area .menu-col .menu-list li{white-space:nowrap;margin-bottom:15px;}
#footer .menu-area .menu-col .menu-list li::before{content:"ー";margin-right:10px;}
#footer .copyright{color:#fff;font-size:12px;text-align:center;margin-top: 24px;}
br.br-1020{display: none}

@media screen and (max-width:1020px){
br.br-1020{display: block}
#footer .menu-area{display:flex;justify-content:flex-end;margin-left:0;}
}


@media screen and (max-width:1000px){
#footer .footer-inner{width:100%;display:flex;flex-direction:column-reverse;padding:40px 20px 0;}
#footer .menu-area{width:100%;padding:0 20px;margin-bottom:20px;column-gap:40px;justify-content: center;}
#footer .footer-contact{margin-bottom:20px;width: 100%;margin-top: 0;}
#footer .footer-inner .info-area .info-address .address{font-size:14px;}}

@media (max-width:460px){
#footer .footer-inner{grid-template-columns:1fr;text-align:center;}
#footer .menu-area{flex-direction:column;align-items:center;justify-content:center;margin-left:0;}
#footer .menu-area .menu-col{max-width:none;margin:0 0 25px;text-align:center;}
}

@media screen and (max-width:767px){
.section-back-text{max-width:100%;overflow:hidden;top:10%;z-index:-1;}
.section-back-text span{font-size:80px;padding-right:40px;opacity:.4;}
main{padding-top:0;margin-bottom:0;}
.wrapper{width:100%;padding:0;}
#header{height:60px;}
#header .logo{max-width:180px;}
#header .navi{width:80%;height:100vh;background:#1f1f1f;position:fixed;top:0;left:-120%;z-index:20;transition:all .6s;}
#header .navi.active{left:0;}
#header .navi .menu{width:100%;height:100vh;flex-direction:column;padding:60px 0;overflow:auto;}
#header .navi .menu>li{width:100%;border-top:1px solid #fff;margin-left:0;}
#header .navi .menu>li a{width:100%;display:block;padding:20px;}
#header .navi .menu .menu-first span{display:block;padding:20px;position:relative;}
#header .navi .menu .menu-first span::before{content:"";width:15px;height:1px;background:#fff;position:absolute;top:32px;right:20px;transform:translateY(-50%);}
#header .navi .menu .menu-first span::after{content:"";width:1px;height:15px;background:#fff;position:absolute;top:50%;right:27px;transform:translateY(-50%);}
#header .navi .menu .menu-first span.active::after{content:none;}
#header .navi .menu .menu-first .menu-second{width:100%;position:static;padding:0 0 0 40px;display:none;}
#header .navi .menu .menu-first .menu-second li{border-top:1px solid #eee;margin-bottom:0;}
#header .navi .menu .menu-contact{padding:30px 0;}
#header .navi .menu .menu-contact a{max-width:200px;margin:0 auto;}
#header .hamburger{width:50px;height:50px;cursor:pointer;position:fixed;top:5px;right:10px;z-index:30;}
#header .hamburger span{width:30px;height:1px;background:#fff;display:inline-block;position:absolute;left:10px;transition:all .4s;}
#header .hamburger span:nth-of-type(1){top:16px;}
#header .hamburger span:nth-of-type(2){top:25px;}
#header .hamburger span:nth-of-type(3){top:34px;}
#header .hamburger.active span:nth-of-type(1){top:24px;transform:rotate(-45deg);}
#header .hamburger.active span:nth-of-type(2){opacity:0;}
#header .hamburger.active span:nth-of-type(3){top:24px;transform:rotate(45deg);}
#header .mask.active{width:100%;height:100%;background:#000;display:block;opacity:.8;position:fixed;top:0;left:0;}
.btn{max-width:180px;font-size:14px;padding:8px 30px;}
}

.page-header{margin-bottom:10px;position:relative;}
.page-header .img{height:100%;}
.page-header .img img{width:100%;height:320px;object-fit:cover;}
.page-header .page-title-area{width:100%;max-width:400px;height:100%;display:flex;align-items:center;background:rgba(51,51,51,.9);color:#fff;padding:0 4%;position:absolute;left:0;top:0;}
.page-header .page-title-area .page-title .ja{display:block;font-size:14px;font-weight:400;}
.page-header .page-title-area{align-items:flex-end;padding-bottom:20px;}
.page-header .page-title-area .page-title .en{display:block;font-size:46px;font-weight:500;letter-spacing:.05em;}
main{margin-top:0;}
.breadcrumb{font-size:14px;margin-left:50px;}
.breadcrumb .current{color:#0066cc;font-weight:bold;}
.breadcrumb a{color:#555;text-decoration:none;}
.breadcrumb span{margin:0 6px;}

@media screen and (max-width:767px){
.breadcrumb{margin-left:20px;margin-bottom:10px;font-size: 10px;margin-top: 10px;}
.page-header{margin-bottom:20px;}
.page-header .img img{height:200px;}
.page-header .page-title-area{height:200px;top: auto;bottom: 0;}
.page-header .page-title-area .page-title .ja{font-size:12px;}
.page-header .page-title-area .page-title .en{font-size:24px;}}