/*------------------------------------------------------------
BODY BASIC
------------------------------------------------------------*/
body{
color:#6e737d;
font-size:3.5vw;
line-height:1.75;
font-feature-settings:'palt';
width:100%;
overflow:hidden;
}

/*------------------------------------------------------------
RESPONSIVE
------------------------------------------------------------*/
.pconly{ display:none; }
.sponly{ display:block; }


/*------------------------------------------------------------
HEADER
------------------------------------------------------------*/
header{
position:fixed;
width:100%;
height:20vw;
background:rgba(255,255,255,.9);
z-index:100;
}
.header-wrap{
width:92vw;
margin:0 auto;
display:flex;
padding:4vw 0;
justify-content:space-between;
align-items:center;
}

.site-logo{
width:40vw;
height:12vw;
position:relative;
}
.site-logo a{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
z-index:2;
}


.head-nav{
display:flex;
width:40vw;
justify-content:space-between;
}
.head-nav li:nth-child(1) a{
width:24vw;
height:12vw;
display:flex;
text-align:center;
justify-content:center;
align-items:center;
font-size:4vw;
font-family:'Oswald';
font-weight:500;
color:#fff;
background:#ff931e;
border:2px solid #ff931e;
border-radius:2vw;
position:relative;
transition:all .2s;
}

.head-nav li:nth-child(2) button{
width:12vw;
height:12vw;
display:flex;
text-align:center;
justify-content:center;
align-items:center;
font-size:4vw;
font-family:'Oswald';
font-weight:500;
color:#fff;
background:#6e737d;
border-radius:2vw;
border:2px solid #6e737d;
cursor:pointer;
}

.head-nav li:nth-child(2) button.open{
border:2px solid #6e737d;
background:#fff;
color:#6e737d;
}

.head-nav li:nth-child(1) a::after{
content:'〉〉〉';
margin-left:2vw;
}


#menubox{
position:absolute;
top:20vw;
right:4vw;
width:60vw;
height:calc(100vh - 34vw);
padding:12vw 2vw 12vw 4vw;
border-radius:2vw;
background:#fff;
border:1px solid #6e737d;
z-index:100;
}


.menu-inner{
height:calc(100vh - 58vw);
overflow:auto;
}


.menu-ttl{
font-size:4vw;
line-height:3;
font-family:'Oswald';
font-weight:500;
}

.menu li{
font-size:5vw;
line-height:2.5;
font-family:'Oswald';
font-weight:500;
}
.menu li a{
color:#6e737d;
}
.menu li::before{
content:'→';
transform:rotate(45deg);
margin-right:1vw;
color:#ff931e;
display:inline-block;
}
.menu li a:hover{
color:#ff931e;
}



.acc-menu{
}
.acc-menu dt{
font-size:5vw;
line-height:2.5;
font-family:'Oswald';
font-weight:500;
color:#6e737d;
position:relative;
cursor:pointer;
}
.acc-menu dt::before{
content:'→';
transform:rotate(45deg);
margin-right:1vw;
color:#ff931e;
display:inline-block;
}
.acc-menu dt span{
width:5vw;
height:5vw;
position:absolute;
top:3.75vw;
left:8.5em;
}


.acc-menu dt span::before{
content:'';
width:5vw;
height:1vw;
background:#ff931e;
position:absolute;
top:calc(50% - .5vw);
left:0;
transition:all .2s;
}
.acc-menu dt span::after{
content:'';
width:1vw;
height:5vw;
background:#ff931e;
position:absolute;
top:0;
left:calc(50% - .5vw);
transition:all .2s;
}
.acc-menu dt.open span::before{
transform:rotate(90deg);
opacity:0;
}
.acc-menu dt.open span::after{
transform:rotate(90deg);
}


.acc-menu dd{
display: none;
margin-left:1.9em;
}
.menu-sub li{
font-size:3.5vw;
line-height:2;
}
.menu-sub li a{
color:#6e737d;
}
.menu-sub li a:hover{
color:#ff931e;
}




#container{
width:100%;
padding-top:20vw;
}



/*------------------------------------------------------------
TOPPAGE
------------------------------------------------------------*/


#kv{
width:96vw;
margin:0 auto;
border-radius:4vw;
overflow:hidden;
position:relative;
}


.kv-logo{
width:13.75vw;
height:16.15vw;
background:url(../img/kv-logo.png) no-repeat;
background-size:100%;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%, -50%);
z-index:10;
}

#index1{
}
.i1-wrap{
width:92vw;
padding:8vw 0 16vw;
margin:0 auto;
}

.i1-ttl{
font-family:'Oswald';
font-weight:500;
font-size:6vw;
line-height:1;
margin-bottom:1rem;
}
.i1-ttl span{
color:#ff931e;
}
.feed{
border-top:1px solid #6e737d;
}
.feed li{
display:flex;
border-bottom:1px solid #6e737d;
align-items:center;
height:10vw;
}
.feed-date{
width:24vw;
padding:0 2vw;
}
.feed-ttl{
width:calc(100% - 24vw);
}
.feed-ttl a{
color:#6e737d;
}

