/*------------------------------------------------------------
	FOR PC LAYOUT CSS
------------------------------------------------------------*/
@media screen and (min-width:768px){

/*------------------------------------------------------------
	BODY BASIC
------------------------------------------------------------*/
body{
color:#6e737d;
font-size:1.125rem;
line-height:1.75;
font-feature-settings:'palt';
width:100%;
overflow:hidden;
}




/*------------------------------------------------------------
	RESPONSIVE
------------------------------------------------------------*/
.pconly{ display:block; }
.sponly{ display:none; }


/*------------------------------------------------------------
	HEADER
------------------------------------------------------------*/
header{
width:100%;
height:auto;
position:absolute;
top:0;
left:0;
}
.header-wrap{
width:94.8%;
margin:0 auto;
display:flex;
padding:50px 0;
justify-content:space-between;
align-items:center;
transition:all .2s;
}

body.is-fixed header{
position:fixed;
}
body.is-fixed .header-wrap{
padding:25px 0;
}


.site-logo{
width:234px;
height:65px;
}

.head-nav{
display:flex;
width:220px;
justify-content:space-between;
}
.head-nav li:nth-child(1) a{
width:130px;
height:65px;
display:flex;
text-align:center;
justify-content:center;
align-items:center;
font-size:20px;
font-family:'Oswald';
font-weight:500;
color:#fff;
background:#ff931e;
border:2px solid #ff931e;
border-radius:1rem;
position:relative;
transition:all .2s;
}
.head-nav li:nth-child(1) a:hover{
border:2px solid #ff931e;
background:#fff;
color:#ff931e;
}

.head-nav li:nth-child(2) button{
width:65px;
height:65px;
display:flex;
text-align:center;
justify-content:center;
align-items:center;
font-size:20px;
font-family:'Oswald';
font-weight:500;
color:#fff;
background:#6e737d;
border-radius:16px;
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:.75rem;
}

#menubox{
position:absolute;
top:165px;
right:2.6%;
width:260px;
height:460px;
padding:44px 4px 44px 24px;
border-radius:25px;
background:#fff;
border:1px solid #6e737d;
}

.menu-inner{
height:372px;
overflow:auto;
}

.menu-ttl{
font-size:.875rem;
line-height:2.25rem;
font-family:'Oswald';
font-weight:500;
margin-left:1.5rem;
}

.menu li{
font-size:1.3rem;
line-height:2.625rem;
font-family:'Oswald';
font-weight:500;
}
.menu li a{
color:#6e737d;
}
.menu li::before{
content:'→';
transform:rotate(45deg);
margin-right:.3rem;
color:#ff931e;
display:inline-block;
}
.menu li a:hover{
color:#ff931e;
}

.acc-menu{
}
.acc-menu dt{
font-size:1.3rem;
line-height:2.625rem;
font-family:'Oswald';
font-weight:500;
color:#6e737d;
position:relative;
cursor:pointer;
}
.acc-menu dt::before{
content:'→';
transform:rotate(45deg);
margin-right:.3rem;
color:#ff931e;
display:inline-block;
}
.acc-menu dt span{
width:1rem;
height:1rem;
position:absolute;
top:.8125rem;
left:8.5em;
}

.acc-menu dt span::before{
content:'';
width:1rem;
height:2px;
background:#ff931e;
position:absolute;
top:calc(50% - 1px);
left:0;
transition:all .2s;
}
.acc-menu dt span::after{
content:'';
width:2px;
height:1rem;
background:#ff931e;
position:absolute;
top:0;
left:calc(50% - 1px);
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.5em;
}
.menu-sub li{
font-size:.875rem;
line-height:2;
}
.menu-sub li a{
color:#6e737d;
}
.menu-sub li a:hover{
color:#ff931e;
}



/*------------------------------------------------------------
	TOPPAGE
------------------------------------------------------------*/
#container{
width:100%;
padding:165px 0 0;
}
#kv{
width:calc(100% - 5.2%);
margin:0 0 0 5.2%;
border-radius:0;
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:83.33%;
padding:4.69vw 0 11.25vw;
margin:0 auto;
}

.i1-ttl{
font-family:'Oswald';
font-weight:500;
font-size:3.75rem;
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:50px;
}
.feed-date{
width:160px;
padding:0 16px;
}
.feed-ttl{
width:calc(100% - 160px);
}
.feed-ttl a{
color:#6e737d;
}
.feed-ttl a:hover{
text-decoration:underline;
}

#index2{
}
.i2-wrap{
width:83.33%;
padding:0 0 11.98vw;
margin:0 auto;
position:relative;
}

.i2-ttl-en{
width:900px;
height:62px;
margin-bottom:65px;
}
#index2 h2{
font-size:4.735rem;
line-height:1;
font-weight:bold;
margin-bottom:3.25rem;
}


.i2-lead{
font-size:2.25rem;
line-height:1.53;
font-weight:500;
}
.i2-lead p{
margin-bottom:1rem;
}
.i2-lead p:last-child{
margin:0;
}

.i2-ill{
position:absolute;
top:-150px;
left:50%;
margin-left:267px;
width:684px;
height:435px;
background:url(/img/ill01.png) no-repeat;
background-size:684px;
z-index:2;
}


