html.on{overflow:hidden;}
body{background:#F8F9FA;padding:0;margin:0;}
html,body {
  scroll-behavior: smooth;
}
.realContent {display:none;}
:root {
  --font-black: 900;
  --font-ebold: 800;
  --font-bold: 700;
  --font-sbold: 600;
  --font-medium: 500;
  --font-regular: 400;
  --font-light: 300;

  --font-basic: 1.6vw;
  --font-name: 4vw;
  --font-hp: 3.4vw;
  --font-position: 3vw;
  --font-company: 3vw;

  --cont-gap: 3.5vw;
  --radius: 3vw;
}

.visualWrapper{width:100%;}
.visualWrapper .contents{width:100%;}
.visualWrapper .swiper-slide{width:100%;height:60vw;}
.visualWrapper .swiper-slide img{width:100%;height:100%;object-fit: cover;filter: brightness(0.8);}
.visualWrapper .swiper-slide .roll_pic{position:absolute;width:100%;height:100%;left:0;top:0;filter:brightness(.4)}
.visualWrapper .swiper-slide .roll_pic{position:absolute;width:100%;height:100%;left:0;top:0;}

.visualWrapper .swiper-slide .main_txt_box{display:flex;flex-direction: column;align-items: center;justify-content: center;width:100%;height:100%;padding:0 10vw;box-sizing: border-box;gap:3vw 0;}
.visualWrapper .swiper-slide .main_txt_box .title{color:#FFFFFF;font-size:6vw;z-index:1;font-weight:var(--font-bold);}
.visualWrapper .swiper-slide .main_txt_box .exp{font-size:3.5vw;color:#FFFFFF;z-index:1;text-align:center;line-height:1.4;font-weight:var(--font-light);}

section.visualWrapper .swiper-slide img{width:100%;height:100%;object-fit: cover;}

.bodyContent {padding:0 2vw;box-sizing: border-box;}
.bodyContent .intro-section {text-align:center;padding:5vw 0;line-height:1.6;font-size:5vw;background:#FFFFFF;border-radius:2vw;margin:30vw 0;box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);}
.bodyContent .intro-section:has(.who-info .photo.hide) {margin:2vw 0;}
.bodyContent .intro-section .who-info{position:relative;display:flex;flex-direction: column;align-items: center;padding:15vw 0 10vw 0;}
.bodyContent .intro-section .who-info:has(.photo.hide){padding:5vw 0 10vw 0;}
.bodyContent .intro-section .who-info::before{position:absolute;content:'';bottom:5vw;width:80%;height:1px;background: #DEDEDE;}

.bodyContent .intro-section .who-info .photo{position:absolute;border-radius:50%;width:40vw;height:40vw;border:1vw solid #DEDEDE;box-sizing:border-box;padding:1vw;top:-25vw;}
.bodyContent .intro-section .who-info .photo img{width:100%;height:100%;border-radius:50%;}
.bodyContent .intro-section .who-info .name{padding:2vw;font-size:5vw;font-weight:var(--font-bold);}
.bodyContent .intro-section .who-info .company{font-size:4.5vw;font-weight:var(--font-medium);color:#666666}

.bodyContent .intro-section .contact-info{position:relative;display:flex;flex-direction: column;align-items: start;padding:0 10vw 10vw 10vw;box-sizing: border-box;}
.bodyContent .intro-section .contact-info::before{position:absolute;content:'';bottom:5vw;width:80%;height:1px;background: #DEDEDE;}
.bodyContent .intro-section .contact-info .ttl{font-size:5vw;margin:0 0 3vw 0;font-weight:var(--font-bold);}
.bodyContent .intro-section .contact-info .tel {display:flex;align-items: center;color:#666;font-size:4.5vw;gap:0 4vw;}
.bodyContent .intro-section .contact-info .tel span{display:block;font-size:4.5vw;}
.bodyContent .intro-section .contact-info .fax {display:flex;align-items: center;color:#666;font-size:4.5vw;gap:0 4vw;}
.bodyContent .intro-section .contact-info .fax span{display:block;font-size:4.5vw;}
.bodyContent .intro-section .contact-info .email {display:flex;align-items: center;color:#666;font-size:4.5vw;gap:0 4vw;}
.bodyContent .intro-section .contact-info .email span{display:block;font-size:4.5vw;}

.bodyContent .intro-section .intro{padding:5vw 0;font-size:4vw;}
.bodyContent .galllery-list-wrapper {display:flex;}
.bodyContent .galllery-list-wrapper .gallery-list{display:flex;flex-wrap:wrap;gap:2vw 2vw;}
.bodyContent .galllery-list-wrapper .gallery-list .gallery{width:48%;border-radius:2vw;overflow:hidden;}
.bodyContent .galllery-list-wrapper .gallery-list .gallery img{width:100%;height:100%;object-fit: cover;}


section.movieWrapper {width:100%;}
section.movieWrapper .inner{width:100%;padding:10vw 4vw;box-sizing: border-box;display:flex;flex-direction: column;align-items: center;gap:3vw 0;}
section.movieWrapper .inner .title{font-size:6vw;font-weight:var(--font-bold);}
section.movieWrapper .inner .exp{font-size:4vw;text-align:center;line-height:1.4;}
section.movieWrapper .inner .movie_wrap{width:100%;height:52vw;}
section.movieWrapper .inner .movie_wrap iframe{width:100%;height:100%;}

section.galleryWrapper{width:100%;}
section.galleryWrapper .inner{width:100%;padding:10vw 4vw;box-sizing: border-box;display:flex;flex-direction: column;align-items: center;}
section.galleryWrapper .inner .title{font-size:6vw;font-weight:var(--font-bold);}
section.galleryWrapper .inner .exp{font-size:4vw;text-align:center;line-height:1.4;margin:1vw 0 5vw 0;}
section.galleryWrapper .inner .grid-container{display: grid;grid-template-columns: repeat(2, 1fr);gap: 12px;}
section.galleryWrapper .inner .grid-container .picture {background-color: #eee;border-radius: 2vw;aspect-ratio: 3 / 3;overflow: hidden;box-shadow: 0 4px 6px rgba(0,0,0,0.05);}
section.galleryWrapper .inner .grid-container .picture img { width: 100%; height: 100%; object-fit: cover; }

section.infoWrapper{width:100%;}
section.infoWrapper .inner{width:100%;padding:10vw 4vw;box-sizing: border-box;display:flex;flex-direction: column;align-items: center;}
section.infoWrapper .inner .title{font-size:6vw;font-weight:var(--font-bold);}
section.infoWrapper .inner .exp{font-size:4vw;text-align:center;line-height:1.4;margin:2vw 0;}
section.infoWrapper .inner .info-box{width:100%;box-shadow: 0 4px 6px rgba(0,0,0,0.05);background:#FFFFFF;padding:5vw 5vw;gap:5vw 0;display:flex;flex-direction: column;align-items: start;border-radius:2vw;}
section.infoWrapper .inner .info-box .title{font-size:5vw;font-weight:var(--font-bold)}
section.infoWrapper .inner .info-box .exp{font-size:4vw;font-weight:var(--font-light);line-height:1.6;text-align:left;}

section.locationWrapper{width:100%;}
section.locationWrapper .inner{width:100%;padding:10vw 4vw;box-sizing: border-box;display:flex;flex-direction: column;align-items: center;gap:6vw 0;}
section.locationWrapper .inner .title{font-size:6vw;font-weight:var(--font-bold);}
section.locationWrapper .inner .exp{font-size:4vw;text-align:center;line-height:1.4;}
section.locationWrapper .inner .map_wrapper{width:100%;height:70vw;border:1px solid #DEDEDE;border-radius:2vw;overflow:hidden;}
section.locationWrapper .inner .map_wrapper .map{width:100%;height:100%;}
section.locationWrapper .inner .address{width:100%;display:flex;font-size:4vw;flex-direction:column;gap:2vw 0;align-items: start}
section.locationWrapper .inner .address span{font-weight:var(--font-bold)}
section.locationWrapper .inner .address .addr{width:100%;display:flex;justify-content: space-between;align-items: center;}
section.locationWrapper .inner .address .tel{display:flex;gap:0 2vw;}
section.locationWrapper .inner .address .addr .road{display:flex;gap:0 2vw;}
section.locationWrapper .inner .address .addr .road .txt{white-space: nowrap;}
section.locationWrapper .inner .address .addr .road .post{padding:0 2vw 0 0;}
section.locationWrapper .inner .address .addr .btn_find{background:#ff5500;color:#FFFFFF;font-size:3.5vw;padding:1vw 4vw;border-radius:2vw;}
section.locationWrapper .inner .address .addr .btn_find a{display:flex;color:#FFFFFF;justify-content: center;align-items: center;width:100%;height:100%;}

section.outerWrapper {}
section.outerWrapper .inner{width:100%;padding:10vw 4vw;box-sizing: border-box;display:flex;flex-direction: column;align-items: center;gap:6vw 0;}
section.outerWrapper .inner .outer-box{position:relative;width:100%;height:50vw;display:flex;flex-direction: column;padding:10vw 4vw 0 4vw;align-items: start;justify-content: start;color:#FFFFFF;gap:4vw 0;}
section.outerWrapper .inner .outer-box .title{font-size:5vw;font-weight:var(--font-bold);z-index:2;}
section.outerWrapper .inner .outer-box .exp{font-size:3.5vw;line-height:1.4;z-index:2;}
section.outerWrapper .inner .outer-box .pic{position:absolute;width:100%;height:100%;left:0;top:0;}
section.outerWrapper .inner .outer-box .pic img{width:100%;height:100%;background-size:cover;z-index:1;filter:blur(2.5px) brightness(.4)}
section.outerWrapper .inner .outer-box .btn_more{position:absolute;bottom:5vw;left:4vw;font-size:3vw;z-index:2;}
section.outerWrapper .inner .outer-box .btn_more a{color:#FFFFFF;}

section.counselWrapper{width:100%;}
section.counselWrapper .inner{width:100%;padding:10vw 4vw;box-sizing: border-box;display:flex;flex-direction: column;align-items: center;gap:4vw 0;}
section.counselWrapper .inner .title{font-size:6vw;font-weight:var(--font-bold);}
section.counselWrapper .inner .exp{font-size:4vw;text-align:center;line-height:1.4;}
section.counselWrapper .inner .form-wrapper{display:flex;flex-direction:column;width:96%;margin:0 auto 2% auto;background:#FFFFFF;box-shadow: #cdcdcd 2px 2px 4px;border-radius:2vw;padding:10vw 5vw;box-sizing: border-box;gap:5vw 0;}
section.counselWrapper .inner .form-wrapper .item{display:flex;flex-direction:column;gap:2vw 0;}
section.counselWrapper .inner .form-wrapper .item .txt{font-size:4vw;font-weight:var(--font-medium)}
section.counselWrapper .inner .form-wrapper .item .ipt{flex:1}
section.counselWrapper .inner .form-wrapper .item .ipt input{width:100%;border:1px solid #DEDEDE;border-radius:2vw;height:12vw;font-size:5vw;padding:0 4vw;box-sizing: border-box;}
section.counselWrapper .inner .form-wrapper .item .ipt input:focus{outline:none;}
section.counselWrapper .inner .form-wrapper .item .ipt textarea{width:100%;border:1px solid #DEDEDE;border-radius:2vw;height:20vw;font-size:5vw;padding:4vw 4vw;box-sizing: border-box;}
section.counselWrapper .inner .form-wrapper .item .ipt textarea:focus{outline:none;}
section.counselWrapper .inner .form-wrapper .btn_submit{width:100%;background:#000;border-radius:2vw;height:15vw;font-size:5vw;}
section.counselWrapper .inner .form-wrapper .btn_submit a{display:flex;justify-content: center;align-items: center;width:100%;height:100%;color:#FFFFFF;}


section.footerContent{width:100%;padding-bottom:30vw;background: #FEFEFE;}
section.footerContent .footer-menu{position:fixed;left:0;bottom:0;width:100%;display:flex;background-color:rgba(255,255,255,1);padding:3vw 0;box-sizing:border-box;border-top-left-radius:2vw;border-top-right-radius:2vw;border-top:2px solid #DEDEDE;box-shadow: #DEDEDE 0 -.5vw 2vw;z-index:9}
section.footerContent .footer-menu > div{position:relative;flex:1;display:flex;justify-content: center;color:#000;font-size:4vw;flex-direction: column;align-items: center;}
section.footerContent .footer-menu > div.tel::after{position:absolute;content:'';right:0;top:5%;width:1px;height:90%;background:#DEDEDE;}
section.footerContent .footer-menu > div.tel::before{position:relative;content:'phone';font-family:'material symbols outlined';font-size:6vw;}

section.footerContent .footer-menu > div.counsel::before{position:relative;content:'contact_support';font-family:'material symbols outlined';font-size:6vw;}

section.footerContent .inner{width:100%;padding:10vw 4vw;box-sizing: border-box;font-size:4vw;}
section.footerContent .inner .company-info-wrapper{display:flex;flex-direction: column;}
section.footerContent .inner .company-info-wrapper .company{width:100%;display:flex;justify-content: space-between;}
section.footerContent .inner .company-info-wrapper .company .name{font-size:5vw;font-weight:var(--font-bold);}
section.footerContent .inner .company-info-wrapper .company-info{display:flex;flex-direction: column;margin:3vw 0 0 0;gap:2vw 0;}
section.footerContent .inner .company-info-wrapper .company-info .item{display:flex;flex-direction: column;gap:2vw 0;}
section.footerContent .inner .company-info-wrapper .company-info .item.row{display:flex;flex-direction: row;gap:0 2vw;}
section.footerContent .inner .company-info-wrapper .company-info .item.row span:after{content:'|';margin-left:2vw;color:#CDCDCD;}
section.footerContent .inner .company-info-wrapper .company-info .item.row span:last-child::after{content:'';margin-left:0;}
section.footerContent .inner .company-info-wrapper .contact{display: flex;flex-direction: column;gap:2vw 0;}
section.footerContent .inner .company-info-wrapper .contact .ttl{font-size:5vw;font-weight:var(--font-bold);margin:0 0 2vw 0;}
section.footerContent .inner .company-info-wrapper .contact .tel{display:flex;align-items: start;gap:0 2vw;}
section.footerContent .inner .company-info-wrapper .contact .tel::before{content:'call';font-family:'material symbols outlined';font-weight:var(--font-bold)}
section.footerContent .inner .company-info-wrapper .contact .mail{display:flex;align-items: start;gap:0 2vw;}
section.footerContent .inner .company-info-wrapper .contact .mail::before{content:'mail';font-family:'material symbols outlined';font-weight:var(--font-bold)}
section.footerContent .inner .company-info-wrapper .contact .time{display:flex;align-items: start;gap:0 2vw;}
section.footerContent .inner .company-info-wrapper .contact .time::before{content:'calendar_today';font-family:'material symbols outlined';font-weight:var(--font-bold)}
section.footerContent .inner .company-info-wrapper .contact .fax{display:flex;align-items: start;gap:0 2vw;}
section.footerContent .inner .company-info-wrapper .contact .fax::before{content:'fax';font-family:'material symbols outlined';font-weight:var(--font-bold)}


.profile_type01 {position:relative;width:100vw;}
.profile_type01 .main_txt_box{position:absolute;left:0;top:0;z-index:2;color:#FFFFFF;width:100%;height:100%;display: flex;flex-direction: column;gap:5vw 0;align-items: center;justify-content: center;}
.profile_type01 .main_txt_box .title{font-size:5vw;text-align:center;font-weight:var(--font-bold);}
.profile_type01 .main_txt_box .exp{font-size:3.5vw;text-align:center;line-height:1.4;}
.profile_type01 .pic{position:relative;left:0;top:0;width:100%;filter:brightness(40%);}
.profile_type01 .pic img{width:100%;}

.profile_type02 {position:relative;width:100vw;}
.profile_type02 .main_txt_box{position:relative;color:#000000;width:100%;height:100%;display: flex;flex-direction: column;gap:5vw 0;align-items: center;justify-content: center;padding:10vw 10vw;}
.profile_type02 .main_txt_box .title{font-size:5vw;text-align:center;font-weight:var(--font-bold);}
.profile_type02 .main_txt_box .exp{font-size:3.5vw;text-align:center;line-height:1.4;}
.profile_type02 .pic{position:relative;width:100%;}
.profile_type02 .pic img{width:100%;}
.mt20 {margin-top:20vw;}