#index2{
}
.i2-wrap{
width:92vw;
padding:0 0 16vw;
margin:0 auto;
position:relative;
}

.i2-ttl-en{
width:64vw;
height:4vw;
margin-bottom:8vw;
}
#index2 h2{
font-size:6vw;
line-height:1;
font-weight:bold;
margin-bottom:6vw;
}


.i2-lead{
font-size:4vw;
line-height:1.5;
font-weight:500;
}
.i2-lead p{
margin-bottom:3vw;
}
.i2-lead p:last-child{
margin:0;
}


.i2-ill{
position:absolute;
top:3vw;
left:50%;
margin-left:14vw;
width:34.2vw;
height:21.8vw;
background:url(../img/ill01.png) no-repeat;
background-size:34.2vw;
z-index:2;
}



#index3{
}
.i3-wrap{
width:92vw;
padding:0 0 16vw;
position:relative;
margin:0 auto;
}
#index3 h2{
font-size:10vw;
line-height:1;
margin-bottom:5vw;
font-family:'Oswald';
font-weight:500;
}


#index3 h2 span.org{
color:#ff931e;
}

#index3 h2 span.sub-ja{
font-size:5vw;
line-height:2;
display:block;
font-family:'Noto Sans JP';
font-weight:500;
}

.i3-desc{
margin-bottom:10vw;
font-weight:500;
}




.b-menu{
width:80vw;
margin:0 auto;
display:flex;
flex-wrap:wrap;
}
.b-menu li{
width:100%;
font-size:5vw;
text-align:center;
line-height:1;
position:relative;
margin-bottom:4vw;
}
.b-menu li a{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
z-index:12;
}

.b-menu-panel{
position:relative;
width:80vw;
height:50vw;
transition:all .2s;
}

.b-menu li:nth-child(1) .b-menu-panel{
background:url(../img/menu01.png) no-repeat;
background-size:80vw;
width:80vw;
border-radius:4vw;
overflow:hidden;
}
.b-menu li:nth-child(2) .b-menu-panel{
background:url(../img/menu02.png) no-repeat;
background-size:80vw;
width:80vw;
border-radius:4vw;
overflow:hidden;
}
.b-menu li:nth-child(3) .b-menu-panel{
background:url(../img/menu03.png) no-repeat;
background-size:80vw;
width:80vw;
border-radius:4vw;
overflow:hidden;
}


.b-menu li:nth-child(1) .b-menu-ttl{
width:70.88vw;
height:16.55vw;
position:absolute;
bottom:5.36vw;
left:50%;
transform:translate(-50%, 0);
z-index:2;
}

.b-menu li:nth-child(2) .b-menu-ttl{
width:63.60vw;
height:15.90vw;
position:absolute;
bottom:5.36vw;
left:50%;
transform:translate(-50%, 0);
z-index:2;
}

.b-menu li:nth-child(3) .b-menu-ttl{
width:68.39vw;
height:34.10vw;
position:absolute;
bottom:5.36vw;
left:50%;
transform:translate(-50%, 0);
z-index:2;
}

.b-menu-link{
margin-top:3vw;
position:relative;
font-weight:bold;
display:inline-block;
padding-right:1em;
}
.b-menu-link::after{
content:'→';
transform:rotate(-45deg);
margin-left:.5rem;
display:inline-block;
color:#ff931e;
}



#index4{
position:relative;
margin:0 auto;
}

.i4-ill{
width:36vw;
height:29.6vw;
background:url(../img/ill02.png) no-repeat;
background-size:36vw;
position:absolute;
top:5.7vw;
left:50%;
margin-left:13.2vw;
}


#index4 h2{
width:92vw;
font-size:10vw;
line-height:1;
margin:0 auto 5vw;
position:relative;
font-family:'Oswald';
font-weight:500;
}


#index4 h2 span.org{
color:#ff931e;
}

#index4 h2 span.sub-ja{
font-size:5vw;
line-height:2;
display:block;
font-family:'Noto Sans JP';
font-weight:500;
}


.i4-link{
font-size:4vw;
display:inline-block;
font-weight:500;
}
.i4-link a{
color:#6e737d;
}
.i4-link::after{
content:'→';
transform:rotate(-45deg);
margin-left:.5rem;
display:inline-block;
color:#ff931e;
}


.i4-visual{
width:100%;
overflow: hidden;
white-space: nowrap;
margin-bottom:16vw;
}
.i4-v-inner {
  display: flex;
  width: fit-content;
  animation: scroll-left 35s linear infinite;
}

.i4-visual img{
width:auto;
height:65vw;
max-width: none;
display: block;
flex-shrink: 0;
margin-right:3vw;
}

/* 無限スクロール */
@keyframes scroll-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%); /* 画像2枚分の半分ずらす */
  }
}



#index5{
}
.i5-ttl{
width:100%;
height:66.67vw;
background:url(../img/cta-bg-sp.webp) no-repeat center top;
background-size:100vw;
position:relative;
}

.i5-ttl-area{
background:rgba(255,255,255,.9);
width:100%;
height:15vw;
position:absolute;
bottom:0;
left:50%;
transform:translate(-50%, 0);
display:flex;
align-items:center;
}
#index5 h2{
width:92vw;
font-size:10vw;
line-height:1;
margin:0 auto;
position:relative;
font-family:'Oswald';
font-weight:500;
}