#index3{
}
.i3-wrap{
width:83.33%;
padding:0 0 12.29vw;
position:relative;
margin:0 auto;
}
#index3 h2{
font-size:clamp(8.5rem, 12.5vw, 9.375rem);
line-height:1;
margin-bottom:2.2rem;
font-family:'Oswald';
font-weight:500;
}
#index3 h2 span.org{
color:#ff931e;
}

#index3 h2 span.sub-ja{
font-size:clamp(3.2rem,5vw,3.75rem);
line-height:1.6;
display:block;
font-family:'Noto Sans JP';
font-weight:500;
}

.i3-desc{
margin-bottom:2.625rem;
font-weight:500;
}


.b-menu{
width:100%;
margin:0 auto;
display:flex;
justify-content:space-between;
}
.b-menu li{
width:25.000vw;
font-size:clamp(1.4rem, 1.667vw, 2rem);
text-align:center;
line-height:1;
position:relative;
margin:0;
transition:all .2s;
}
.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:25.000vw;
height:15.625vw;
transition:all .2s;
}

.b-menu li:nth-child(1) .b-menu-panel{
background:url(/img/menu01.png) no-repeat;
background-size:25vw;
width:25vw;
border-radius:2vw;
overflow:hidden;
transition:all .5s;
}
.b-menu li:nth-child(2) .b-menu-panel{
background:url(/img/menu02.png) no-repeat;
background-size:25vw;
width:25vw;
border-radius:2vw;
overflow:hidden;
}
.b-menu li:nth-child(3) .b-menu-panel{
background:url(/img/menu03.png) no-repeat;
background-size:25vw;
width:25vw;
border-radius:2vw;
overflow:hidden;
}

.b-menu li:nth-child(1) .b-menu-ttl{
width:19.271vw;
height:4.500vw;
position:absolute;
bottom:1.458vw;
left:50%;
transform:translate(-50%, 0);
z-index:2;
}

.b-menu li:nth-child(2) .b-menu-ttl{
width:17.292vw;
height:4.323vw;
position:absolute;
bottom:1.458vw;
left:50%;
transform:translate(-50%, 0);
z-index:2;
}

.b-menu li:nth-child(3) .b-menu-ttl{
width:18.594vw;
height:9.271vw;
position:absolute;
bottom:1.458vw;
left:50%;
transform:translate(-50%, 0);
z-index:2;
}

.b-menu-link{
margin-top:1.45rem;
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;
}

.b-menu li:nth-child(1) .b-menu-panel::after{
content:'';
width:100%;
height:100%;
background:rgba(217,224,33);
mix-blend-mode:multiply;
z-index:1;
opacity:0;
display:block;
transition:all .2s;
}
.b-menu li:nth-child(2) .b-menu-panel::after{
content:'';
width:100%;
height:100%;
background:rgba(255,147,30);
mix-blend-mode:multiply;
z-index:1;
opacity:0;
display:block;
transition:all .2s;
}
.b-menu li:nth-child(3) .b-menu-panel::after{
content:'';
width:100%;
height:100%;
background:rgba(80,146,225);
mix-blend-mode:multiply;
z-index:1;
opacity:0;
display:block;
transition:all .2s;
}
.b-menu li:hover:nth-child(1) .b-menu-panel::after,
.b-menu li:hover:nth-child(2) .b-menu-panel::after,
.b-menu li:hover:nth-child(3) .b-menu-panel::after{
opacity:1;
}

#index4{
position:relative;
margin:0 auto;
}

.i4-ill{
width:596px;
height:490px;
background:url(/img/ill02.png) no-repeat;
background-size:596px;
position:absolute;
top:-57px;
left:50%;
margin-left:336px;
}


#index4 h2{
width:83.33%;
font-size:clamp(7.5rem, 12.5vw, 9.375rem);
line-height:1;
margin:0 auto 2.2rem;
position:relative;
font-family:'Oswald';
font-weight:500;
}


#index4 h2 span.org{
color:#ff931e;
}

#index4 h2 span.sub-ja{
font-size:clamp(3.2rem,5vw,3.75rem);
line-height:1;
display:inline-block;
font-family:'Noto Sans JP';
font-weight:500;
position:relative;
top:-2.5rem;
}

.i4-link{
font-size:2rem;
line-height:1;
display:inline-block;
font-weight:500;
position:relative;
top:-2.7rem;
left:1.5rem;
}
.i4-link a{
color:#6e737d;
}
.i4-link::after{
content:'→';
transform:rotate(-45deg);
margin-left:.5rem;
display:inline-block;
color:#ff931e;
}
.i4-link a:hover{
color:#ff931e;
}

.i4-visual{
width:100%;
height:622px;
overflow:hidden;
margin:0 0 16.15vw;
}


.i4-visual{
width:100%;
overflow: hidden;
white-space: nowrap;
margin:0 0 16.15vw;
}
.i4-v-inner {
  display: flex;
  width: fit-content;
  animation: scroll-left 50s linear infinite;
}

.i4-visual img{
width:auto;
height:622px;
max-width: none;
display: block;
flex-shrink: 0;
margin-right:20px;
}


