@charset "utf-8";

:root{--mainBlue:#00539b; --darkBlue:#003f7d; --lightBlue:#dff3ff; --pink:#ff9ec8;}
html{scroll-behavior:smooth;}
body{overflow-x:hidden; background:#fff; color:var(--mainBlue); font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif; word-break:normal;}
body.isMenuOpen{overflow:hidden;}
body.isModalOpen{overflow:hidden;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; height:auto;}
button{padding:0; border:0; background:none;}
.hsRecruit{position:relative; overflow:hidden; width:100%;}
.innerContents{position:relative; width:min(calc(100% - 80px),1200px); margin:0 auto;}

/* header
---------------------------------------------------- */
.siteHeader{position:absolute; z-index:100; top:0; left:0; width:100%; transition:background-color .3s ease,box-shadow .3s ease;}
.siteHeader.isFixed{position:fixed; background:rgba(255,255,255,1); box-shadow:0 4px 18px rgba(0,63,125,.12); animation:headerSlideDown .35s ease forwards;}
@keyframes headerSlideDown{from{transform:translateY(-100%);}to{transform:translateY(0);}}
.siteHeaderInner{display:flex; align-items:center; justify-content:space-between; width:min(calc(100% - 64px),1440px); height:82px; margin:0 auto;}
.siteLogo{flex-shrink:0; width:min(13.3vw,200px);}
.siteLogo a{display:block;}
.siteLogo img{display:block; width:100%;}
.globalNav{display:block;}
.globalNavList{display:flex; align-items:center; justify-content:flex-end;}
.globalNavItem{display:flex; align-items:center; white-space:nowrap;}
.globalNavItem + .globalNavItem::before{content:""; display:block; width:1px; height:14px; margin:0 11px; background:var(--mainBlue);}
.globalNavItem a{position:relative; display:block; padding:8px 0; font-size:13px; line-height:1.4; letter-spacing:.02em; font-weight:500;}
.globalNavItem a::after{content:""; position:absolute; right:0; bottom:2px; left:0; height:1px; background:var(--mainBlue); transform:scaleX(0); transform-origin:center center; transition:transform .3s ease;}
.globalNavItem a:hover::after{transform:scaleX(1);}
.headerMenuBtn{display:none;}

/* main visual
---------------------------------------------------- */
.firstView{position:relative; background:url("../img/mainBack.png") 35% 35% / min(100%,1600px) auto no-repeat;}
.mainVisual{position:relative;}
.mainVisualInner{position:relative; width:min(100%,1500px); aspect-ratio:1500 / 800; margin:0 auto;}
.mainVisualPeople{position:absolute; z-index:2; inset:0; pointer-events:none;}
.mainVisualPerson{position:absolute; display:block; height:auto;}
.mainVisualPerson01{top:11.5%; left:5.2%; width:21.6%;}
.mainVisualPerson02{top:7.2%; right:9.2%; width:21.7%;}
.mainVisualPerson03{top:52%; left:2.5%; width:15.9%;}
.mainVisualPerson04{top:68%; left:18.2%; width:20.3%;}
.mainVisualPerson05{top:70%; left:58.8%; width:15.8%;}
.mainVisualPerson06{top:50.5%; right:2.5%; width:22.3%;}
.mainVisualCopy{position:absolute; z-index:4; top:21%; left:50%; width:43.4%; transform:translateX(-50%);}
.mainVisualCopy img{display:block; width:100%;}
.mainVisualDecor{position:absolute; z-index:3; inset:0; pointer-events:none;}
.mainVisualDecorItem{position:absolute; display:block; width:auto; height:auto;}
.mainVisualHeart01{top:20%; left:4.4%; width:1.45%; transform:rotate(-15deg);}
.mainVisualHeart02{top:43%; left:11.2%; width:1.45%; transform:rotate(10deg);}
.mainVisualHeart03{top:79%; left:17%; width:1.55%; transform:rotate(-8deg);}
.mainVisualHeart04{top:47%; right:10.5%; width:1.45%; transform:rotate(12deg);}
.mainVisualShine01{top:19%; left:32.2%; width:3.5%;}
.mainVisualShine02{top:22%; right:7.2%; width:2.2%; transform:scale(.8);}
.mainVisualShine03{top:76%; right:7.8%; width:2.3%; transform:scale(.75);}
.mainVisualStar01{top:35%; left:44%; width:2.7%; transform:rotate(-8deg);}
.mainVisualStar02{top:62%; right:22%; width:2.3%; transform:rotate(11deg) scale(.8);}
.mainVisualStar03{bottom:-20%; left:55%; width:3.8%; transform:rotate(-12deg) scale(.65);}

/* message
---------------------------------------------------- */
.messageSec{position:relative; margin-top:min(6vw,90px); padding:0 0 105px;}
.messageInner{position:relative; width:min(100%,1500px); margin:0 auto;}
.messageBox{position:relative; width:min(78.8vw,1182px); aspect-ratio:1182 / 403; margin:0 auto;}
.messageBoxBack{position:absolute; z-index:1; inset:0; display:block; width:100%; height:100%; object-fit:fill;}
.messageBoxTape{position:absolute; z-index:4; top:-1%; left:10.3%; display:block; width:13.8%;}
.messageBoxAther{position:absolute; z-index:3; top:-4%; right:-3.5%; display:block; width:40%; pointer-events:none;}
.messageBoxLabel{position:absolute; z-index:5; top:12%; right:7.5%; font-family:"Caveat",cursive; font-size:clamp(18px,1.6vw,24px); line-height:1; letter-spacing:.08em; color:var(--mainBlue); transform:rotate(-6deg);}
.messageBoxContent{position:absolute; z-index:5; top:17%; left:9%; width:82%; transform:rotate(-1.25deg); transform-origin:center;}
.messageBoxTitle{width:55%; margin:0 0 20px;}
.messageBoxTitle img{display:block; width:100%; height:auto;}
.messageBoxText{font-family:"Zen Kurenaido",sans-serif; font-size:clamp(14px,1.2vw,18px); line-height:2.1; letter-spacing:.06em; font-weight:600; color:var(--mainBlue);}

/* section title
---------------------------------------------------- */
.sectionTitle{position:relative; display:grid; grid-template-columns:min(14.67vw,220px) 1fr min(14.67vw,220px); align-items:center; width:min(100%,1100px); margin:0 auto;}
.sectionTitleSide{display:block; width:100%; height:auto;}
.sectionTitleSideLeft{grid-column:1;}
.sectionTitleSideRight{grid-column:3; transform:scaleX(-1);}
.sectionTitleMain{position:relative; grid-column:2; grid-row:1; justify-self:center;}
.sectionTitleBack{position:absolute; z-index:1; top:50%; left:50%; width:130%; max-width:none; transform:translate(-50%,-50%); pointer-events:none;}
.sectionTitleText{position:relative; z-index:2; font-family:"Zen Kurenaido",sans-serif; font-size:min(2.4vw,36px); line-height:1.4; letter-spacing:.2em; font-weight:600; white-space:nowrap;}
.sectionTitleEn{position:absolute; z-index:3; top:25%; right:17%; font-family:"Caveat",cursive; font-size:min(1.6vw,24px); line-height:1; letter-spacing:.04em; color:#efb1c3; white-space:nowrap; transform:translateY(-50%) rotate(-5deg);}

/* ideal candidate
---------------------------------------------------- */
.idealCandidate{position:relative; padding:min(6vw,90px) 0 min(8vw,120px);}
.idealCandidateLead{margin:min(2.67vw,40px) auto 0; line-height:2; text-align:center; color:var(--mainBlue);}
.idealCandidateList{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:min(3vw,45px); margin:min(3.67vw,55px) auto 0;}
.idealCandidateItem{position:relative; aspect-ratio:370.88 / 369.88;}
.idealCandidateItemBack{position:absolute; z-index:1; inset:0; display:block; width:100%; height:100%;}
.idealCandidateItemTape{position:absolute; z-index:3; top:-10%; left:40%; display:block; width:20%; height:auto;}
.idealCandidateItemIcon{position:absolute; z-index:3; top:9%; right:9%; display:block; width:18%; height:auto;}
.idealCandidateItemContent{position:relative; z-index:2; height:100%; padding:14% 13% 10%;}
.idealCandidateItemTitle{padding-right:22%; font-family:"Zen Kurenaido",sans-serif; font-size:min(2vw,30px); line-height:1.4; letter-spacing:.12em; font-weight:600; color:var(--mainBlue);}
.idealCandidatePointList{margin:min(1.33vw,20px) 0 0;}
.idealCandidatePointList li{position:relative; padding-left:1em; font-size:min(1.067vw,1.6rem); line-height:1.4; color:var(--mainBlue);}
.idealCandidatePointList li::before{content:"・"; position:absolute; top:0; left:0;}
.idealCandidateExample{margin:min(1.33vw,20px) 0 0;}
.idealCandidateExampleLabel,
.idealCandidateExampleText{font-size:min(1vw,1.5rem); line-height:1.7; color:#7d8ca0;}


/* works
---------------------------------------------------- */
.worksSec{position:relative; padding:min(7.33vw,110px) 0 min(9.33vw,140px);}
.worksList{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:min(4vw,60px) auto 0;}
.worksItem{display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); align-items:start; gap:min(2vw,30px); min-width:0; padding:min(2.67vw,40px) min(2.33vw,35px); border-bottom:1px solid #d6eaf5;}
.worksItem:nth-child(even){padding-right:min(3.33vw,50px); border-left:1px solid #d6eaf5;}
.worksItem:nth-child(odd){padding-left:min(3.33vw,50px);}
.worksItem:nth-last-child(-n+2){border-bottom:0;}
.worksItemReverse{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);}
.worksItemReverse .worksPhoto{order:2;}
.worksItemReverse .worksContent{order:1;}
.worksPhoto{position:relative; align-self:start; width:88%; padding:0 0 min(2vw,30px);}
.worksItem:nth-child(odd) .worksPhoto{justify-self:end;}
.worksItem:nth-child(even) .worksPhoto{justify-self:start;}
.worksPhotoBack{position:absolute; z-index:0; left:-25%; bottom:-20%; width:120%; max-width:none; height:auto;}
.worksItemReverse .worksPhotoBack{right:-25%; left:auto; transform:scaleX(-1);}
.worksPhotoMain{position:relative; z-index:1; display:block; width:100%; aspect-ratio:280 / 210; object-fit:cover;}
.worksPhotoIcon{position:absolute; z-index:2; right:-5%; bottom:-15%; display:block; width:min(5.33vw,80px); max-height:min(6.67vw,100px);}
.worksItemReverse .worksPhotoIcon{right:auto; left:-5%;}
.worksContent{position:relative; display:grid; grid-template-rows:auto 1fr auto; align-self:stretch; min-width:0; height:100%;}
.worksItemTitle{display:flex; align-items:center; gap:min(.67vw,10px); font-family:"Zen Kurenaido",sans-serif; font-size:min(1.67vw,25px); line-height:1.4; font-weight:600; color:var(--mainBlue);}
.worksItemTitle img{display:block; flex:none; width:min(1.2vw,18px); height:auto;}
.worksItemText{margin:1em 0 0; line-height:1.6; color:var(--mainBlue);}
.worksMore{position:relative; display:flex; align-items:center; justify-content:center; width:100%; height:min(3.2vw,48px); margin:min(1.67vw,25px) 0 0; border:1px solid var(--mainBlue); border-radius:999px; overflow:hidden; background:#fff; color:var(--mainBlue); transition:color .3s ease,background-color .3s ease;}
.worksMoreText{font-family:"Noto Sans",sans-serif; font-size:min(.87vw,13px); line-height:1; letter-spacing:.12em;}
.worksMoreArrow{position:absolute; top:50%; right:min(.67vw,10px); display:flex; align-items:center; justify-content:center; width:min(1.6vw,24px); aspect-ratio:1; border-radius:50%; background:var(--mainBlue); color:#fff; font-size:0; line-height:0; transform:translateY(-50%); transition:background-color .3s ease,color .3s ease;}
.worksMoreArrow::before{content:""; display:block; width:6px; height:6px; border-top:1px solid currentColor; border-right:1px solid currentColor; transform:translateX(-1px) rotate(45deg);}
.worksMore:hover{background:var(--mainBlue); color:#fff;}
.worksMore:hover .worksMoreArrow{background:#fff; color:var(--mainBlue);}

/* works modal
---------------------------------------------------- */
.worksModal{position:fixed; z-index:1000; inset:0; opacity:0; visibility:hidden; transition:opacity .3s ease,visibility .3s ease;}
.worksModal.isOpen{opacity:1; visibility:visible;}
.worksModalOverlay{display:flex; align-items:center; justify-content:center; width:100%; height:100%; padding:30px; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; background:rgba(0,45,88,.72);}
.worksModalDialog{position:relative; width:min(calc(100% - 60px),1180px); max-height:calc(100dvh - 60px); overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; background:#fff; box-shadow:0 15px 50px rgba(0,45,88,.25);}
.worksModalDialog:focus{outline:none;}
.worksModalClose{position:absolute; z-index:10; top:16px; right:16px; width:40px; height:40px; border-radius:50%; background:var(--mainBlue); transition:opacity .3s ease;}
.worksModalClose:hover{opacity:.7;}
.worksModalClose span{position:absolute; top:50%; left:50%; display:block; width:18px; height:1px; background:#fff;}
.worksModalClose span:first-child{transform:translate(-50%,-50%) rotate(45deg);}
.worksModalClose span:last-child{transform:translate(-50%,-50%) rotate(-45deg);}
.worksModalInner{position:relative; padding:min(3.67vw,55px) min(4vw,60px) min(3.33vw,50px);}
.worksModalTop{position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:min(3.33vw,50px);}
.worksModalGallery{position:relative; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:min(1.07vw,16px); min-width:0;}
.worksModalPhoto{display:block; width:100%; aspect-ratio:1; object-fit:cover;}
.worksModalDetail{min-width:0; padding:min(.27vw,4px) 0 0;}
.worksModalTitle{display:flex; align-items:flex-start; gap:min(.8vw,12px); font-family:"Zen Kurenaido",sans-serif; font-size:min(2.13vw,32px); line-height:1.4; letter-spacing:.08em; font-weight:600; color:var(--mainBlue);}
.worksModalTitleIcon{display:block; flex:none; width:min(1.87vw,28px); height:auto;  margin:min(.67vw,10px) 0 0;}
.worksModalText{margin:min(2.13vw,32px) 0 0; font-size:min(1.2vw,18px); line-height:1.6; letter-spacing:.04em; color:var(--mainBlue);}
.worksModalShift{display:grid; grid-template-columns:minmax(90px,110px) minmax(0,1fr); gap:min(.8vw,12px); margin:min(2.4vw,36px) 0 0;}
.worksModalShift dt{display:flex; align-items:center; justify-content:center; height:min(2.8vw,42px); border:1px solid #888; border-radius:8px; background:#fff; font-size:min(1.07vw,16px); line-height:1; letter-spacing:.04em; color:#666;}
.worksModalShift dd{display:flex; align-items:center; justify-content:center; min-width:0; height:min(2.8vw,42px); padding:0 16px; border-radius:8px; background:#aaa6cc; font-size:min(1.07vw,16px); line-height:1; letter-spacing:.04em; color:#fff; text-align:center;}
.worksModalBottom{position:relative; z-index:2; display:grid; grid-template-columns:minmax(160px,190px) minmax(0,1fr); align-items:start; gap:min(3.67vw,55px); margin:min(3.67vw,55px) 0 0;}
.worksModalProfile{position:relative; text-align: center;}
.worksModalProfilePhoto{width:min(8.67vw,130px); aspect-ratio:1; border-radius:50%; overflow:hidden; margin: 0 auto;}
.worksModalProfilePhoto img{display:block; width:100%; height:100%; object-fit:cover; object-position:center;}
.worksModalStaffName{margin:0.2em 0 0; font-family:"Zen Kurenaido",sans-serif; font-size:min(1.73vw,26px); line-height:1.4; letter-spacing:.08em; font-weight:600; color:var(--mainBlue);}
.worksModalStaffMeta{margin:0.1em 0 0; font-size:min(1.2vw,18px); line-height:1.5; letter-spacing:.04em; color:#777;}
.worksModalMessage{position:relative; min-width:0; padding:min(1.33vw,20px) min(2.67vw,40px) 0 0;}
.worksModalMessageTitle{width:min(16.67vw,250px);}
.worksModalMessageTitle img{display:block; width:100%; height:auto;}
.worksModalMessageText{margin:min(2vw,30px) 0 0; font-size:min(1.2vw,18px); line-height:1.9; letter-spacing:.04em; color:var(--mainBlue);}
.worksModalIllust{position:absolute; z-index:1; display:block; height:auto; pointer-events:none;}
.worksModalIllust01{top:33%; left:1%; width:min(6.93vw,104px);}
.worksModalIllust02{top:63%; right:7%; width:min(8.33vw,125px);}
.worksModalIllust03{right:1%; bottom:1%; width:min(16.67vw,250px);}


/* future ace
---------------------------------------------------- */
.futureSec{position:relative; overflow:hidden; padding:min(7.33vw,110px) 0 min(7.33vw,110px); background:#eaf6ff;}
.futureSectionTitle{position:relative; z-index:3;}
.futureLead{position:relative; z-index:3; margin:min(2.67vw,40px) auto 0; line-height:2; text-align:center; color:var(--mainBlue);}
.futureBack{position:absolute; z-index:1; display:block; height:auto; pointer-events:none;}
.futureBack01{top:-8%; right:-3%; width:min(30.73vw,461px);}
.futureBack02{top:24%; left:-2%; width:min(18.47vw,277px);}
.futureIllust{position:absolute; z-index:2; display:block; height:auto; pointer-events:none;}
.futureIllust01{top:13%; left:31%; width:min(4.13vw,62px);}
.futureIllust02{top:16%; right:29%; width:min(4.53vw,68px);}
.futureSlider{position:relative; z-index:3; margin:min(3.33vw,50px) 0 0;}
.futureSliderStage{position:relative; width:100%; height:clamp(300px,31vw,465px);}
.futureSliderTrack{display:flex; align-items:center; gap:min(1vw,15px); width:max-content; height:100%; will-change:transform; transition:transform .55s cubic-bezier(.45,0,.2,1);}
.futureSlide{position:relative; flex:0 0 min(57.33vw,860px); width:min(57.33vw,860px); opacity:.25; transform:scale(.82); transform-origin:center center; transition:opacity .55s ease,transform .55s cubic-bezier(.45,0,.2,1); pointer-events:none;}
.futureSliderTrack.isNoTransition{transition:none;}
.futureSliderTrack.isNoTransition .futureSlide{transition:none;}
.futureSlide.isActive{z-index:3; opacity:1; transform:scale(1); pointer-events:auto;}
.futureSlide.isPrev{z-index:2; opacity:.25; transform:scale(.82); pointer-events:auto; cursor:pointer;}
.futureSlide.isNext{z-index:2; opacity:.25; transform:scale(.82); pointer-events:auto; cursor:pointer;}
.futureSlideCard{position:relative; width:100%; aspect-ratio:718 / 324; margin:0 auto;}
.futureSlidePhoto{position:absolute; z-index:1; top:0; left:0; display:block; width:100%; height:100%; object-fit:contain;}
.futureSlideVol{position:absolute; z-index:3; top:-6%; left:-3%; display:block; width:min(11.33vw,170px); height:auto;}
.futureSlideContent{position:absolute; z-index:2; top:45%; left:7%; width:38%; color:var(--mainBlue);}
.futureSlideTitle{font-family:"Zen Kurenaido",sans-serif; font-size:min(1.73vw,26px); line-height:1.55; letter-spacing:.08em; font-weight:600;}
.futureSlideMeta{margin:min(1.47vw,22px) 0 0; font-size:min(1vw,15px); line-height:1.6; letter-spacing:.04em; color: #7e7e7e;}
.futureSliderArrow{position:absolute; z-index:5; top:50%; display:flex; align-items:center; justify-content:center; width:min(3.7vw,56px); aspect-ratio:1; border-radius:50%; background:#fff; box-shadow:0 3px 15px rgba(0,63,125,.15); transform:translateY(-50%); transition:background-color .3s ease;}
.futureSliderArrow:hover{background:#7ed1ef;}
.futureSliderArrow span{display:block; width:9px; height:9px; border-top:2px solid #7ed1ef; border-right:2px solid #7ed1ef; transition:border-color .3s ease;}
.futureSliderArrow:hover span{border-color:#fff;}
.futureSliderPrev{left:calc(50% - min(32vw,480px));}
.futureSliderNext{right:calc(50% - min(32vw,480px));}
.futureSliderPrev span{margin-left:4px; transform:rotate(-135deg);}
.futureSliderNext span{margin-right:4px; transform:rotate(45deg);}
.futureSliderDots{display:flex; align-items:center; justify-content:center; gap:min(.93vw,14px); margin:min(1.67vw,25px) 0 0;}
.futureSliderDots button{width:min(.67vw,10px); aspect-ratio:1; border-radius:50%; background:#b9c5d0; transition:background-color .3s ease,transform .3s ease;}
.futureSliderDots button.isActive{background:var(--mainBlue); transform:scale(1.3);}
.futureMovieIcon{position:absolute; z-index:4; right:5%; bottom:5%; display:block; width:min(5.93vw,89px); height:auto; pointer-events:none;}
.futureSlideCard{display:block; color:inherit; text-decoration:none; cursor:pointer;}
.futureSlide.isActive .futureSlideCard:focus-visible{outline:3px solid #7ed1ef; outline-offset:6px;}
.futureMovieIcon{position:absolute; z-index:4; right:2%; bottom:2%; display:block; width:min(5.93vw,89px); height:auto; pointer-events:none;}
.futureMovieModal{position:fixed; z-index:1100; inset:0; opacity:0; visibility:hidden; transition:opacity .3s ease,visibility .3s ease;}
.futureMovieModal.isOpen{opacity:1; visibility:visible;}
.futureMovieModalOverlay{display:flex; align-items:center; justify-content:center; width:100%; height:100%; padding:40px; background:rgba(0,45,88,.82);}
.futureMovieModalDialog{position:relative; width:min(90vw,1100px); background:#000; box-shadow:0 20px 60px rgba(0,0,0,.35);}
.futureMovieModalDialog:focus{outline:none;}
.futureMovieModalFrame{position:relative; width:100%; aspect-ratio:16 / 9;}
.futureMovieModalFrame iframe{position:absolute; inset:0; display:block; width:100%; height:100%; border:0;}
.futureMovieModalClose{position:absolute; z-index:3; top:-52px; right:0; width:42px; height:42px; border-radius:50%; background:#fff; cursor:pointer;}
.futureMovieModalClose span{position:absolute; top:50%; left:50%; display:block; width:20px; height:2px; background:var(--mainBlue);}
.futureMovieModalClose span:first-child{transform:translate(-50%,-50%) rotate(45deg);}
.futureMovieModalClose span:last-child{transform:translate(-50%,-50%) rotate(-45deg);}
.futureSlideCard{display:block; color:inherit; text-decoration:none; cursor:pointer; transition:opacity .3s ease;}
.futureSlide.isActive .futureSlideCard:hover{opacity:.7;}

/* staff message
---------------------------------------------------- */
.staffMessageSec{position:relative; padding:min(7.33vw,110px) 0 min(8.67vw,130px); background:#fff;}
.staffMessageSectionTitle{position:relative; z-index:2;}
.staffMessageList{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:min(3.33vw,50px); margin:min(4.67vw,70px) auto 0;}
.staffMessageCard{position:relative; display:grid; grid-template-columns:minmax(150px,190px) minmax(0,1fr); align-items:center; gap:min(2.67vw,40px); min-height:min(20vw,300px); padding:min(2.67vw,40px) min(2.67vw,40px); overflow:hidden; border:1px solid var(--mainBlue); border-radius:10px; background:#fff;}
.staffMessageProfile{position:relative; z-index:2; min-width:0; text-align:center;}
.staffMessagePhoto{width:min(11.33vw,170px); aspect-ratio:1; margin:0 auto; overflow:hidden; border-radius:50%; background:#edf4f8;}
.staffMessagePhoto img{display:block; width:100%; height:100%; object-fit:cover; object-position:center;}
.staffMessagePosition{display:flex; align-items:center; justify-content:center; min-height:min(2.27vw,34px); margin:min(1.33vw,20px) auto 0; padding:4px 10px; background:var(--mainBlue); font-size:min(.87vw,13px); line-height:1.4; letter-spacing:-0.1em; color:#fff; width: 80%;}
.staffMessageName{margin:min(.67vw,10px) 0 0; font-size:min(1.47vw,22px); line-height:1.4; letter-spacing:.12em; font-weight:600; color:var(--mainBlue);}
.staffYears{font-size:min(1.2vw,18px); line-height:1.4; letter-spacing:0; color:var(--mainBlue);}


.staffMessageContent{position:relative; z-index:2; min-width:0;}
.staffMessageHeading{font-size:min(1.6vw,24px); line-height:1.6; font-weight:600; color:var(--mainBlue); letter-spacing: -0.05em;}
.staffMessageText{margin:min(1.6vw,24px) 0 0; line-height:1.4; color:var(--mainBlue);}
.staffMessageIllust{position:absolute; z-index:1; right:5%; bottom:5%; display:block; width:min(10vw,150px); height:auto; opacity:.75; pointer-events:none;}


/* work system
---------------------------------------------------- */
.workSystemSec{position:relative; overflow:hidden; padding:min(7.33vw,110px) 0 min(8.67vw,130px); background:#fff;}
.workSystemSectionTitle{position:relative; z-index:2;}
.workSystemLead{margin:min(2.67vw,40px) auto 0; font-size:min(1.2vw,18px); line-height:1.8; letter-spacing:.08em; text-align:center; color:var(--mainBlue);}
.workSystemLead span{margin:0 .15em; font-size:min(1.47vw,22px); line-height:1.5; letter-spacing:.05em; font-weight:500; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:5px; color:#e65473;}
.workSystemPoints{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:min(4vw,60px); width:min(100%,940px); margin:min(4vw,60px) auto 0;}
.workSystemPoint{position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:min(10.97vw,164.5px); padding:min(1.67vw,25px); background:url("../img/workBack.svg") center center/contain no-repeat; text-align:center;}
.workSystemPointMain{position:relative; z-index:2; font-size:min(1.6vw,24px); line-height:1.2; color:#e65473;}
.workSystemPointMain span{margin:0 .1em; font-size:1.5em;}
.workSystemPointSub{position:relative; z-index:2; margin:min(.67vw,10px) 0 0; font-size:min(1.07vw,16px); line-height:1.2; color:var(--mainBlue);}
.workSystemHolidayList{position:relative; z-index:2; font-size:min(1vw,15px); line-height:1.7; letter-spacing:.04em; color:var(--mainBlue);}
.workSystemPointEmphasis{position:relative; z-index:2; margin:min(.67vw,10px) 0 0; font-size:min(1.47vw,22px); line-height:1.5; letter-spacing:.05em; font-weight:500; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:5px; color:#e65473;}

/* 勤務時間表 */
.workSystemTableArea{margin:min(4.67vw,70px) auto 0;}
.workSystemTableScroll{overflow:visible;}
.workSystemTableLayout{--workHeadHeight:clamp(52px,4.27vw,64px); --workRowHeight:clamp(47px,3.87vw,58px); --workFrameOffset:4px; display:flex; align-items:flex-start; width:100%;}
.workSystemTableFrame{flex:1 1 auto; align-self:flex-start; width:auto; min-width:0; padding:2px; overflow:hidden; border:2px solid var(--mainBlue); border-radius:18px; background:#fff;}
.workSystemTable{display:table; width:100%; border-collapse:separate; border-spacing:0; table-layout:fixed; color:var(--mainBlue);}
.workSystemTable thead tr{height:var(--workHeadHeight);}
.workSystemTable tbody tr{height:var(--workRowHeight);}
.workSystemTable th,.workSystemTable td{height:inherit; padding:0 min(.67vw,10px); border-right:1px solid #fff; border-bottom:1px solid #fff; font-size:min(1.07vw,16px); line-height:1.5; letter-spacing:.04em; text-align:center; vertical-align:middle; white-space:nowrap; word-break:keep-all;}
.workSystemTable thead th{background:#09569a; font-size:min(1.2vw,18px); font-weight:500; color:#fff;}
.workSystemTable thead th:first-child{width:30%;}
.workSystemTable thead th:nth-child(2){width:16%;}
.workSystemTable thead th:nth-child(3){width:16%;}
.workSystemTable thead th:nth-child(4){width:16%;}
.workSystemTable thead th:nth-child(5){width:22%;}
.workSystemTable tbody th{background:#eef5fd; font-weight:400;}
.workSystemTable tbody td{background:#ddebfb;}
.workSystemTable tbody tr:nth-child(even) th{background:#ddebfb;}
.workSystemTable tbody tr:nth-child(even) td{background:#eef5fd;}
.workSystemTable tbody tr.isNight th{background:#314f75; color:#fff;}
.workSystemTable tbody tr.isNight td{background:#4f7094; color:#fff;}
.workSystemTable tbody tr.workSystemGroupEnd th,.workSystemTable tbody tr.workSystemGroupEnd td{border-bottom:3px solid #333;}
.workSystemTable tr:last-child th,.workSystemTable tr:last-child td{border-bottom:0;}
.workSystemTable tr th:last-child,.workSystemTable tr td:last-child{border-right:0;}

.workSystemTable thead th:first-child{border-radius:13px 0 0 0;}
.workSystemTable thead th:last-child{border-radius:0 13px 0 0;}
.workSystemTable tbody tr:last-child th:first-child{border-radius:0 0 0 13px;}
.workSystemTable tbody tr:last-child td:last-child{border-radius:0 0 13px 0;}

/* 表右側の対象職種 */
.workSystemTargets{position:relative; flex:0 0 min(13.33vw,200px); align-self:flex-start; height:calc(var(--workFrameOffset) * 2 + var(--workHeadHeight) + var(--workRowHeight) * 8);}
.workSystemTargetSpace{display:none;}
.workSystemTargetGroup{position:absolute; left:0; display:grid; grid-template-columns:min(2vw,30px) minmax(0,1fr); align-items:center; width:100%;}
.workSystemTargetGroupBoth{top:calc(var(--workFrameOffset) + var(--workHeadHeight)); height:var(--workRowHeight);}
.workSystemTargetGroupSkill{top:calc(var(--workFrameOffset) + var(--workHeadHeight) + var(--workRowHeight)); height:calc(var(--workRowHeight) * 7);}
.workSystemTargetBrace{display:block; align-self:center; width:100%; margin:0; overflow:visible;}
.workSystemTargetGroupBoth .workSystemTargetBrace{height:calc(var(--workRowHeight) - 8px);}
.workSystemTargetGroupSkill .workSystemTargetBrace{height:calc((var(--workRowHeight) * 7) - 8px);}
.workSystemTargetBrace path{fill:none; stroke:var(--mainBlue); stroke-width:1.3; stroke-linecap:round; stroke-linejoin:miter; vector-effect:non-scaling-stroke;}

.workSystemTargetBadges{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px;}
.workSystemTargetBadge{display:flex; align-items:center; justify-content:center; width:min(9.53vw,143px); height:calc((var(--workRowHeight) - 3px) / 2); padding:1px 8px; border:1px solid var(--mainBlue); border-radius:6px; font-size:min(.87vw,13px); line-height:1.2; letter-spacing:.04em; color:var(--mainBlue);}
.workSystemTargetBadgeSkill{background:#ddebfb;}
.workSystemTargetBadgeOffice{background:#d8d8d8;}
.workSystemTargetLarge{display:flex; align-items:center; justify-content:center; width:min(9.53vw,143px); height:min(14.8vw,222px); margin:auto; border:1px solid var(--mainBlue); border-radius:15px; background:#ddebfb; font-size:min(1vw,15px); line-height:1.5; letter-spacing:.05em; color:var(--mainBlue);}

.workSystemTable{margin-bottom:0;}


/* 勤務例 */
.workSystemExamples{display:grid; gap:min(1.58vw,19px); margin:min(3vw,45px) auto 0;}
.workSystemExample{position:relative; display:grid; grid-template-columns:min(12.42vw,149px) minmax(0,1fr); min-height:min(10.83vw,130px); overflow:hidden; border:2px solid var(--mainBlue); border-radius:min(1.67vw,20px); background:#fff; padding: 2px;}
.workSystemExample::after{content:""; position:absolute; top:min(1.83vw,22px); bottom:min(1.17vw,14px); left:min(12.42vw,149px); width:1px; background:#aaa;}
.workSystemExampleTitle{display:flex; align-items:center; justify-content:center; margin:0 8px 0 0; border-radius:min(1.33vw,16px) 0 0 min(1.33vw,16px); background:rgba(0,69,139,.4); font-size:min(1.2vw,18px); line-height:1.5; letter-spacing:.05em; text-align:center; color:#fff;}
.workSystemWeeks{display:grid; grid-template-columns:7fr 7fr 5fr; gap:0; min-width:0; padding:min(1.67vw,20px) min(1.25vw,15px) min(1.17vw,14px) 0; background:#fff;}
.workSystemWeek{position:relative; min-width:0; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cline x1='99.5' y1='0' x2='99.5' y2='100' stroke='%23aaa' stroke-width='1' stroke-dasharray='3 3'/%3E%3C/svg%3E"); background-size:calc(100% / 7) 100%; background-repeat:repeat-x;}
.workSystemWeek:last-child{background-size:20% 100%;}
.workSystemDays{display:grid; grid-template-columns:repeat(7,minmax(0,1fr));}
.workSystemWeek:last-child .workSystemDays{grid-template-columns:repeat(5,minmax(0,1fr));}
.workSystemDays span{font-size:min(1.07vw,16px); line-height:min(1.83vw,22px); letter-spacing:.05em; text-align:center; color:#222;}
.workSystemDays span:nth-child(6){color:#00458b;}
.workSystemDays span:nth-child(7){color:#e65473;}
.workSystemSchedule{display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:min(.42vw,5px); margin-top:min(1.33vw,16px);}
.workSystemWeek:last-child .workSystemSchedule{grid-template-columns:repeat(5,minmax(0,1fr));}
.workSystemShift{grid-column:span 5; display:flex; align-items:center; justify-content:center; height:min(3.5vw,42px); padding:0 min(.42vw,5px); border-radius:min(.67vw,8px); font-size:min(1.07vw,16px); line-height:1.4; letter-spacing:.05em; text-align:center; white-space:nowrap; color:#fff;}
.workSystemRest{display:flex; align-items:center; justify-content:center; height:min(3.5vw,42px); border-radius:min(.67vw,8px); background:#fde3e7; font-size:min(1.07vw,16px); line-height:1; color:#f282a2; margin-right: 4px;}
.workSystemExampleTitle,.workSystemShift,.workSystemRest{margin-bottom:0;}
.workSystemShiftDay{background:#a3a0c7; margin: 0 4px;}
.workSystemShiftThird{background:#f282a2; margin: 0 4px;}
.workSystemShiftSecond{background:#fbba59; margin: 0 4px;}
.workSystemShiftFirst{background:#74adef; margin: 0 4px;}





/* benefits
---------------------------------------------------- */
.benefitsSec{position:relative; overflow:hidden; padding:min(7.33vw,110px) 0 min(8.67vw,130px); background:#fff;}
.benefitsSectionTitle{position:relative; z-index:2;}
.benefitsLead{width:min(100%,920px); margin:min(2.67vw,40px) auto 0; line-height:2; text-align:center; color:var(--mainBlue);}
.benefitsList{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:min(3.73vw,56px) min(5.33vw,80px); margin:min(4.67vw,70px) auto 0;}
.benefitsCard{position:relative; min-width:0; padding:min(2.67vw,40px) min(2.87vw,43px) min(2.2vw,33px); overflow:hidden; border:1px solid var(--mainBlue); border-radius:22px; background:#fff;}
.benefitsCardHead{display:flex; align-items:center; justify-content:space-between; gap:min(1.33vw,20px); padding:0 min(.53vw,8px) min(1.47vw,22px); border-bottom:1px solid #c9d7e4;}
.benefitsCardTitle{font-family:"Zen Kurenaido",sans-serif; font-size:min(1.6vw,24px); line-height:1.5; letter-spacing:.05em; font-weight:600; color:var(--mainBlue);}
.benefitsCardLabel{display:flex; align-items:center; justify-content:center; flex-shrink:0; width:min(12.67vw,190px); min-height:min(2.4vw,36px); padding:4px 10px; background:#09569a; font-family:"Noto Sans JP",sans-serif; font-size:min(.87vw,13px); line-height:1.3; letter-spacing:.04em; text-align:center; color:#fff;}
.benefitsCardText{min-height:min(8.27vw,124px); margin:min(1.27vw,19px) min(.53vw,8px) 0; line-height:1.5; color:var(--mainBlue);}
.benefitsCardImages{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:min(2.2vw,33px); margin:0;}
.benefitsCardImage{width:100%; min-width:0; margin:0;}
.benefitsCardPhoto{display:block; overflow:hidden; width:100%; aspect-ratio:220 / 160; background:#eef3f7;}
.benefitsCardPhoto img{display:block; width:100%; height:100%; object-fit:cover;}
.benefitsCardImage figcaption{margin:min(.47vw,7px) 0 0; font-size:min(.93vw,14px); line-height:1.5; letter-spacing:.02em; color:#7e7e7e;}

/* locations
---------------------------------------------------- */
.locationsSec{position:relative; overflow:hidden; padding:min(7.33vw,110px) 0 min(8.67vw,130px); background:#fff;}
.locationsSectionTitle{position:relative; z-index:2;}
.locationsList{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:min(1.33vw,20px); margin:min(4.67vw,70px) auto 0;}
.locationsCard{display:flex; flex-direction:column; min-width:0; padding:2px; overflow:hidden; border:1px solid var(--mainBlue); border-radius:min(1vw,15px); background:#fff;}
.locationsPhoto{overflow:hidden; width:100%; aspect-ratio:275 / 160; border-radius:calc(min(1vw,15px) - 3px) calc(min(1vw,15px) - 3px) 0 0; background:#eaf2f8;}
.locationsPhoto img{display:block; width:100%; height:100%; object-fit:cover;}
.locationsCardBody{display:flex; flex:1; flex-direction:column; min-height:min(15.33vw,230px); padding:min(1.33vw,20px) min(1.2vw,18px) min(1.13vw,17px); background:#fff;}
.locationsCardTitle{font-size:min(1.33vw,2rem); line-height:1.5; letter-spacing:.03em; font-weight:600; color:var(--mainBlue); white-space:nowrap;}
.locationsAddress{margin:min(.8vw,12px) 0 0; line-height:1.75; font-style:normal; color:var(--mainBlue);}
.locationsAddress a{color:inherit; text-decoration:none;}
.locationsMovie{display:flex; align-items:center; gap:min(.53vw,8px); align-self:flex-start; margin:auto 0 0; padding:min(.67vw,10px) 0 0; color:var(--mainBlue); transition:opacity .3s ease;}
.locationsMovie::before{content:">"; font-size:min(.8vw,12px); line-height:1;}
.locationsMovie span{line-height:1; letter-spacing:.08em;}
.locationsMovie img{display:block; width:min(1.47vw,22px); height:auto;}
.locationsMovie:hover{opacity:.6;}

/* locations movie modal */
.locationsMovieModal{position:fixed; z-index:1100; inset:0; opacity:0; visibility:hidden; transition:opacity .3s ease,visibility .3s ease;}
.locationsMovieModal.isOpen{opacity:1; visibility:visible;}
.locationsMovieModalOverlay{display:flex; align-items:center; justify-content:center; width:100%; height:100%; padding:40px; background:rgba(0,45,88,.82);}
.locationsMovieModalDialog{position:relative; width:min(90vw,1100px); background:#000; box-shadow:0 20px 60px rgba(0,0,0,.35);}
.locationsMovieModalDialog:focus{outline:none;}
.locationsMovieModalFrame{position:relative; width:100%; aspect-ratio:16 / 9;}
.locationsMovieModalFrame iframe{position:absolute; inset:0; display:block; width:100%; height:100%; border:0;}
.locationsMovieModalClose{position:absolute; z-index:3; top:-52px; right:0; width:42px; height:42px; border-radius:50%; background:#fff; cursor:pointer;}
.locationsMovieModalClose span{position:absolute; top:50%; left:50%; display:block; width:20px; height:2px; background:var(--mainBlue);}
.locationsMovieModalClose span:first-child{transform:translate(-50%,-50%) rotate(45deg);}
.locationsMovieModalClose span:last-child{transform:translate(-50%,-50%) rotate(-45deg);}

/* faq
---------------------------------------------------- */
.faqSec{position:relative; padding:min(7.33vw,110px) 0 min(9.33vw,140px); background:#fff;}
.faqSectionTitle{position:relative; z-index:2;}
.faqList{width:min(100%,1060px); margin:min(4.67vw,70px) auto 0;}
.faqItem + .faqItem{margin:min(3.33vw,50px) 0 0;}
.faqQuestion{position:relative; display:flex; align-items:center; gap:min(.93vw,14px); padding:0 0 min(.8vw,12px); border-bottom:1px dashed #efb1c3; color:var(--mainBlue);}
.faqQuestionIcon{display:block; flex:none; width:min(2.07vw,31px); height:auto;}
.faqQuestionText{font-size:min(1.467vw,2.2rem); line-height:1.6; font-weight:600;}
.faqAnswer{margin:min(1.33vw,20px) min(3vw,45px) 0; line-height:2; letter-spacing:.04em; color:#7e7e7e;}

/* footer
---------------------------------------------------- */
.siteFooter{position:relative; overflow:hidden; width:100%; margin-top:min(4vw,60px);}
.siteFooterBack{display:block; width:100%; height:auto;}
.siteFooterInner{position:absolute; z-index:2; left:50%; bottom:min(1.33vw,20px); display:flex; flex-direction:column; align-items:center; width:min(100%,600px); transform:translateX(-50%);}
.siteFooterLogo{width:min(11.33vw,170px);}
.siteFooterLogo a{display:block;}
.siteFooterLogo img{display:block; width:100%; height:auto;}
.siteFooterCopy{position:relative; width:min(25.31vw,380px); margin:min(2.667vw,40px) 0 0; padding:0 0 min(1.33vw,20px);}
.siteFooterCopy img{display:block; width:100%; height:auto;}
.siteFooterCopyright{margin:min(10.33vw,155px) 0 0; line-height:1.5; color:var(--mainBlue);}
.siteFooterStar{display:block; width:min(4vw,60px); height:auto; margin:0 0 2em;}



@media (min-width:768px) and (max-width:1200px){
.workSystemTableLayout{--workHeadHeight:4.8vw; --workRowHeight:4.5vw;}
.workSystemTargets{flex-basis:17vw;}
.workSystemTargetGroup{grid-template-columns:2.5vw minmax(0,1fr);}
.workSystemTargetBadge{width:12vw; font-size:1.1vw;}
.workSystemTargetLarge{width:12vw; height:18vw; font-size:1.2vw;}
}



@media (max-width:1100px){
.worksModalInner{padding:45px 40px 40px;}
.worksModalTop{gap:30px;}
.worksModalBottom{gap:35px;}
.worksModalTitle{font-size:28px;}
.worksModalText{font-size:16px;}
.worksModalStaffName{font-size:22px;}
.worksModalStaffMeta{font-size:16px;}
.worksModalMessageText{font-size:16px;}
}

/* tablet
---------------------------------------------------- */
@media (max-width:1300px) and (min-width:1025px){
.siteHeaderInner{width:calc(100% - 40px);}

.globalNavItem + .globalNavItem::before{margin:0 .7vw;}
.globalNavItem a{font-size:1vw;}
.worksModalInner{padding:5vw;}
.worksModalTop{grid-template-columns:minmax(0,55%) minmax(0,45%); gap:4vw;}
}

@media (max-width:1200px){
.siteHeaderInner{height:64px;}
}

/* tablet and sp menu
---------------------------------------------------- */
@media (max-width:1024px){
.siteHeader{position:absolute;}
.siteHeaderInner{width:calc(100% - 32px); height:7vw;}
.siteLogo{position:relative; z-index:102; width:15vw;}
.headerMenuBtn{position:relative; z-index:102; display:flex; flex-direction:column; align-items:center; justify-content:center; width:48px; height:48px;}
.headerMenuBtnLine{display:block; width:28px; height:2px; margin:3px 0; background:var(--mainBlue); transition:transform .3s ease,opacity .3s ease;}
.headerMenuBtnText{display:block; margin-top:3px; font-family:"Anton",sans-serif; font-size:8px; line-height:1; letter-spacing:.12em; color:var(--mainBlue);}
.headerMenuBtn.isOpen .headerMenuBtnLine:nth-child(1){transform:translateY(8px) rotate(45deg);}
.headerMenuBtn.isOpen .headerMenuBtnLine:nth-child(2){opacity:0;}
.headerMenuBtn.isOpen .headerMenuBtnLine:nth-child(3){transform:translateY(-8px) rotate(-45deg);}
.globalNav{position:fixed; z-index:101; top:0; right:0; width:100%; height:100vh; padding:90px 30px 40px; overflow-y:auto; background:rgba(255,255,255,.98); opacity:0; visibility:hidden; transform:translateY(-15px); transition:opacity .3s ease,visibility .3s ease,transform .3s ease;}
.globalNav.isOpen{opacity:1; visibility:visible; transform:translateY(0);}
.globalNavList{display:block; width:min(100%,500px); margin:0 auto;}
.globalNavItem{display:block; border-bottom:1px solid rgba(0,83,155,.2);}
.globalNavItem + .globalNavItem::before{display:none;}
.globalNavItem a{display:block; padding:18px 8px; font-size:16px; text-align:center;}
.globalNavItem a::after{display:none;}
}

/* smartphone
---------------------------------------------------- */
@media (max-width:767px){
.innerContents{width:calc(100% - 40px);}
.siteHeaderInner{width:calc(100% - 24px); height:60px;}
.siteLogo{width:150px;}
.headerMenuBtn{width:42px; height:42px;}
.headerMenuBtnLine{width:25px;}
.firstView{background-position:38% top; background-size:auto 720px;}
.mainVisualInner{width:100%; height:520px; aspect-ratio:auto;}
.mainVisualPerson01{top:12%; left:-8%; width:45%;}
.mainVisualPerson02{top:12%; right:-8%; width:42%;}
.mainVisualPerson03{top:55%; left:-2%; width:28%;}
.mainVisualPerson04{top:72%; left:9%; width:41%;}
.mainVisualPerson05{top:85%; left:57%; width:30%;}
.mainVisualPerson06{top:62%; right:-8%; width:38%;}
.mainVisualCopy{top:30%; left:50%; width:85%; transform:translateX(-50%);}
.mainVisualHeart01{top:78px; left:2%; width:4%;}
.mainVisualHeart02{top:220px; left:18%; width:4%;}
.mainVisualHeart03{top:396px; left:38%; width:4%;}
.mainVisualHeart04{top:205px; right:13%; width:4%;}
.mainVisualShine01{top:100px; left:29%; width:6%;}
.mainVisualShine02{top:105px; right:20%; width:5%;}
.mainVisualShine03{top:390px; right:4%; width:5%;}
.mainVisualStar01{top:176px; left:47%; width:6%;}
.mainVisualStar02{top:320px; right:29%; width:5%;}
.mainVisualStar03{top:410px; left:10%; width:4%;}
.messageSec{padding:0 0 5vw;}
.messageBox{width:94%; height:330px; aspect-ratio:auto;}
.messageBoxTape{top:-2%; left:8%; width:28%;}
.messageBoxAther{top:-3%; right:-17%; width:72%;}
.messageBoxLabel{top:10%; right:8%; font-size:5vw;}
.messageBoxContent{top:17%; left:9%; width:82%; transform:rotate(-.7deg);}
.messageBoxTitle{margin-bottom:14px; font-size:5.7vw; line-height:1.45; letter-spacing:.04em;}
.messageBoxText{font-size:3.45vw; line-height:1.9; letter-spacing:.02em;}
.messageBoxText br{display:none;}
.sectionTitle{position:relative; display:grid; grid-template-columns:20vw 1fr 20vw; align-items:center; width:100%; padding-bottom:6vw;}
.sectionTitleSide{display:block; width:100%; height:auto;}
.sectionTitleSideLeft{grid-column:1; grid-row:1;}
.sectionTitleSideRight{grid-column:3; grid-row:1; transform:scaleX(-1);}
.sectionTitleMain{position:relative; grid-column:2; grid-row:1; justify-self:center;}
.sectionTitleBack{width:140%;}
.sectionTitleText{font-size:6vw; line-height:1.4; letter-spacing:.08em;}
.sectionTitleEn{top:auto; right:2vw; bottom:0; font-size:4.1vw; transform:rotate(-5deg);}
.idealCandidate{padding:10vw 0;}
.idealCandidateLead{width:94%; margin:8vw auto 0; font-size:3.6vw; line-height:1.9; letter-spacing:.04em; text-align:left;}
.idealCandidateLead br{display:none;}
.idealCandidateList{display:grid; grid-template-columns:1fr; gap:9vw; width:92%; margin:10vw auto 0;}
.idealCandidateItem{width:100%; aspect-ratio:370.88 / 369.88;}
.idealCandidateItemBack{width:100%; height:100%;}
.idealCandidateItemTape{top:-7%; left:45%; width:15%;}
.idealCandidateItemTitle{padding-right:24%; font-size:4.8vw; line-height:1.4; letter-spacing:.1em;}
.idealCandidatePointList{margin-top:5vw;}
.idealCandidatePointList li{padding-left:1em; font-size:3.55vw; line-height:1.7; letter-spacing:0;}
.idealCandidateExample{margin-top:3.5vw;}
.idealCandidateExampleLabel{font-size:3.25vw; line-height:1.6;}
.idealCandidateExampleText{font-size:3.25vw; line-height:1.65; letter-spacing:.02em;}
.worksSec{padding:16vw 0 20vw;}
.worksList{grid-template-columns:1fr; margin-top:2vw;}
.worksItem{display:flex; flex-direction:column; gap:5vw; padding:9vw 0; border-bottom:1px solid #d6eaf5;}
.worksItem:nth-child(even){padding-right:0; border-left:0;}
.worksItem:nth-child(odd){padding-left:0;}
.worksItem:nth-last-child(2){border-bottom:1px solid #d6eaf5;}
.worksItem:last-child{border-bottom:0;}
.worksItemReverse .worksPhoto{order:1;}
.worksItemReverse .worksContent{order:2;}
.worksPhoto{width:84%; margin:0 auto; padding-bottom:8vw;}
.worksItem:nth-child(odd) .worksPhoto{justify-self:auto;}
.worksItem:nth-child(even) .worksPhoto{justify-self:auto;}
.worksPhotoBack{left:-20%; bottom:-10%; width:116%;}
.worksItemReverse .worksPhotoBack{right:-20%; left:auto;}
.worksPhotoIcon{right:-5vw; bottom:0; width:21vw; max-height:26vw;}
.worksItemReverse .worksPhotoIcon{right:-5vw; left:auto;}
.worksContent{width:92%; margin:0 auto;}
.worksItemTitle{gap:2.5vw; font-size:6.2vw;}
.worksItemTitle img{width:4.5vw;}
.worksItemText{margin-top:4vw; font-size:3.65vw; line-height:1.9;}
.worksMore{height:12vw; margin-top:6vw;}
.worksMoreText{font-size:3.2vw;}
.worksMoreArrow{right:2vw; width:8vw;}
.worksMoreArrow::before{width:2vw; height:2vw;}
.worksModalOverlay{align-items:flex-start; padding:4vw;}
.worksModalDialog{width:100%; max-height:92dvh;}
.worksModalClose{top:3vw; right:3vw; width:10vw; height:10vw;}
.worksModalClose span{width:5vw;}
.worksModalInner{min-height:0; padding:15vw 6vw 12vw;}
.worksModalTop{display:block;}
.worksModalGallery{grid-template-columns:repeat(2,minmax(0,1fr)); gap:3vw;}
.worksModalDetail{padding-top:8vw;}
.worksModalTitle{gap:2.5vw; font-size:7vw;}
.worksModalTitleIcon{width:5vw; margin-top:1.5vw;}
.worksModalText{margin-top:5vw; font-size:3.7vw; line-height:1.9;}
.worksModalShift{grid-template-columns:28vw 1fr; gap:2vw; margin-top:6vw;}
.worksModalShift dt{height:10vw; border-radius:1.5vw; font-size:3.3vw;}
.worksModalShift dd{height:10vw; border-radius:1.5vw; font-size:3.3vw;}
.worksModalBottom{display:block; margin-top:12vw;}
.worksModalProfile{display:grid; grid-template-columns:24vw 1fr; grid-template-rows:auto auto; column-gap:5vw; align-items:center;}
.worksModalProfilePhoto{grid-row:1 / 3; width:24vw;}
.worksModalStaffName{align-self:end; margin:0; font-size:5.5vw;}
.worksModalStaffMeta{align-self:start; margin-top:1vw; font-size:3.5vw;}
.worksModalMessage{padding:10vw 0 0;}
.worksModalMessageTitle{width:48vw; height:12vw; font-size:5vw;}
.worksModalMessageTitle::before{width:12vw; height:5vw;}
.worksModalMessageText{margin-top:6vw; font-size:3.7vw; line-height:1.9;}
.worksModalIllust01{top:34%; left:-2%; width:18vw;}
.worksModalIllust02{top:auto; right:1vw; bottom:25%; width:21vw;}
.worksModalIllust03{right:-5vw; bottom:0; width:42vw;}
	
/* future ace */
.futureSec{padding:16vw 0 18vw;}
.futureLead{width:90%; margin:7vw auto 0; font-size:3.5vw; line-height:1.9; letter-spacing:.04em;}
.futureLead br{display:none;}
.futureBack01{top:-2%; right:-25vw; width:80vw;}
.futureBack02{top:30%; left:-15vw; width:50vw;}
.futureIllust01{top:8%; left:10%; width:13vw;}
.futureIllust02{top:11%; right:10%; width:14vw;}
.futureSlider{margin-top:1vw;}
.futureSliderStage{height:50vw;}
.futureSliderTrack{gap:1.5vw;}
.futureSlide{flex:0 0 84vw; width:84vw;}
.futureSlide.isPrev{opacity:.2; transform:scale(.82);}
.futureSlide.isNext{opacity:.2; transform:scale(.82);}
.futureSlideCard{width:100%; aspect-ratio:718 / 390;}
.futureSlidePhoto{width:100%; height:100%; object-fit:cover; border-radius:5vw;}

.futureSlideVol{top:-9%; left:-7%; width:21vw;}
.futureSlideContent{top:42%; left:7%; width:60%; text-shadow:-3px -3px 4px #fff,3px -3px 4px #fff,-3px 3px 4px #fff,3px 3px 4px #fff,0 0 8px #fff;}
.futureSlideTitle{font-size:3.5vw; line-height:1.45; letter-spacing:.04em;}
.futureSlideMeta{margin-top:2.5vw; font-size:2.5vw; line-height:1.5;}
.futureMovieIcon{right:2%; bottom:2%; width:12vw;}
.futureSliderArrow{top:50%; width:11vw;}
.futureSliderArrow span{width:2.2vw; height:2.2vw; border-width:.45vw .45vw 0 0;}
.futureSliderPrev{left:2vw;}
.futureSliderNext{right:2vw;}
.futureSliderPrev span{margin-left:1vw;}
.futureSliderNext span{margin-right:1vw;}
.futureSliderDots{gap:3vw; margin-top:4vw;}
.futureSliderDots button{width:2.5vw;}
.futureSlide.isActive .futureSlideCard:focus-visible{outline-width:.6vw; outline-offset:1.5vw;}

/* future movie modal */
.futureMovieModalOverlay{padding:5vw;}
.futureMovieModalDialog{width:100%;}
.futureMovieModalClose{top:-13vw; width:10vw; height:10vw;}
.futureMovieModalClose span{width:5vw; height:.4vw;}

/* staff message */
.staffMessageSec{padding:16vw 0 20vw;}
.staffMessageList{grid-template-columns:1fr; gap:8vw; width:100%; margin-top:11vw;}
.staffMessageCard{display:block; min-height:0; padding:7vw 6vw 8vw; border-radius:2.5vw;}
.staffMessageProfile{display:grid; grid-template-columns:25vw minmax(0,1fr); grid-template-rows:auto auto auto; column-gap:5vw; align-items:center; text-align:left;}
.staffMessagePhoto{grid-column:1; grid-row:1 / 4; width:25vw; margin:0;}
.staffMessagePosition{grid-column:2; grid-row:1; align-self:end; justify-content:flex-start; min-height:0; margin:0; padding:1.5vw 2.5vw; font-size:2.8vw;}
.staffMessageName{grid-column:2; grid-row:2; align-self:start; margin:2vw 0 0; font-size:4.4vw; line-height:1.4;}
.staffYears{grid-column:2; grid-row:3; align-self:start; margin:.5vw 0 0; font-size:3.6vw;}
.staffMessageContent{margin-top:6vw;}
.staffMessageHeading{font-size:3.9vw; line-height:1.55; letter-spacing:-.05em;}
.staffMessageText{margin-top:4vw; font-size:3.5vw; line-height:1.9; letter-spacing:.02em;}
.staffMessageIllust{right:-4vw; bottom:-3vw; width:30vw; opacity:.65;}	
	

.workSystemPoints{gap:1vw;}
.workSystemLead{font-size: 3.5vw;}
.workSystemLead span{font-size: 4vw;}
.workSystemPointEmphasis{font-size: 3.2vw; letter-spacing: 0; line-height: 1.9;}
.workSystemPointSub{font-size: 3vw;}
	
/* 勤務時間表 */
.workSystemTableArea{margin-top:8vw;}
.workSystemTableScroll{width:100%; overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch; padding-bottom:2vw;}
.workSystemTableLayout{--workHeadHeight:54px; --workRowHeight:48px; --workFrameOffset:4px; width:800px; min-width:800px;}
.workSystemTableFrame{flex:1 1 auto; min-width:0; border-radius:18px;}
.workSystemTable th,.workSystemTable td{padding:0 10px; font-size:3vw;}
.workSystemTable thead th{font-size:3.5vw;}
.workSystemTargets{flex:0 0 200px;}
.workSystemTargetGroup{grid-template-columns:30px minmax(0,1fr);}
.workSystemTargetBadge{width:143px; font-size:3vw;}
.workSystemTargetLarge{width:143px; height:222px; font-size:3vw;}
.workSystemScrollText{display:block; margin:2vw 0 0; font-size:3vw; text-align:right; color:#7e7e7e;}

/* 勤務例 */
.workSystemExamples{display:grid; gap:19px; width:100%; margin-top:8vw; padding-bottom:2vw; overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch;}
.workSystemExample{grid-template-columns:149px minmax(0,1fr); width:800px; min-width:800px; min-height:100px; border-radius:20px;}
.workSystemExample::after{top:22px; bottom:14px; left:149px;}
.workSystemExampleTitle{margin:0 8px 0 0; border-radius:16px 0 0 16px; font-size:3.5vw;}
.workSystemWeeks{padding:10px 15px 10px 0;}
.workSystemDays span{font-size:3vw; line-height:22px;}
.workSystemSchedule{gap:5px; margin-top:10px;}
.workSystemShift{height:32px; padding:0 5px; border-radius:8px; font-size:3vw;}
.workSystemRest{height:32px; border-radius:8px; font-size:3vw;}	
	
	
	
/* benefits */
.benefitsSec{padding:16vw 0 20vw;}
.benefitsLead{width:90%; margin-top:7vw; font-size:3.5vw; line-height:1.9; text-align: left;}

.benefitsList{grid-template-columns:1fr; gap:8vw; margin-top:11vw;}
.benefitsCard{padding:5vw; border-radius:4vw;}
.benefitsCardHead{gap:3vw; padding:0 1vw 4vw;}
.benefitsCardTitle{font-size:4vw;}
.benefitsCardLabel{width:35vw; min-height:8vw; padding:1vw 2vw; font-size:2.5vw;}
.benefitsCardText{min-height:0; margin:4vw 1vw 0; font-size:3.5vw; line-height:1.9;}
.benefitsCardImages{gap:4vw; margin-top:5vw;}
.benefitsCardPhoto{aspect-ratio:4 / 3;}
.benefitsCardImage figcaption{margin-top:1.5vw; font-size:3vw;}	
	
/* locations */
.locationsSec{padding:16vw 0 20vw;}
.locationsList{grid-template-columns:1fr; gap:6vw; width:100%; margin-top:11vw;}
.locationsCard{padding:2px; border-radius:3vw;}
.locationsPhoto{aspect-ratio:275 / 160; border-radius:calc(3vw - 3px) calc(3vw - 3px) 0 0;}
.locationsCardBody{min-height:0; padding:5vw 5vw 4.5vw;}
.locationsCardTitle{font-size:4.3vw; line-height:1.5; white-space:normal;}
.locationsAddress{margin-top:3vw; font-size:3.3vw; line-height:1.75; letter-spacing:0;}
.locationsAddress a{text-decoration:none;}
.locationsMovie{gap:2vw; margin-top:4vw; padding-top:0;}
.locationsMovie::before{font-size:3vw;}
.locationsMovie span{font-size:3vw;}
.locationsMovie img{width:6vw;}
.locationsMovieModalOverlay{padding:5vw;}
.locationsMovieModalDialog{width:100%;}
.locationsMovieModalClose{top:-13vw; width:10vw; height:10vw;}
.locationsMovieModalClose span{width:5vw; height:.4vw;}
	
/* faq */
.faqSec{padding:16vw 0 20vw;}
.faqList{width:100%; margin-top:11vw;}
.faqItem + .faqItem{margin-top:9vw;}
.faqQuestion{align-items:flex-start; gap:3vw; padding-bottom:3vw;}
.faqQuestionIcon{width:5vw; margin-top:.3vw;}
.faqQuestionText{flex:1; font-size:4vw; line-height:1.6; letter-spacing:.03em;}
.faqAnswer{margin:4vw 1vw 0 8vw; font-size:3.4vw; line-height:1.9; letter-spacing:.02em;}
	
	
/* footer */
.siteFooter{width:100%; margin-top:5vw; padding-top: 3vw;}
.siteFooterBack{width:100%; height:auto; max-width:none;}
.siteFooterInner{bottom:3vw; width:100%;}
.siteFooterLogo{width:22vw;}
.siteFooterCopy{width:40vw; margin-top:3vw; padding-bottom:0;}
.siteFooterCopy::after{height:.6vw;}
.siteFooterCopyright{margin-top:4vw; font-size:2.4vw; letter-spacing:.05em; margin-bottom: 3vw;}	
	
	
}


/* 20261006ADD */
.reference-mark{position:relative; z-index:3; display:table; margin:min(1.33vw,20px) auto 0; padding-left:1em; text-indent:-1em; font-size:min(0.93vw,14px); line-height:1.8; text-align:left; color:var(--mainBlue);}
.reference-mark a{font-weight:bold; text-decoration:underline; color:var(--mainBlue);}
.reference-mark a:hover{text-decoration:none;}
.reference-Margin {margin-bottom: -30px!important; margin-top: 30px!important;}
@media (max-width:767px){
.reference-mark{display:block; width:90%; margin:3vw auto 0; padding-left:1em; text-indent:-1em; font-size:3vw; line-height:1.6; text-align:left;}
}