#index5 h2 span.org{
color:#ff931e;
}
#index5 h2 span.i5-sub-ja{
font-size:5vw;
font-weight:500;
display:inline-block;
margin-left:1em;
position:relative;
top:-1.75vw;
font-family:'Noto Sans JP';
}

.i5-wrap{
width:92vw;
margin:6vw auto 12vw;
}
.i5-desc{
font-size:3.8vw;
line-height:2;
margin-bottom:6vw;
font-weight:500;
}

.i5-menu{
width:80vw;
margin:0 auto 12vw;
display:flex;
justify-content:space-between;
flex-wrap:wrap;
gap:6vw 0;
}
.i5-menu li{
width:80vw;
display:flex;
align-items:center;
position:relative;
justify-content:center;
gap:3vw 0;
}
.i5-menu li a{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
z-index:10;
}

.i5-menu-thumb{
width:40vw;
position:relative;
}

.i5-menu-icon{
width:40vw;
height:40vw;
background:#fff;
border:2px solid #ff931e;
border-radius:50%;
}


.i5-menu-link{
margin-left:5vw;
font-size:5vw;
display:inline-block;
position:relative;
font-weight:500;
}
.i5-menu-link a{
color:#6e737d;
}
.i5-menu-link::after{
content:'→';
transform:rotate(-45deg);
margin-left:.5rem;
color:#ff931e;
display:inline-block;
}


#cta{
width:100%;
margin:0 0 16vw;
}
.cta-wrap{
width:96vw;
margin-left:4vw;
border-top:2px solid #696e7d;
border-left:2px solid #696e7d;
border-bottom:2px solid #696e7d;
border-radius:4vw 0 0 4vw;
padding:6vw 0 5vw 6vw;
position:relative;
}

.cta-ill{
width:35vw;
height:18vw;
background:url(../img/rec-ill.png) no-repeat;
background-size:35vw;
position:absolute;
left:61vw;
bottom:27vw;
}

.cta-ttl{
font-size:9vw;
font-family:'Oswald';
font-weight:500;
color:#696e7d;
line-height:1;
margin-bottom:3vw;
}
.cta-ttl span{
color:#ff931e;
}
.cta-ttl-ja{
font-size:5vw;
line-height:1;
font-weight:500;
margin-bottom:6vw;
}

.cta-btns{
width:80vw;
display:flex;
justify-content:space-between;
align-items:center;
}
.cta-btns li a{
width:38vw;
height:16vw;
font-size:4.5vw;
color:#fff;
font-weight:500;
text-align:center;
background:#ff931e;
border:2px solid #ff931e;
border-radius:4vw;
display:flex;
align-items:center;
justify-content:center;
position:relative;
transition:all .2s;
}
.cta-btns li a::after{
content:'→';
transform:rotate(-45deg);
margin-left:.5rem;
}



#entry{
width:100%;
height:20vw;
background:#b6b9be;
display:flex;
align-items:center;
transition:all .2s;
position:relative;
margin-bottom:16vw;
}

#entry a{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
z-index:2;
}

.entry-ttl{
width:88vw;
margin:0 auto;
}
.entry-ttl img{
width:64vw;
}

.entry-ill{
width:24.3vw;
height:31.2vw;
background:url(../img/ill-entry.png) no-repeat;
background-size:24.3vw;
position:absolute;
top:-11.2vw;
left:50%;
margin-left:20vw;
}


/*------------------------------------------------------------
PAGE
------------------------------------------------------------*/
#page{
padding:12vw 0 16vw;
}
.page-col{
width:92vw;
margin:0 auto;
}


article.busi-cont{
max-width:92vw;
width:100%;
margin:0 auto;
}

#page h1.page-ttl{
font-size:12vw;
line-height:1;
margin-bottom:10vw;
font-family:'Oswald';
font-weight:500;
}
#page h1.page-ttl span.org{
color:#ff931e;
}
#page h1 span.sub-ja{
font-size:5vw;
line-height:1.6;
display:block;
font-family:'Noto Sans JP';
font-weight:500;
}

.busi-hero{
margin-bottom:10vw;
}




/* BUSINESS / DATA */

.data-num{
width:18vw;
height:18vw;
background:#f08d28;
display:flex;
justify-content:center;
align-items:center;
flex-direction:column;
color:#fff;
font-size:8vw;
font-weight:bold;
line-height:1;
position:absolute;
top:-6vw;
left:0;
border-radius:3vw;
font-family:'Oswald';
}
.data-num span{
font-size:4vw;
line-height:1.55;
}

.data01{
width:100%;
background:#e5e6e7;
border-radius:3vw;
position:relative;
padding:6vw;
display:flex;
flex-wrap:wrap;
gap:6vw 0;
margin:0 0 8vw;
}

.data-ill01{
display:flex;
align-items:center;
width:100%;
}

.data-txt01{
width:100%;
color:#6e737d;
}
.data01-lead{
font-size:4.5vw;
line-height:1.357;
}
.data-01-cont{
margin:3vw 0 0;
font-size:3.5vw;
line-height:1.45;
}