#index5{
}
.i5-ttl{
width:100%;
height:850px;
background:url(/img/cta-bg.webp) no-repeat center top;
background-size:2000px;
position:relative;
}

.i5-ttl-area{
background:rgba(255,255,255,.9);
width:100%;
height:12.5rem;
position:absolute;
bottom:0;
left:50%;
transform:translate(-50%, 0);
display:flex;
align-items:center;
}
#index5 h2{
width:83.33%;
font-size:clamp(8.5rem, 12.5vw, 9.375rem);
line-height:1;
margin:0 auto;
position:relative;
font-family:'Oswald';
font-weight:500;
white-space:nowrap;
}


#index5 h2 span.org{
color:#ff931e;
}
#index5 h2 span.i5-sub-ja{
font-size:clamp(3.2rem,5vw,3.75rem);
font-weight:500;
display:inline-block;
margin-left:1em;
position:relative;
top:-2.15rem;
font-family:'Noto Sans JP';
}

.i5-wrap{
width:83.33%;
margin:2.86vw auto 8.33vw;
}
.i5-desc{
font-size:1.125rem;
line-height:2;
margin-bottom:1em;
font-weight:500;
}
.i5-menu {
  width:100%;
  max-width:1340px;
  margin:0 auto 8.33vw;
  display:flex;
  flex-wrap:wrap;
  gap:3rem;
}

.i5-menu li{
  flex:1 1 calc(50% - 3rem);
  display:flex;
  align-items:center;
  position:relative;
  gap:2rem;
  min-width:300px;
}

.i5-menu li a{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  z-index:10;
}

/* アイコン周り */
.i5-menu-thumb {
  width:70%;
  max-width:436px;
  aspect-ratio:1/1;
  position:relative;
  padding:5%;
  overflow:visible;
  flex-shrink:0;
}

.i5-menu-icon {
  width:100%;
  height:100%;
  background:#fff;
  border:2px solid #ff931e;
  border-radius:50%;
  transition:all .2s;
  transform-origin:center;
}

.i5-menu li:hover .i5-menu-icon{
  background:#f2f2f2;
  transform:scale(1.2);
}

/* テキスト側 */
.i5-menu-link {
  font-size:clamp(1.2rem, 1.4vw, 2rem);
  font-weight:500;
  color:#6e737d;
  display:flex;
  align-items:center;
  margin:0;
  white-space:nowrap;
}

.i5-menu-link::after{
  content:'→';
  transform:rotate(-45deg);
  margin-left:.5rem;
  color:#ff931e;
}

.i5-menu li:hover .i5-menu-link{
  color:#ff931e;
}


#cta{
width:100%;
margin:0 0 10rem;
}
.cta-wrap{
width:83%;
margin-left:17%;
border-top:3px solid #696e7d;
border-left:3px solid #696e7d;
border-bottom:3px solid #696e7d;
border-radius:3rem 0 0 3rem;
padding:4.25rem 0 2.6rem 4.25rem;
position:relative;
}

.cta-ill{
width:708px;
height:362px;
background:url(/img/rec-ill.png) no-repeat;
background-size:708px;
position:absolute;
left:740px;
bottom:0;
}

.cta-ttl{
font-size:6.875rem;
font-family:'Oswald';
font-weight:500;
color:#696e7d;
line-height:1;
margin-bottom:2rem;
}
.cta-ttl span{
color:#ff931e;
}
.cta-ttl-ja{
font-size:2.625rem;
line-height:1;
font-weight:500;
margin-bottom:2rem;
}

.cta-btns{
width:600px;
display:flex;
justify-content:space-between;
align-items:center;
}
.cta-btns li a{
width:280px;
height:160px;
font-size:2rem;
color:#fff;
font-weight:500;
text-align:center;
background:#ff931e;
border:2px solid #ff931e;
border-radius:32px;
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;
}
.cta-btns li a:hover{
background:#fff0dc;
color:#ff931e;
}


#entry{
width:100%;
height:250px;
background:#b6b9be;
display:flex;
align-items:center;
transition:all .2s;
position:relative;
margin-bottom:10rem;
}

#entry:hover{
background:#6e737d;
}

#entry a{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
z-index:2;
}

.entry-ttl{
width:66%;
margin:0 auto;
}
.entry-ttl img{
width:746px;
}

.entry-ill{
width:243px;
height:312px;
background:url(/img/ill-entry.png) no-repeat;
background-size:243px;
position:absolute;
top:-62px;
left:50%;
margin-left:400px;
}


/*------------------------------------------------------------
	PAGE
------------------------------------------------------------*/
#page{
padding:60px 0 160px;
}
.page-col{
display: grid;
grid-template-columns: 165px minmax(0, 1fr);
width:auto;
max-width: 1600px; /* 実質：165 + 1200 + 余白 */
margin: 0 auto;
padding:0 24px;
gap:24px;
}


article.busi-cont{
max-width:1200px;
width:100%;
margin:0 auto;
}