.data-cap{
position:absolute;
bottom:3vw;
right:3vw;
font-size:3.5vw;
}



.data02-05wrap{
display:flex;
flex-wrap:wrap;
gap:8vw 0;
margin:0 0 clamp(2rem, 3.8vw, 5.375rem);
}
.data0205{
background:#e5e6e7;
width:100%;
height:auto;
border-radius:3vw;
position:relative;
display:flex;
justify-content:center;
align-items:center;
padding:6vw 6vw 12vw;
}


.data06{
background:#e5e6e7;
width:100%;
padding:2vw 0 6vw;
position:relative;
}


.data06-ttl-area{
width:92vw;
margin: 0 auto;
padding:0;
}


.data06-ttl{
width:92vw;
margin:0 auto;
position:relative;
}

.data06-ttl-md{
font-size:4.5vw;
margin-left:22vw;
}



.data-num06{
width:18vw;
height:18vw;
background:#f08d28;
display:flex;
justify-content:center;
align-items:center;
flex-direction:column;
color:#fff;
font-size:8vw;
font-weight:bold;
line-height:1;
position:absolute;
top:-8vw;
left:0;
margin-right:600px;
border-radius:3vw;
font-family:'Oswald';
}
.data-num06 span{
font-size:4vw;
line-height:1.55;
}


/* BUSINESS / HISTORY */

h2.busi-his-cc{
font-size:6vw;
line-height:1;
margin:0 0 8vw;
}
.busi-his-lead{
font-size:3.8vw;
line-height:1.45;
margin:0 0 8vw;
}

section.history{
margin:0 0 16vw;
}



h3.his-md01{
font-size:5vw;
line-height:1;
padding:0 0 3vw;
border-bottom:1px solid #006536;
color:#006536;
font-family:'Noto Serif JP';
font-weight:700;
margin:0 0 4vw;
}
h3.his-md02{
font-size:5vw;
line-height:1;
padding:0 0 3vw;
border-bottom:1px solid #335a88;
color:#335a88;
font-family:'Noto Serif JP';
font-weight:700;
margin:0 0 4vw;
}
h3.his-md03{
font-size:5vw;
line-height:1;
padding:0 0 3vw;
border-bottom:1px solid #ae511f;
color:#ae511f;
font-family:'Noto Serif JP';
font-weight:700;
margin:0 0 4vw;
}
h3.his-md04{
font-size:5vw;
line-height:1;
padding:0 0 3vw;
border-bottom:1px solid #6486de;
color:#6486de;
font-family:'Noto Serif JP';
font-weight:700;
margin:0 0 4vw;
}


.his-col{
display:flex;
flex-wrap:wrap;
gap:6vw 0;
}
.his-list01,
.his-list02,
.his-list03,
.his-list04{
width:100%;
}
.his-list01 li,
.his-list02 li,
.his-list03 li,
.his-list04 li{
display:flex;
gap:0 1em;
font-size:3.8vw;
line-height:1.5;
margin:0 0 4vw;
}
.his01c{
white-space:nowrap;
color:#006536;
}
.his02c{
white-space:nowrap;
color:#335a88;
}
.his03c{
white-space:nowrap;
color:#ae511f;
}
.his04c{
white-space:nowrap;
color:#6486de;
}


.his-txt{
width:100%;
}

.his-ps{
width:100%;
}

.his-ps01{
display:flex;
gap:0 1vw;
margin:0 0 3vw;
}

.his-pcap{
font-size:3vw;
line-height:1.625;
margin:1vw 0 0;
}

.his-ps02{
display:flex;
gap:0 4vw;
}
.his-ps02 li:nth-child(1){
width:60vw;
}
.his-ps02 li{
display:flex;
align-items:center;
font-size:3vw;
line-height:1.625;
}

.his-ps-col{
display:flex;
gap:0 4vw;
}

.his-ps03{
width:64vw;
display:flex;
flex-direction:column;
flex-wrap:wrap;
gap:3vw 0;
}
.his-ps04{
width:28vw;
padding-top:3.5vw;
}
.his-ps05{
display:flex;
gap:0 4vw;
margin:0 0 6vw;
}
.his-ps05 li{
display:flex;
align-items:center;
}
.his-ps05 li:nth-child(1){
width:60vw;
}
.his-ps07{
display:flex;
flex-direction:column;
gap:3vw 0;
}
.his-ps07 li:nth-child(3){
width:30vw;
}

.last{
margin-bottom:0 !important;
}


/* BUSINESS / TOP MESSAGE */

.ceo{
display:flex;
position:relative;
flex-wrap:wrap;
padding-bottom:1vw;
}
.ceo-txt{
width:100%;
}

.ceo-ttl{
font-size:5.5vw;
line-height:1.25;
margin:0 0 6vw;
font-family:'Noto Serif JP', serif;
}
.ceo-message{
font-size:3.5vw;
line-height:1.45;
}
.ceo-message p{
margin-bottom:2em;
}

h3.ceo-md{
font-size:4.5vw;
line-height:1;
margin:8vw 0 4vw;
}