#page h1.page-ttl{
font-size:clamp(4.5rem, 6vw, 6.25rem);
line-height:1;
margin-bottom:clamp(3.5rem, 4vw, 6.25rem);
font-family:'Oswald';
font-weight:500;
}
#page h1.page-ttl span.org{
color:#ff931e;
}
#page h1 span.sub-ja{
font-size:clamp(1.75rem,3vw,2.125rem);
line-height:1.6;
display:block;
font-family:'Noto Sans JP';
font-weight:500;
}

.busi-hero{
margin-bottom:clamp(3.5rem, 4vw, 6.25rem);
}

/* BUSINESS / DATA */

.data-num{
width:125px;
height:125px;
background:#f08d28;
display:flex;
justify-content:center;
align-items:center;
flex-direction:column;
color:#fff;
font-size:3rem;
font-weight:bold;
line-height:1;
position:absolute;
top:-30px;
left:0;
border-radius:1.5rem;
font-family:'Oswald';
}
.data-num span{
font-size:1.3125rem;
line-height:1.55;
}



.data01{
width:100%;
background:#e5e6e7;
border-radius:30px;
position:relative;
padding:32px;
display:flex;
flex-wrap:nowrap;
gap:0 64px;
margin:0 0 clamp(2rem, 3vw, 4.375rem);
}

.data-ill01{
display:flex;
align-items:center;
max-width:466px;
width:100%;
}

.data-txt01{
width:564px;
color:#6e737d;
}
.data01-lead{
font-size:1.75rem;
line-height:1.357;
}
.data-01-cont{
margin:1rem 0 0;
font-size:1.125rem;
line-height:1.44;
}

.data02-05wrap{
display:flex;
flex-wrap:wrap;
justify-content:space-between;
gap:clamp(2rem, 3vw, 4.375rem);
margin:0 0 clamp(2rem, 3.8vw, 5.375rem);
}
.data0205{
background:#e5e6e7;
max-width:584px;
width:calc((100% - clamp(2rem, 3vw, 4.375rem)) / 2);
height:350px;
border-radius:30px;
position:relative;
display:flex;
justify-content:center;
align-items:center;
padding:0 40px 0 78px;
}

.data06{
background:#e5e6e7;
width:100%;
padding:50px 0 30px;
position:relative;
}

.data-cap{
position:absolute;
bottom:2rem;
right:2rem;
font-size:1rem;
}


.data06-ttl-area{
display: grid;
grid-template-columns: 165px minmax(0, 1fr);
max-width: 1600px; /* 実質：165 + 1200 + 余白 */
margin: 0 auto;
padding:0 24px;
gap:24px;
}


.data06-ttl{
max-width:1200px;
width:100%;
margin:0 auto;
position:relative;
}

.data06-ttl-md{
font-size:1.75rem;
margin-left:200px;
}



.data-num06{
width:125px;
height:125px;
background:#f08d28;
display:flex;
justify-content:center;
align-items:center;
flex-direction:column;
color:#fff;
font-size:3rem;
font-weight:bold;
line-height:1;
position:absolute;
top:-90px;
left:0;
margin-right:600px;
border-radius:1.5rem;
font-family:'Oswald';
}
.data-num06 span{
font-size:1.3125rem;
line-height:1.55;
}

.dammy-side{
width:165px;
}

/* BUSINESS / HISTORY */

h2.busi-his-cc{
font-size:clamp(2.5rem, 4vw, 3.75rem);
line-height:1;
margin:0 0 3rem;
}
.busi-his-lead{
font-size:1.125rem;
line-height:1.45;
margin:0 0 3rem;
}

section.history{
margin:0 0 5.375rem;
}

h3.his-md01{
font-size:2.625rem;
line-height:1;
padding:0 0 1rem;
border-bottom:1px solid #006536;
color:#006536;
font-family:'Noto Serif JP';
font-weight:700;
margin:0 0 2rem;
}
h3.his-md02{
font-size:2.625rem;
line-height:1;
padding:0 0 1rem;
border-bottom:1px solid #335a88;
color:#335a88;
font-family:'Noto Serif JP';
font-weight:700;
margin:0 0 2rem;
}
h3.his-md03{
font-size:2.625rem;
line-height:1;
padding:0 0 1rem;
border-bottom:1px solid #ae511f;
color:#ae511f;
font-family:'Noto Serif JP';
font-weight:700;
margin:0 0 2rem;
}
h3.his-md04{
font-size:2.625rem;
line-height:1;
padding:0 0 1rem;
border-bottom:1px solid #6486de;
color:#6486de;
font-family:'Noto Serif JP';
font-weight:700;
margin:0 0 2rem;
}

.his-col{
display:flex;
flex-wrap:nowrap;
gap:0 1.5rem;
}
.his-list01,
.his-list02,
.his-list03,
.his-list04{
width:100%;
max-width:600px;
}
.his-list01 li,
.his-list02 li,
.his-list03 li,
.his-list04 li{
display:flex;
gap:0 1em;
font-size:1.125rem;
line-height:1.5;
margin:0 0 1.125rem;
}
.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{
max-width:580px;
width:100%;
}

.his-ps{
width:100%;
max-width:580px;
}

.his-ps01{
display:flex;
gap:0 15px;
margin:0 0 1rem;
}

.his-pcap{
font-size:1rem;
line-height:1.625;
margin:.5rem 0 0;
}