.ceo-name-sp{
margin-left:auto;
font-size:6vw;
line-height:1.75;
font-family:'Noto Serif JP';
font-weight:bold;
padding-right:4vw;
}
.ceo-name-sp span{
display:block;
font-size:3.5vw;
line-height:1.75;
}

.ceo-right{
width:100%;
display:flex;
}

.ceo-float{
margin-top:16vw;
width:50vw;
float:right;
shape-outside: url(/img/ceo-sp.png);
shape-margin:8vw;
}



/* CULTURE / HUMAN RESOURCE DEVELOPMENT */


h2.cul-cc{
font-size:6vw;
line-height:1.4;
margin:0 0 6vw;
}
h2.cul-cc span.org{
color:#ff931e;
}

.cul-lead{
font-size:3.8vw;
line-height:1.45;
margin:0 0 6vw;
}


.cul-step-img{
width:100%;
height:auto;
aspect-ratio: 12 / 1;
position:relative;
margin:0 auto 10vw;
}

.step-link{
  position: absolute;
  display: block;
  width: 16.2%;          /* 円の直径（調整可） */
  aspect-ratio: 1 / 1;
  border-radius: 50%;
}
.step01 {
  top: 20%;
  left: 12.5%;
}
.step02 {
  top: 20%;
  left: 31%;
}
.step03 {
  top: 77.5%;
  left: 48.2%;
}

.step04 {
  top: 77.5%;
  left: 66%;
}
.step05 {
  top: 1.5%;
  left: 83.6%;
}


#step01,#step02,#step03,#step04,#step05{
display:flex;
gap:0 4vw;
margin:0 0 8vw;
}


.step-bal{
width:20vw;
height:20vw;
min-width:20vw;
border-radius:50%;
border:2px solid #ff931e;
color:#ff931e;
display:flex;
justify-content:center;
align-items:center;
font-family:'Oswald';
font-weight:bold;
background:#fff0dc;
font-size:7vw;
}
.step-bal span{
font-size:4vw;
position:relative;
bottom:-1.6vw;
margin-right:1vw;
}


.step-cont{
width:100%;
}
h3.step-md{
font-size:5.5vw;
line-height:1;
padding:0 0 3vw;
border-bottom:1px solid #ff931e;
margin-bottom:4vw;
}
h3.step-md span{
display:inline-block;
margin-left:3vw;
font-size:3.5vw;
}


.step-col{
display:flex;
flex-wrap:wrap;
gap:6vw 0;
}
.step-txt{
width:100%;
}
.step-img{
width:100%;
}
h4.step-item{
padding-left:1.2em;
position:relative;
font-size:4vw;
line-height:1.75;
margin-bottom:1vw;
}
h4.step-item::before{
content:'';
width:4vw;
height:4vw;
background:#ff931e;
border-radius:50%;
position:absolute;
top:1vw;
left:0;
}
.step-list01{
display:flex;
flex-wrap:wrap;
font-size:3.5vw;
line-height:1.75;
margin-bottom:3vw;
}
.step-list01 li{
padding-left:1em;
position:relative;
margin-right:2em;
}
.step-list01 li::before{
content:'';
width:4px;
height:4px;
background:#6b737d;
border-radius:50%;
position:absolute;
top:2.5vw;
left:1vw;
}

.step-list02{
margin-bottom:1rem;
}
.step-list02 li{
padding-left:1.2em;
position:relative;
font-size:4vw;
line-height:1.75;
}
.step-list02 li::before{
content:'';
width:4vw;
height:4vw;
background:#ff931e;
border-radius:50%;
position:absolute;
top:1vw;
left:0;
}

.step03lead{
font-size:4vw;
line-height:1.75;
}

.step03lead span{
display:block;
font-size:3vw;
}

.step-txt p{
margin-bottom:3.5vw;
}

.step-ill01{
width:100%;
display:flex;
align-items:center;
justify-content:center;
}
.step-ill01 img{
width:100%;
}

.step-ill02{
width:100%;
max-width:450px;
display:flex;
align-items:center;
justify-content:center;
}
.step-ill02 img{
width:100%;
max-width:400px;
}



/* CULTURE / EMPLOYEE BENEFITS */

.walfare{
margin-bottom:6vw;
}

.walfare dt{
width:100%;
font-size:4.5vw;
display:flex;
align-items:center;
height:16vw;
border-radius:2vw;
border:2px solid #6f727c;
padding-left:16vw;
position:relative;
font-weight:bold;
cursor:pointer;
}

.walfare dt span.dtsub{
display:inline-block;
margin-left:1em;
font-size:3.5vw;
}