.his-ps02{
display:flex;
gap:0 20px;
}
.his-ps02 li:nth-child(1){
width:100%;
max-width:400px;
}
.his-ps02 li{
display:flex;
align-items:center;
font-size:1rem;
line-height:1.625;
}

.his-ps-col{
display:flex;
gap:0 20px;
}

.his-ps03{
width:100%;
max-width:400px;
display:flex;
flex-direction:column;
flex-wrap:wrap;
gap:1rem 0;
}
.his-ps04{
width:178px;
padding-top:10px;
}
.his-ps05{
display:flex;
gap:0 20px;
margin:0 0 2rem;
}
.his-ps05 li{
display:flex;
align-items:center;
}
.his-ps05 li:nth-child(1){
width:362px;
}
.his-ps07{
display:flex;
flex-direction:column;
gap:1rem 0;
}
.his-ps07 li:nth-child(3){
width:144px;
}

.last{
margin-bottom:0 !important;
}

/* BUSINESS / TOP MESSAGE */

.ceo{
display:flex;
position:relative;
padding-bottom:200px;
gap:0 4rem;
}
.ceo-txt{
width:100%;
max-width:820px;
}

.ceo-ttl{
font-size:clamp(2.5rem, 4vw, 3.75rem);
line-height:1.25;
margin:0 0 3rem;
font-family:'Noto Serif JP',serif;
}
.ceo-message{
font-size:1.125rem;
line-height:1.45;
}
.ceo-message p{
margin-bottom:1.5em;
}

h3.ceo-md{
font-size:2.25rem;
line-height:1;
margin:4rem 0 2rem;
}

.ceo-name{
display:block;
text-align:left;
font-size:2.25rem;
line-height:1.75;
font-family:'Noto Serif JP';
font-weight:bold;
position:absolute;
top:50%;
right:130px;
transform:translate(0, -100%);
}
.ceo-name span{
display:block;
font-size:1.125rem;
line-height:1.35;
}

.ceo-img{
width:823px;
height:1235px;
background:url(/img/ceo.webp) no-repeat;
background-size:823px;
position:absolute;
top:50%;
right:-394px;
z-index:-1;
transform:translate(0, -50%);
}
.ceo-right{
width:100%;
max-width:316px;
}


/* CULTURE / HUMAN RESOURCE DEVELOPMENT */


h2.cul-cc{
font-size:clamp(2.5rem, 4vw, 3.75rem);
line-height:1.4;
margin:0 0 3rem;
}
h2.cul-cc span.org{
color:#ff931e;
}

.cul-lead{
font-size:1.125rem;
line-height:1.45;
margin:0 0 3rem;
}

.cul-step-img{
width:100%;
height:auto;
max-width:1200px;
aspect-ratio: 1200 / 1000;
position:relative;
margin:0 auto clamp(7rem, 10vw, 11.9rem);
}
.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 40px;
margin:0 0 clamp(5rem, 7.5vw, 7rem);
}
.step-bal{
width:180px;
height:180px;
min-width:180px;
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:3.44rem;
}
.step-bal span{
font-size:1.875rem;
position:relative;
bottom:-11px;
margin-right:4px;
}

.step-cont{
width:100%;
max-width:980px;
}
h3.step-md{
font-size:3rem;
line-height:1;
padding:0 0 1rem;
border-bottom:1px solid #ff931e;
margin-bottom:2rem;
}
h3.step-md span{
display:inline-block;
margin-left:1.5em;
font-size:1.75rem;
}

.step-col{
display:flex;
gap:0 30px;
}
.step-txt{
width:100%;
max-width:500px;
}
.step-img{
width:100%;
max-width:450px;
}
h4.step-item{
padding-left:1.2em;
position:relative;
font-size:1.5rem;
line-height:1.75;
margin-bottom:.5rem;
}
h4.step-item::before{
content:'';
width:1.25rem;
height:1.25rem;
background:#ff931e;
border-radius:50%;
position:absolute;
top:.6875rem;
left:0;
}
.step-list01{
display:flex;
flex-wrap:wrap;
font-size:1.125rem;
line-height:1.75;
margin-bottom:1rem;
}
.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:.86rem;
left:.3rem;
}

.step-list02{
margin-bottom:1rem;
}
.step-list02 li{
padding-left:1.2em;
position:relative;
font-size:1.5rem;
line-height:1.75;
}
.step-list02 li::before{
content:'';
width:1.25rem;
height:1.25rem;
background:#ff931e;
border-radius:50%;
position:absolute;
top:.6875rem;
left:0;
}

.step03lead{
font-size:1.5rem;
line-height:1.75;
}

.step03lead span{
display:block;
font-size:1.125rem;
}

.step-txt p{
margin-bottom:1rem;
}

.step-ill01{
width:100%;
max-width:450px;
display:flex;
align-items:center;
justify-content:center;
}
.step-ill01 img{
width:100%;
max-width:370px;
}

.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:clamp(2rem, 4vw, 3.75rem);
}

.walfare dt{
max-width:1200px;
width:100%;
font-size:3rem;
display:flex;
align-items:center;
height:120px;
border-radius:30px;
border:2px solid #6f727c;
padding-left:110px;
position:relative;
font-weight:bold;
cursor:pointer;
}

.walfare dt span.dtsub{
display:inline-block;
margin-left:2rem;
font-size:.7em;
}

.walfare dt span.pm{
width:50px;
height:50px;
position:absolute;
top:36px;
right:50px;
}
.walfare dt span.minus{
width:50px;
height:50px;
position:absolute;
top:36px;
right:50px;
}
.walfare dt span.pm::before{
content:'';
width:50px;
height:6px;
background:#ff931e;
position:absolute;
top:50%;
left:0;
margin-top:-3px;
transition:all .2s;
}
.walfare dt span.pm::after{
content:'';
width:6px;
height:50px;
background:#ff931e;
position:absolute;
top:0;
left:50%;
margin-left:-3px;
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:50px;
height:6px;
background:#bfcad2;
position:absolute;
top:50%;
left:0;
margin-top:-3px;
}
.walfare dt span.minus::after{
content:'';
width:6px;
height:50px;
background:#bfcad2;
position:absolute;
top:0;
left:50%;
margin-left:-3px;
}

.walfare dt span.wf-num {
position: absolute;
left: 50px;
top: 37px;
width: 46px;
height: 46px;
line-height: 46px;
text-align: center;
font-weight: 700;
font-size: 0.7em;
color: #fff;
background: #ff931e;
border-radius: 50%;
}


.walfare dt.no-child{
cursor:default;
}

.walfare dd{
display: none;
background:#e5e6e7;
border-radius:30px;
padding:50px;
}

.walfare dd p{
font-size:1.5rem;
line-height:1.5;
font-weight:bold;
}
.walfare dd p span{
font-size:1.125rem;
display:inline-block;
}

.rent-sample{
width:100%;
background:#fff;
padding:20px 0;
text-align:center;
margin:2rem 0;
}

.rent-md{
font-size:3rem;
font-weight:bold;
line-height:1;
}
.rent-md span{
font-size:4.5rem;
color:#ff931e;
font-family:'Oswald';
margin:0 .5rem;
position:relative;
bottom:-8px;
}

.rent-dtl{
font-size:1.5rem;
font-weight:bold;
margin:1rem 0 0;
}
.rent-dtl span{
color:#ff931e;
font-family:'Oswald';
margin:0 .3rem;
}

.wal-img-full{
width:100%;
margin:0 auto 2rem;
}

.wal-col{
display:flex;
flex-wrap:nowrap;
gap:0;
}
.wal-colL1{
width:550px;
display:flex;
align-items:center;
}
.wal-colL2{
width:550px;
display:flex;
flex-direction:column;
align-items:center;
background:#fff;
padding:0 3rem;
justify-content:center;
}
.wal-colL3{
width:500px;
}
.wal-colR1{
width:550px;
display:flex;
align-items:center;
flex-direction:column;
justify-content:center;
background:#fff;
padding:40px 0;
}
.wal-colR2{
width:550px;
}
.wal-colR3{
width:600px;
display:flex;
align-items:center;
justify-content:center;
padding:0 3rem;
}
.holiday{
font-size:2.25rem;
padding-bottom:4rem;
position:relative;
}
.holiday span{
font-family:'Oswald';
margin:0 .5rem;
}
.holiday::after{
content:'↓';
position:absolute;
bottom:.5rem;
left:50%;
transform:translate(-50%, 0);
}

.holiday-btn{
display:inline-block;
padding:0 2.5rem 1.3rem;
border:1px solid #6b737d;
font-size:3rem;
line-height:1;
font-weight:bold;
border-radius:1rem;
}
.holiday-btn span.org{
color:#ff931e;
}
.holiday-btn span.l-oswald{
font-family:'Oswald';
font-size:4.5rem;
position:relative;
bottom:-.7rem;
margin:0 .5rem;
}

.wal-list{
font-size:1.5rem;
line-height:1.75;
}
.wal-list li{
padding-left:1.2em;
position:relative;
}
.wal-list li::before{
content:'・';
position:absolute;
top:0;
left:.5rem;
}

.wal-ill{
width:307px;
margin:0 auto 1.5rem;
}

.wal-cap{
text-align:right;
font-size:1.125rem;
line-height:1.75;
margin-top:.5rem;
}


.qua-list{
font-size:1.5rem;
line-height:1.92;
margin:2rem 0 0;
display:flex;
gap:0 32px;
flex-wrap:wrap;
}
.qua-list li{
width:345px;
padding-left:1.2em;
position:relative;
}
.qua-list li::before{
content:'';
width:1.3125rem;
height:1.3125rem;
background:#ff931e;
border-radius:50%;
position:absolute;
top:.783rem;
left:0;
}


/* WORK & PEOPLE */

.people-list{
width:100%;
max-width:1200px;
display:flex;
flex-wrap:wrap;
gap:75px 5%;
}
.people-list li{
max-width:366px;
width:30%;
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 2rem;
}
.pp-photo img{
transition:all .2s;
}
.pp-ttl{
font-size:1.75rem;
line-height:1;
margin:0 0 1.5rem;
}
.pp-ttl span{
font-family:'Oswald';
font-size:3rem;
margin:0 1rem 0 0;
position:relative;
bottom:-0.5rem;
}
.pp-dtl{
font-size:1rem;
line-height:1.2;
}
.people-list li:hover .pp-photo img{
opacity:.8;
}