.walfare dt span.pm{
width:6vw;
height:6vw;
position:absolute;
top:5vw;
right:4vw;
}
.walfare dt span.minus{
width:6vw;
height:6vw;
position:absolute;
top:5vw;
right:4vw;
}
.walfare dt span.pm::before{
content:'';
width:6vw;
height:1vw;
background:#ff931e;
position:absolute;
top:50%;
left:0;
margin-top:-.5vw;
transition:all .2s;
}
.walfare dt span.pm::after{
content:'';
width:1vw;
height:6vw;
background:#ff931e;
position:absolute;
top:0;
left:50%;
margin-left:-.5vw;
transition:all .2s;
}
.walfare dt.open span.pm::before{
transform:rotate(90deg);
opacity:0;
}
.walfare dt.open span.pm::after{
transform:rotate(90deg);
}
.walfare dt span.minus::before{
content:'';
width:6vw;
height:1vw;
background:#bfcad2;
position:absolute;
top:50%;
left:0;
margin-top:-.5vw;
}
.walfare dt span.minus::after{
content:'';
width:1vw;
height:6vw;
background:#bfcad2;
position:absolute;
top:0;
left:50%;
margin-left:-.5vw;
}


.walfare dt span.wf-num{
width: 8vw;
height: 8vw;
line-height: 8vw;
text-align: center;
font-weight: 700;
font-size: 0.7em;
color: #fff;
background: #ff931e;
border-radius: 50%;
position:absolute;
left: 4.5vw;
top: 3.5vw;
}



.walfare dt.no-child{
cursor:default;
}

.walfare dd{
display: none;
background:#e5e6e7;
border-radius:3vw;
padding:6vw;
}

.walfare dd p{
font-size:4vw;
line-height:1.5;
font-weight:bold;
}
.walfare dd p span{
display:block;
font-size:3.5vw;
}


.rent-sample{
width:100%;
background:#fff;
padding:4vw 0;
text-align:center;
margin:4vw 0;
}

.rent-md{
font-size:5vw;
font-weight:bold;
line-height:1;
}
.rent-md span{
font-size:8vw;
color:#ff931e;
font-family:'Oswald';
margin:0 1vw;
position:relative;
bottom:-1vw;
}

.rent-dtl{
font-size:4vw;
font-weight:bold;
margin:3vw 0 0;
}
.rent-dtl span{
color:#ff931e;
font-family:'Oswald';
margin:0 .5vw;
}


.wal-img-full{
width:100%;
margin:0 auto 4vw;
}

.wal-col{
display:flex;
flex-wrap:wrap;
gap:6vw 0;
}

.wal-colL1{
width:100%;
display:flex;
align-items:center;
}
.wal-colL2{
width:100%;
display:flex;
flex-direction:column;
align-items:center;
background:#fff;
padding:4vw 10vw;
justify-content:center;
}
.wal-colL3{
width:100%;
}
.wal-colR1{
width:100%;
display:flex;
align-items:center;
flex-direction:column;
justify-content:center;
background:#fff;
padding:8vw 0;
}
.wal-colR2{
width:100%;
}
.wal-colR3{
width:100%;
display:flex;
align-items:center;
justify-content:center;
padding:0;
}
.holiday{
font-size:5vw;
padding-bottom:12vw;
position:relative;
}
.holiday span{
font-family:'Oswald';
margin:0 .5rem;
}
.holiday::after{
content:'↓';
position:absolute;
bottom:2vw;
left:50%;
transform:translate(-50%, 0);
}

.holiday-btn{
display:inline-block;
padding:0 6vw 3vw;
border:1px solid #6b737d;
font-size:7vw;
line-height:1;
font-weight:bold;
border-radius:3vw;
}
.holiday-btn span.org{
color:#ff931e;
}
.holiday-btn span.l-oswald{
font-family:'Oswald';
font-size:10vw;
position:relative;
bottom:-1vw;
margin:0 .5vw;
}



.wal-list{
font-size:4vw;
line-height:1.75;
}
.wal-list li{
padding-left:1.2em;
position:relative;
}
.wal-list li::before{
content:'・';
position:absolute;
top:0;
left:1.2vw;
}

.wal-ill{
width:100%;
margin:0 auto 3vw;
}

.wal-cap{
text-align:right;
font-size:3.5vw;
line-height:1.75;
margin-top:2vw;
}


.qua-list{
font-size:4vw;
line-height:1.35;
margin:4vw 0 0;
display:flex;
gap:2vw;
flex-wrap:wrap;
}
.qua-list li{
width:calc(50% - 1vw);
padding-left:1.1em;
position:relative;
}
.qua-list li::before{
content:'';
width:3vw;
height:3vw;
background:#ff931e;
border-radius:50%;
position:absolute;
top:1.3vw;
left:0;
}



/* WORK & PEOPLE */

.people-list{
width:92vw;
display:flex;
flex-wrap:wrap;
gap:4vw;
}
.people-list li{
width:44vw;
position:relative;
}
.people-list li a{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
z-index:2;
}
.pp-photo{
margin:0 0 4vw;
}
.pp-photo img{
transition:all .2s;
}
.pp-ttl{
font-size:4.5vw;
line-height:1;
margin:0 0 4vw;
}
.pp-ttl span{
font-family:'Oswald';
font-size:6.5vw;
margin:0 3vw 0 0;
position:relative;
bottom:-0.75vw;
}
.pp-dtl{
font-size:3vw;
line-height:1.2;
}



/* WORK & PEOPLE PAGE */

.wnp-head{
width:98vw;
height:49vw;
position:relative;
margin-bottom:20vw;
right:0;
}