/* WORK & PEOPLE PAGE */

.wnp-head{
width:1600px;
height:800px;
position:relative;
margin-bottom:clamp(5rem, 8vw, 10rem);
}

.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:200px;
height:170px;
border-radius:40px 40px 0 0;
background:#fff;
position:absolute;
bottom:0;
left:200px;
display:flex;
align-items:center;
justify-content:center;
font-size:6.25rem;
line-height:1;
font-weight:500;
font-family:'Oswald';
}
.wnp-ttl{
width:440px;
height:170px;
border-radius:40px 40px 0 0;
padding:35px 35px 0;
position:absolute;
bottom:0;
left:400px;
background:#fff;
}
.wnp-ttl h1{
font-size:3rem;
line-height:1.2;
margin-bottom:.7rem;
}
.wnp-prof{
font-size:1rem;
line-height:1.2;
}

.ints dt{
font-size:1.9em;
line-height:1.2;
font-weight:bold;
padding-left:1.2em;
position:relative;
margin-bottom:2.5rem;
}
.ints dt::before{
content:'';
width:25px;
height:25px;
border:2px solid #ff931e;
position:absolute;
top:7px;
left:0;
}
.ints dt span.org{
color:#ff931e;
}
.ints dd{
font-size:1.5rem;
line-height:1.2;
margin-bottom:2.5rem;
}



.wnp-col{
display:flex;
gap:0 clamp(4rem, 6vw, 6.25rem);
margin:4.75rem 0;
}

.wnp-col-pp1{
height:850px;
display:flex;
gap:0 clamp(4rem, 6vw, 6.25rem);
margin:4.75rem 0;
}

.wnp-colL1,
.wnp-colL2{
width:550px;
position:relative;
}
.wnp-colR1,
.wnp-colR2{
width:550px;
position:relative;
}
.wnp-layer1{
position:absolute;
top:0;
right:0;
width:850px;
}
.wnp-layer1 img {
width: 100%;
display: block;
}
.wnp-layer2{
position:absolute;
top:0;
left:0;
width:850px;
}
.wnp-layer2 img {
width: 100%;
display: block;
}
.wnp-colR2 img{
width:100%;
margin:0;
position:relative;
right:0;
}
.wnp-colL1 img{
width:100%;
margin:0;
position:relative;
left:0;
}


/* RECRUITMENT */

.rec-ttl{
font-size:3.75rem;
line-height:3.75rem;
margin:0 0 3rem;
font-weight:500;
display:flex;
align-items:center;
}
.rec-ttl span.org{
color:#ff931e;
}
.rec-sub-ttl{
font-size:2.25rem;
}

.recT{
width:100%;
border:1px solid #b3b3b3;
font-size:1.125rem;
line-height:1.75;
}

.recT thead th{
background:#ff931e;
color:#fff;
}


.recT th{
background:#6e737d;
color:#fff;
font-size:1.5rem;
text-align:left;
font-weight:500;
padding:1.8rem 1rem;
border:1px solid #b3b3b3;
white-space:nowrap;
}
.recT td{
padding:1.8rem 1rem 1.8rem 2rem;
border:1px solid #b3b3b3;
}

.rec-target dt{
width:5em;
font-size:1.125rem;
line-height:1.96875rem;
}
.rec-target dd{
margin-left:5em;
margin-top:-31.5px;
}

.rec-list li{
padding-left:1.25em;
position:relative;
}
.rec-list li::before{
content:'●';
color:#ff931e;
position:absolute;
top:0;
left:0;
}
.rec-saraly{
display:flex;
gap:0 2rem;
margin:0 0 40px;
}

.rec-subT{
width:100%;
border:1px solid #b3b3b3;
font-size:1rem !important;
line-height:1.5 !important;
}
.rec-subT thead th,
.rec-subT tbody th{
background:#6e737d;
text-align:center !important;
padding:1rem !important;
font-size:1rem !important;
line-height:1.5 !important;
}
.rec-subT thead td{
background:#d2e6f0;
border:1px solid #b3b3b3;
padding:1rem !important;
text-align:center !important;
}
.rec-subT tbody td{
border:1px solid #b3b3b3;
padding:1rem !important;
text-align:center !important;
}
.rec-subT tbody td.md{
background:#fff0dc;
}

.recT td span.org{
color:#ff931e;
}
.recruit section{
margin-bottom:clamp(5rem, 8vw, 8.75rem);
}

.kyuyo dt{
width:6em;
}
.kyuyo dd{
margin-left:6em;
margin-top:-1.96875rem;
}



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;
}

.job-type{
display:flex;
gap:.75rem;
flex-wrap:wrap;
margin:0 0 3rem;
}
.job-type li a{
width:291px;
height:94px;
background:#6e737d;
border-radius:1rem;
color:#fff;
display:flex;
align-items:center;
position:relative;
font-size:1.5rem;
text-align:left;
padding:0 0 0 4rem;
transition:all .2s;
}
.job-type li a::before{
content:'→';
position:absolute;
left:1.5rem;
top:50%;
margin-top:-1.3125rem;
transform:rotate(45deg);
}
.job-type li a:hover{
background:#ff931e;
}

.wf-btn a{
width:100%;
height:94px;
margin-bottom:5rem;
border-radius:1rem;
background:#fff;
color:#6e737d;
border:1px solid #6e737d;
padding:0 0 0 4rem;
position:relative;
display:flex;
align-items:center;
font-size:1.5rem;
text-align:left;
transition:all .2s;
}

.wf-btn a::before{
content:'→';
position:absolute;
left:1.5rem;
top:50%;
margin-top:-1.3125rem;
transform:rotate(45deg);
color:#ff931e;
}
.wf-btn a:hover{
background:#fff0dc;
}



/* MOVIE */

.page-lead{
margin-bottom:2.75rem;
font-size:1.125rem;
line-height:1.75;
}


.mov-archive{
display:flex;
flex-wrap:wrap;
gap:51px;
margin:0 auto 2.75rem;
}
.mov-archive li{
width:366px;
}
.movie{
position: relative;
height: 0;
padding: 0 0 56.25%;
overflow: hidden;
}
.ggmap iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

.mov-ttl{
font-size:1.125rem;
line-height:1.35;
margin-top:15px;
}

.mov-desc{
font-size:1.125rem;
line-height:1.75;
text-align:center;
margin:0 0 3.5rem;
}




/*------------------------------------------------------------
	SIDE
------------------------------------------------------------*/

aside.side{
padding-top:231px;
width:171px;
}
.side-menu-ttl{
font-size:.875rem;
line-height:2;
}
.side-cont-ttl{
font-family:'Oswald';
font-size:1.3125rem;
font-wieght:bold;
line-height:1.75;
color:#ff931e;
margin:0 0 .5rem;
}
.side-cont-ttl span{
display:block;
font-family:'Noto Sans JP';
font-size:1rem;
color:#6e737d;
font-weight:bold;
}

.side-cont-navi{
margin-bottom:1em;
}

.side-cont-navi li{
font-size:1rem;
line-height:2;
position:relative;
}
.side-cont-navi li::before{
content:'→';
transform:rotate(45deg);
margin-right:.3rem;
color:#ff931e;
display:inline-block;
}
.side-cont-navi li a{
color:#6e737d;
}
.side-cont-navi li a:hover{
color:#ff931e;
}

.side-navi li a{
font-size:1.3125rem;
line-height:2;
color:#c2ccd5;
font-family:'Oswald';
}
.side-navi li a:hover{
color:#6e737d;
}


/*------------------------------------------------------------
	CATEGORY ARCHIVE
------------------------------------------------------------*/
/* WHAT'S NEW */

.archive{
border-top:1px solid #6e737d;
}
.archive li{
display:flex;
position:relative;
padding:2rem 1rem;
font-size:1.125rem;
line-height:1.5;
gap: 0 2rem;
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:8rem;
}
.arc-title{
width:calc(100% - 10rem);
}




/*------------------------------------------------------------
	SINGLE
------------------------------------------------------------*/

/*------------------------------------------------------------
	FOOTER
------------------------------------------------------------*/
footer{
background:#f1f1f1;
}
.footer-inner{
width:1200px;
margin:0 auto;
padding:90px 0 32px;
display:flex;
justify-content:space-between;

}

.footer-logo{
width:80px;
margin:0;
}

.footer-menu{
width:970px;
display:flex;
justify-content:space-between;
flex-direction:row;
}

.fmenu01{
width:120px;
}
.fmenu-ttl{
font-family:'Oswald';
font-weight:500;
font-size:1.25rem;
line-height:1.4;
margin-bottom:1.75rem;
}
.fmenu-ttl span{
display:block;
font-size:1rem;
line-height:1.75;
}
.fmenu-ttl a,
.fmenu-ttl02 a{
color:#6e737d;
}
.fmenu02{
width:280px;
}
.fmenu-ttl02{
font-family:'Oswald';
font-weight:500;
font-size:1.25rem;
line-height:1.4;
margin-bottom:.5rem;
}
.fmenu-ttl02 span{
display:block;
font-size:1rem;
line-height:1.75;
}

.fmenu-sub01{
display:flex;
flex-wrap:wrap;
}
.fmenu-sub01 li{
font-size:.875rem;
line-height:1.75rem;
white-space:nowrap;
}
.fmenu-sub01 li a,
.fmenu-sub02 li a{
color:#6e737d;
}


.fmenu-sub01 li::before{
content:'-';
margin-right:.3rem;
}

.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{
width:110px;
}
.fmenu05{
width:132px;
}



.fmenu-sub02{
}
.fmenu-sub02 li{
font-size:.875rem;
line-height:1.75rem;
white-space:nowrap;
}
.fmenu-sub02 li::before{
content:'-';
margin-right:.3rem;
}

.fmenu-sub01 li a:hover,
.fmenu-sub02 li a:hover{
text-decoration:underline;
}

.copy{
font-size:.75rem;
line-height:3rem;
text-align:center;
}

/*------------------------------------------------------------
	END PC LAYOUT CSS
------------------------------------------------------------*/
}