.wnp01{
background:url(/img/wnp-head-pp01.webp) no-repeat left top;
background-size:cover;
}
.wnp02{
background:url(/img/wnp-head-pp02.webp) no-repeat left top;
background-size:cover;
}
.wnp03{
background:url(/img/wnp-head-pp03.webp) no-repeat left top;
background-size:cover;
}
.wnp04{
background:url(/img/wnp-head-pp04.webp) no-repeat left top;
background-size:cover;
}
.wnp05{
background:url(/img/wnp-head-pp05.webp) no-repeat left top;
background-size:cover;
}
.wnp06{
background:url(/img/wnp-head-pp06.webp) no-repeat left top;
background-size:cover;
}
.wnp07{
background:url(/img/wnp-head-pp07.webp) no-repeat left top;
background-size:cover;
}
.wnp08{
background:url(/img/wnp-head-pp08.webp) no-repeat left top;
background-size:cover;
}

.wnp-ttl-num{
width:14vw;
height:16vw;
border-radius:2vw 2vw 0 0;
background:#fff;
position:absolute;
bottom:-4vw;
left:5vw;
display:flex;
align-items:center;
justify-content:center;
font-size:10vw;
line-height:1;
font-weight:500;
font-family:'Oswald';
}
.wnp-ttl{
width:55vw;
height:16vw;
border-radius:2vw 2vw 0 0;
padding:4vw 4vw 0;
position:absolute;
bottom:-4vw;
left:21vw;
background:#fff;
}
.wnp-ttl h1{
font-size:5vw;
line-height:1.2;
margin-bottom:2vw;
}
.wnp-prof{
font-size:3vw;
line-height:1.2;
}



.ints dt{
font-size:4vw;
line-height:1.35;
font-weight:bold;
padding-left:1.2em;
position:relative;
margin-bottom:4vw;
}
.ints dt::before{
content:'';
width:3vw;
height:3vw;
border:2px solid #ff931e;
position:absolute;
top:.7vw;
left:0;
}
.ints dt span.org{
color:#ff931e;
}
.ints dd{
font-size:3.5vw;
line-height:1.35;
margin-bottom:6vw;
}




.wnp-col{
display:flex;
flex-wrap:wrap;
gap:6vw 0;
margin:6vw 0;
}

.wnp-col-pp1{
display:flex;
flex-wrap:wrap;
gap:6vw 0;
}

.wnp-colL1,
.wnp-colL2{
position:relative;
}
.wnp-colR1,
.wnp-colR2{
position:relative;
}
.wnp-layer1{
width:65vw;
}
.wnp-layer1 img {
width: 100%;
display: block;
position:relative;
left:-4vw;
}
.wnp-layer2{
}
.wnp-layer2 img {
width: 100%;
display: block;
}
.wnp-colR2 img{
width:65vw;
margin:0 0 6vw 32vw;
position:relative;
right:0;
}
.wnp-colL1 img{
width:65vw;
position:relative;
left:-4vw;
}


/* RECRUITMENT */

.rec-ttl{
font-size:6vw;
line-height:1;
margin:0 0 6vw;
font-weight:500;
display:flex;
align-items:center;
}
.rec-ttl span.org{
color:#ff931e;
}
.rec-sub-ttl{
font-size:4.5vw;
}

.recruit section{
margin-bottom:10vw;
}

.job-type{
display:flex;
gap:2vw;
flex-wrap:wrap;
margin:0 0 8vw;;
}
.job-type li a{
width:45vw;
height:12vw;
background:#6e737d;
border-radius:3vw;
color:#fff;
display:flex;
align-items:center;
position:relative;
font-size:4vw;
text-align:left;
padding:0 0 0 10vw;
transition:all .2s;
}
.job-type li a::before{
content:'→';
position:absolute;
left:4vw;
top:50%;
margin-top:-3.5vw;
transform:rotate(45deg);
}


.wf-btn a{
width:100%;
height:12vw;
margin-bottom:6vw;
border-radius:3vw;
background:#fff;
color:#6e737d;
border:1px solid #6e737d;
padding:0 0 0 10vw;
position:relative;
display:flex;
align-items:center;
font-size:4vw;
text-align:left;
}

.wf-btn a::before{
content:'→';
position:absolute;
left:4vw;
top:50%;
margin-top:-3.5vw;
transform:rotate(45deg);
color:#ff931e;
}


.recT{
width:100%;
border:1px solid #b3b3b3;
font-size:3.5vw;
line-height:1.75;
}

.recT thead th{
background:#ff931e;
color:#fff;
}


.recT th{
background:#6e737d;
color:#fff;
font-size:3.5vw;
text-align:left;
font-weight:500;
padding:2vw;
border:1px solid #b3b3b3;
white-space:nowrap;
}
.recT td{
padding:2vw;
border:1px solid #b3b3b3;
}



.rec-target dt{
width:5em;
font-size:3.5vw;
line-height:1.5;
}
.rec-target dd{
margin-left:5em;
margin-top:-5.25vw;
}

.rec-list li{
padding-left:1.2em;
position:relative;
}
.rec-list li::before{
content:'●';
color:#ff931e;
position:absolute;
top:0;
left:0;
}
.rec-saraly{
display:flex;
gap:0 4vw;
margin:0 0 8vw;
}


.twrap{
overflow:auto;
}


.rec-subT{
width:100%;
border:1px solid #b3b3b3;
font-size:3vw !important;
line-height:1.35 !important;
}
.rec-subT thead th,
.rec-subT tbody th{
background:#6e737d;
text-align:center !important;
padding:2vw !important;
font-size:3vw !important;
line-height:1.35 !important;
}
.rec-subT thead td{
background:#d2e6f0;
border:1px solid #b3b3b3;
padding:2vw !important;
text-align:center !important;
}
.rec-subT tbody td{
border:1px solid #b3b3b3;
padding:2vw !important;
text-align:center !important;
}
.rec-subT tbody td.md{
background:#fff0dc;
}

.recT td span.org{
color:#ff931e;
}
.kyuyo dt{
width:6em;
}
.kyuyo dd{
margin-left:6em;
margin-top:-6.125vw;
}



h3.wf-ttl{
font-size:2.25rem;
line-height:1.5;
margin-bottom:2rem;
}
h3.wf-ttl span.org{
color:#ff931e;
}

.wf-list{
font-size:1.125rem;
line-height:1.5;
border-top:1px solid #b3b3b3;
}
.wf-list li{
border-bottom:1px solid #b3b3b3;
padding:1rem 2.5rem;
}
.wf-list li span.org{
color:#ff931e;
}




/* MOVIE */

.page-lead{
margin-bottom:10vw;
font-size:3.5vw;
line-height:1.75;
}

.mov-archive{
display:flex;
flex-wrap:wrap;
gap:6vw 0;
margin:0 auto 8vw;
}
.mov-archive li{
width:100%;
}

.movie{
position: relative;
height: 0;
padding: 0 0 56.25%;
overflow: hidden;
}
.movie iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

.mov-ttl{
font-size:3.5vw;
line-height:1.35;
margin-top:3vw;
}

.mov-desc{
font-size:3.5vw;
line-height:1.75;
text-align:center;
margin:0 0 7vw;
}



/*------------------------------------------------------------
SIDE
------------------------------------------------------------*/


/*------------------------------------------------------------
	CATEGORY ARCHIVE
------------------------------------------------------------*/
/* WHAT'S NEW */

.archive{
border-top:1px solid #6e737d;
}
.archive li{
display:flex;
position:relative;
padding:3vw 1.5vw;
font-size:3.5vw;
line-height:1.5;
gap: 0 4vw;
border-bottom:1px solid #6e737d;
}
.archive li a{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
z-index:2;
}

.arc-date{
width:20vw;
}
.arc-title{
width:calc(100% - 20vw);
}


/*------------------------------------------------------------
SINGLE
------------------------------------------------------------*/

/*------------------------------------------------------------
FOOTER
------------------------------------------------------------*/

footer{
background:#f1f1f1;
}
.footer-inner{
width:90vw;
margin:0 auto;
padding:10vw 0 16vw;
}

.footer-logo{
width:20vw;
margin:0 auto 10vw;
}

.footer-menu{
display:flex;
flex-direction:column;
gap:6vw 0;
}

.fmenu01{
}
.fmenu-ttl{
font-family:'Oswald';
font-weight:500;
font-size:5vw;
line-height:1.4;
margin-bottom:6vw;
}
.fmenu-ttl span{
display:block;
font-size:3.5vw;
line-height:1.75;
}
.fmenu-ttl a,
.fmenu-ttl02 a{
color:#6e737d;
}

.fmenu-ttl.last{
margin-bottom:0;
}

.fmenu02{
}
.fmenu-ttl02{
font-family:'Oswald';
font-weight:500;
font-size:5vw;
line-height:1.4;
margin-bottom:3vw;
}
.fmenu-ttl02 span{
display:block;
font-size:3.5vw;
line-height:1.75;
}

.fmenu-sub01{
display:flex;
flex-wrap:wrap;
justify-content:space-beteen;
}
.fmenu-sub01 li{
font-size:3vw;
line-height:1.75;
white-space:nowrap;
}
.fmenu-sub01 li::before{
content:'-';
margin-right:1vw;
}

.fmenu-sub01 li:nth-child(1),
.fmenu-sub01 li:nth-child(4),
.fmenu-sub01 li:nth-child(7){ width:30%; }
.fmenu-sub01 li:nth-child(2),
.fmenu-sub01 li:nth-child(5),
.fmenu-sub01 li:nth-child(8){ width:40%; }
.fmenu-sub01 li:nth-child(3n){ width:30%; }

.fmenu03,
.fmenu04,
.fmenu05{
}


.fmenu-sub02{
}
.fmenu-sub02 li{
font-size:3vw;
line-height:1.75;
white-space:nowrap;
}
.fmenu-sub02 li::before{
content:'-';
margin-right:1vw;
}

.fmenu-sub01 li a,
.fmenu-sub02 li a{
color:#6e737d;
}

.copy{
font-size:2.5vw;
line-height:7.5vw;
text-align:center;
}




