@charset "utf-8";

:root {
    --color1: #953C34;
    --color2: #FF8E24;
    --color3: #1758B9;
    --color4: #06C755;
    --color5: #A9A9A9;
    --color-over: #FFFFFF;
    --color-black: #000000;
    --color-gray:#A9A9A9;
    
    --color-bg1: #FFFFFF;
    --color-bg2: #EB8044;
    --color-bg3: #DDD7C8;
    --color-bg4: #584033;
    
    --color-border1: #E1DEDE;

    --font-size-s: 13px;
    --font-size-m: 16px;
    --font-size-l: 20px;
    --font-size-ll:24px;
    --font-size-l2:30px;
    --font-size-l3:28px;
    --font-size-l4:40px;


    --font-primary: "Zen Kaku Gothic New", sans-serif;
    --font-secondary: "Roboto", sans-serif;

    --font-weight-R: 400;

    --font-weight-M: 500;
    --font-weight-DB: 600;
    --font-weight-B: 700;

    --sp-cont-width: 450px;

    --sp-cont-padding:30px;


}
html {
    scroll-snap-type: y proximity;
    scroll-padding-top: 0;
    scroll-behavior: smooth;

   
}
body {
    font-family: var(--font-primary);
    font-weight: var(--font-weight-DB);
    font-style: normal;
    font-size: var(--font-size-m);
    overflow: auto;
    line-height: 1.6;

}

h3,
h4 {
    font-size: 1em;
}



img,
video {
    width:100%;
}

section {
    

}

.widthAuto {
    width: auto;
}

.video-wrap {
    padding-top: 100%;
	width: 100%;
	position: relative;
    margin:5px 15px 0;
}
#video01 video,
#video01 iframe
 {
    width: calc(100% - 30px);
	height: calc(100% - 30px);
	position: absolute;
	top: 0px;
	left: 0px;
}

/*========= 共通 ===============*/


.nav-style h2 {
    width:100%;
    text-align: center;
    margin: 0 auto 1em;
    font-size: var(--font-size-ll);

}



nav.nav-style {
    display: flex;
    flex-wrap: wrap;
    gap:0px;
    justify-content: center;
    margin:0 auto;
}

nav.nav-style div {
    width: 100%;
    border-top:var(--color-border1) 1px solid;
}

nav.nav-style  .nav-concept {
    padding:1em 20px 0.8em;

}

nav.nav-style  .nav-concept a {
    padding:0.6em 0 0.6em;

}

nav.nav-style .nav-concept strong {
    color:var(--color2 );
    font-size: var(--font-size-s);
    font-family: var(--font-secondary);
    font-weight:var(--font-weight-R);
    
}

nav.nav-style .nav-concept a {
    display: flex;
}

nav.nav-style .nav-concept a img {
    width:16px;
    margin-right:0.5em;
}

nav.nav-style .nav-btn {
    padding: 1em 60px;

}



.nav-btn.border-shadow {
    position: relative;
    margin-left:calc(var(--sp-cont-padding) * -1 );
    margin-right:calc(var(--sp-cont-padding) * -1 );
    margin-top:2em;
    margin-bottom: 2em;

}
.nav-btn.border-shadow::after {
    position: absolute;
    top:calc(50% - 10px);
    left:0;
    content:'';
    display: block;
    width: 100%;
    height:10px;
    background-color: #fff;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.10);    
    z-index: 10;
}
.nav-btn.border-shadow a{
    position: relative;
    z-index: 100;
}
nav.nav-style.nav-entry {
    padding: 1em;
}




nav.nav-style  a {
    display: block;
    width: 100%;
    padding:1em 20px 1em;
    position: relative;

}


nav.nav-style a span {
   

}
nav.nav-style a span::before {
   
}


.navi-group {
   position: fixed;
   bottom:0;
   right:0;
   padding:40px 16px 16px;
}

.navi-group {
    border-radius: 100px 100px 0 0;
    background: var(--BG-1, linear-gradient(157deg, #9CCEFF 9.37%, #B0EBAC 89.57%));
}
.navi-group h3  {
    width: 176.993px;
    height: 46.998px;
    flex-shrink: 0;
    margin: 0 auto 24px;
}
.navi-group nav  {
    display: flex;
    justify-content: center;
    gap:8px;

}

.navi-group nav a  {
    padding:0;
}

.nav-style .copy  {
    text-align: center;
    font-size: var(--font-size-m);
    font-weight: var(--font-weight-R);
    color:var(--color5);
    padding:1em 0;




}


/*========= pc用 ===============*/


.pc-content {
    position: fixed;
    bottom:0;
    right:0;
    width:100vw;
    height:100vh;
    background: url(../img/pc-bg1.jpg) center center no-repeat;
    z-index: 0;
    background-size: cover;
    min-width: 1000px;


}


.common-content .navi {
    position: fixed;
    left:0;
    height:100vh;
    width:400px;
    padding:40px 20px;
    font-size: var(--font-size-l);
    background-color: var(--color-bg1);
}

.common-content .logo {
    width: 152px;
    margin: 0 auto 30px;

}

#fixed {
    position: fixed;
    display: flex;
    flex-wrap: nowrap;
    bottom:0;
    z-index: 100;
    width: 100vw;
    padding:0 20px;
    max-width: var(--sp-cont-width);
}

#fixed a {
    padding:0.5em 1em;
}
#fixed a:hover {
    opacity: 1;

}

#fixed.btn-entry > a {
    border-bottom-right-radius: 0px !important;
    border-bottom-left-radius: 0px !important;
}

.sp-content {
    
    position: absolute;
    z-index: 2;
    width: var(--sp-cont-width);
    
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
    left:calc(50% - var(--sp-cont-width) / 2);
    top:0;
    background-color: var(--color-bg1);
    min-height: 100vh;
    



}

.nav-active .sp-content nav.nav-style {
    display: block;
}

.sp-content nav.nav-style .nav-wrap {
    display: block;
    overflow-y: auto;
    overflow-x: hidden;
    height:calc(100vh - 100px);
    padding:0 20px;
    border-top:none;
}


.sp-content nav.nav-style {
    display: none;
    background-color: var(--color-bg1);
    position: fixed;
    z-index: 100;
    width: 100vw;
    max-width: var(--sp-cont-width);
    margin:100px auto 0;

    padding:0 0;
}

.sp-content .navi-group {
    position: relative;
    margin-top:50px;
   

}

.sp-content .sp-navi .navi-group {
    margin-left:-20px;
    width: calc(100% + 40px);

}
.under-content .pc-content {
   
}

.sp-content nav > * {
    max-width: var(--sp-cont-width);
}




.under-content .sp-content {
    right:50%;
    transform: translateX(50%);
}





/*========= common ===============*/
header {
    position: fixed;
    display: flex;
    top:0;
    width:var(--sp-cont-width);
    height:100px;
    background-color: var(--color-bg1);
    z-index: 10;
    padding:15px 20px;
    justify-content: space-between;
    align-items: center;

}

header h2 img {
    height:40px;
    width: auto;
}
main {
    padding-top:100px;
}

.content-padding1 {
    padding-left: var(--sp-cont-padding);
    padding-right: var(--sp-cont-padding);

}

.btn-area {
    padding:50px 0;
}

.btn-trigger {
    position: relative;
    width: 32px;
    height: 40px;
    cursor: pointer;
  }
  .btn-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: var(--color-black);
    border-radius: 2px;
  }
  .btn-trigger, .btn-trigger span {
    display: inline-block;
    transition: all .5s;
    box-sizing: border-box;
  }
  .btn-trigger span:nth-of-type(1) {
    top: 0;
  }
  .btn-trigger span:nth-of-type(2) {
    width: 24px;
    top: 8px;
  }
  .btn-trigger span:nth-of-type(3) {
    top: 16px;

  }
  .btn-trigger div {
    position: absolute;
    bottom:0;
    left:50%;
    transform: translateX(-50%);
    font-family: var(--font-secondary);
    font-size:var(--font-size-s);
    font-weight: var(--font-weight-R);
    line-height: 1.0;
}



.btn-trigger div::before {
    content:'MENU';
}

.nav-active .btn-trigger div::before {
    content:'CLOSE';
}
  
.nav-active #btn01 span:nth-of-type(1) {
    transform: translateY(8px) rotate(-45deg);
}
.nav-active #btn01 span:nth-of-type(2) {
    opacity: 0;
}
.nav-active #btn01 span:nth-of-type(3) {
    transform: translateY(-8px) rotate(45deg);
}


footer {
    margin-top:80px;
}
footer .navi-group {
    position: relative;
    padding-bottom:150px;


}

footer .copy {
    font-family: var(--font-secondary);
    text-align: center;
    color:var(--color-over);
    font-weight: var(--font-weight-R);
    margin:2em 0;

}


.youtube {
    width: 100%;
    aspect-ratio: 16 / 9;
}
.youtube iframe {
    width: 100%;
    height: 100%;
}




a:hover  {
    opacity: 0.5;
    transition: all 1s;
}


.flex {

}

.padding-a {
    padding:40px 24px;
}


.padding-b {
    padding:48px 40px;
}
.margin-a   {
    margin:30px 0 0;
}
.padding-top-a   {
    padding-top:60px;
}

.padding-bottom-a   {
    padding-bottom:60px;
}

.top-negative {
    padding-top:500px;
    margin-top:-500px;
}


.over {
    position: relative;
    z-index: 100;

}

.bg-a {
    background-color: var(--color-bg1);
}


.bg-b {
    background-color: var(--color-bg2);
}

.bg-c {
    background-color: var(--color-bg3);
}

.bg-white {
    background-color: var(--color-over);
}


.bg-01 {
    background: url('../img/bg-01.svg') no-repeat top center;
    background-size: cover;
    background-repeat: repeat-y;
}

.bg-d {
   
}

.btn-entry {
    display: flex;
    position: relative;
}
.btn-entry > a {
    display: flex !important;
    color:var(--color-over);
    font-size: var(--font-size-m);
    white-space: nowrap;
    align-items: center;
    padding: 2em 1.5em !important; 
    justify-content: space-between; 
    flex: 1;
    
}

.btn-entry > a img {
    height: 26px;
    margin-left:0.5em;
    flex-basis: 26px;
}

.btn-entry > a.type01 {
    border-radius: 10px 0 0 10px;
    background-color: var(--color2);
}

.btn-entry > a.type02 {
    background-color: var(--color4);
    border-radius: 0 10px 10px 0;


}

.btn-entry .mcopy {
    position: absolute;
    top:20px;

    left:50%;
    transform: translateX(-50%);
    display: block;
    width: auto !important;
    padding: 0.5em 1.5em;
    text-align: center;
    border-radius: 4px;
    background-color: #dedede;
    font-size: 16px;
    font-weight: var(--font-weight-R);
    white-space: nowrap;

}

.btn-entry:has(.mcopy)  {
    padding-top: 80px !important;

}

.btn-entry .mcopy::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    border-style: solid;
    border-width: 10px 8px 0 8px;
    border-color: #dedede transparent transparent;
    translate: -50% 100%;
  }

.btn-styleA {
    background-color: var(--color3);
    display: flex !important;
    text-align: center;
    appearance: none;
    width: fit-content !important;
    border-radius: 10px;

    color:var(--color2);
    padding:24px 2em !important;
    font-size:var(--font-size-m);
    color:var(--color-over);
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    white-space: nowrap;
    min-width: 70%;

}
.btn-styleA img {
    width: 24px;
    margin-left:1em;
}


.btn-StyleB {
    background-color: var(--color-over);
    display: block;
    text-align: center;
    appearance: none;
    width: 100% !important;
    box-sizing: border-box !important;

    color:var(--color2);
    padding:1em 2em !important;
    font-size:var(--font-size-l);
    color:var(--color1)
}

.title-style01 {
    text-align: center;


}
.title-style01 h2 {


}
.title-style01 h3 {
    font-family: var(--font-secondary);
    font-size: var(--font-size-l4);
    line-height: 1.0;

}

.title-style02 {
    position: relative;

}

.title-style02 h3,
.title-style02 h4
 {
    font-weight: var(--font-weight-R);  

    color:var(--color2);
    display: block;
    padding:1em 0;
}

.title-style02.rev h3,
.title-style02.rev h4 {
    color:var(--color-over);

}

.title-style02.rev::before {
    background-color: var(--color-over);
}


.title-style02 h3 {
    font-size: var(--font-size-ll);

}



.title-style02::before {
    position: absolute;
    top:0;
    left:0;
    content:'';
    width:40px;
    height:4px;
    background-color: var(--color2);
}

.title-style03 {
    color:var(--color-over);
    margin-bottom: 1em;
}

.title-style03::after {
    display: block;
    margin-top:30px;
    content:'';
    height:4px;
    width:40px;
    background-color: var(--color-over);

}

.title-style03 h3 {
    font-size:var(--font-size-l4) !important;
    font-family: var(--font-secondary);
    text-align: left !important;

    margin:0 !important;



}

.title-style03 h2 {
    line-height: 1.0;
    font-weight: var(--font-weight-R);
    
}


.title-style03.orange {
    color:var(--color2);
}
.title-style03.orange::after {
    background-color: var(--color2);
}

/*========= 汎用スタイル ===============*/

.width-full {
    margin-left:calc(var(--sp-cont-padding) * -1 );
    margin-right:calc(var(--sp-cont-padding) * -1 );

}
p {

    font-weight: var(--font-weight-R);
}
section {
    position: relative;
}
.bg-1 {
    background-color: var(--color-bg1);
}
.frame-top-radius {
    border-radius:20px 20px 0 0;
    margin-top:-20px;
    

}
.sec-style01 {
    padding: 50px var(--sp-cont-padding);

}
.sec-style01 h1 {
    width: 64px;
    margin: 0  auto;
    margin-bottom:30px;
    
}
.sec-style01 h2 {
    font-size: var(--font-size-l3);
    line-height: 1.4;
    margin-bottom: 1em;


}


.sec-style02 {
    padding:0 var(--sp-cont-padding) 30px;

}

.sec-style02 .head  {
    position: relative;
    margin-left:calc(var(--sp-cont-padding) * -1 );
    margin-right:calc(var(--sp-cont-padding) * -1 );

}

.sec-style02 .head img  {

}

.sec-style02 .head h3  {
    color:var(--color2);
    font-family: var(--font-secondary);
    font-weight: var(--font-weight-R);
    font-size:var(--font-size-m);
    position: absolute;
    bottom:0;
    background-color: var(--color-bg1);
    border-radius:0 20px 0 0;
    padding:0.8em 2em;
}

.sec-style02 h2 {
    font-size:var(--font-size-l3);
    position: relative;
    padding-left:35px;
    margin:1em 0 0.5em;
    line-height: 1.4;


}
.sec-style02 h2 img {
    position: absolute;
    left:0;
    top:8px;
    width:24px;

}

.sec-style02 p {
    


}


.sec-style03 {
    border-radius: 10px;
    padding:50px var(--sp-cont-padding);
    background: var(--BG-1, linear-gradient(157deg, #9CCEFF 9.37%, #B0EBAC 89.57%));

}

.sec-style03 h3 {
    font-size: var(--font-size-l);
    text-align: center;
    margin: 50px 0 20px;

}

.sec-style03 h1 {
    font-size: var(--font-size-l3);
    margin: 30px 0 20px;
}

.sec-style03 .info-list {
    display: flex;
    flex-wrap: wrap;
    gap:20px;
    margin:30px 0;
}

.sec-style03 .img {
    margin-top: 30px;
}


.sec-style03 .info-list > div:has(.img2) {
    flex-wrap: wrap;
}

.sec-style03 .info-list strong {
    display:block;
    padding-top:1em;
}

.sec-style03 .info-list  .img  {   width: 15%;  }
.sec-style03 .info-list  .text {    width: 80%;   }
.sec-style03 .info-list  .img2  {   width: 100%; margin-top:30px;  }

.sec-style03 .info-list > div {
    background-color: var(--color-bg1);
    border-radius: 10px;
    display: flex;
    gap:16px;
    align-items: center;
    padding:24px 16px;


}
.sec-style03 .info-list > div .text h4 {
    margin-bottom:0.5em;
    font-size: var(--font-size-l);
}
.sec-style03 .info-list > div .img > img {
    width: 56px;

}

.sec-style03 .check-list {
    background-color: var(--color-bg1);
    padding:24px 16px 14px;
    display: flex;
    flex-wrap: wrap;
    gap:16px;

}

.sec-style03 .check-list li {
    display: flex;
    align-items: top;
    gap:0.5em;


}
.sec-style03 .check-list li::before {
    content:url(../img/icon-check.svg);

}

.sec-style04 {
    padding:50px var(--sp-cont-padding);


}

.sec-style04 h2 {
    font-size: var(--font-size-l3);
    margin:0.5em 0;



}

.sec-style04 > img {
    margin-top:36px;

}

.sec-style05 {
    padding:50px var(--sp-cont-padding);

}

.sec-style05 h1 {
    font-size: var(--font-size-l3);
}

.sec-style05 p {
    padding-top:2em;
}

.sec-style05 .img {
    margin-top:50px;
}

.sec-style05 .nav-btn {
    padding-top:2em;
}


.sec-style06 {
    padding:50px var(--sp-cont-padding);
}

.sec-style06 > div {
    margin-bottom:30px;
}

.sec-style06 h5 {
    font-family: var(--font-secondary);
    background: var(--BG-1, linear-gradient(157deg, #9CCEFF 9.37%, #B0EBAC 89.57%));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size:var(--font-size-l4);
    line-height: 1.0;


}
.sec-style06 h5::before {
    content:'';
    display: block;
    width: 40px;
    height: 4px;
    margin-bottom:30px;
    flex-shrink: 0;
    background: var(--BG-1, linear-gradient(157deg, #9CCEFF 9.37%, #B0EBAC 89.57%));
}

.sec-style06 h3 {
    font-size: var(--font-size-l3);
    margin-top:1.0em;

}

.sec-style06 h4 {
    margin-top:30px;
    font-size: var(--font-size-l);

}
.sec-style06 ul {
    padding:1em 0;

}

.sec-style06 li {
    padding-top:1em;
    font-weight: var(--font-weight-R);

}

.sec-style06 li::before {
    display: block;
    content:'';
    width: 8px;
    height: 8px;
    border-radius: 100px;
    background-color: linear-gradient(157deg, #9CCEFF 9.37%, #B0EBAC 89.57%);

}

.sec-style06 p {
    margin-top:1.0em;

}

.sec-style06 .img {
    margin-top:30px;
}

.sec-style-jobdetail {
    margin-bottom:30px;
}

.sec-style-jobdetail .head {
    border-radius: 10px 10px 0 0;
    background: var(--BG-2, linear-gradient(171deg, #FF8E24 2.54%, #FBBC69 94.95%));
    padding:40px var(--sp-cont-padding);
    
}
.sec-style-jobdetail .head .icon {


}
.sec-style-jobdetail .head h1 {
    font-size: var(--font-size-l3);
    padding-top:0.3em;
}

.sec-style-jobdetail .head p {
    padding-top:0.2em;
}


.sec-style-jobdetail .info {
    padding:0 var(--sp-cont-padding) 0;
    border-left: 1px solid var(--color2);
    border-right: 1px solid var(--color2);
    border-bottom: 1px solid var(--color2);
    border-radius: 0 0 10px 10px;
    


}
.sec-style-jobdetail .info h3 {
    padding:30px 0 1em;

}

.sec-style-jobdetail .info p:last-child {
    border:none;
}

.sec-style-jobdetail .info p {
    padding-bottom:40px;
    border-bottom: 1px solid var(--color2);
}


.interview-list {
    width: 100%;
}

.interview-list iframe {
    width: 100%;
    aspect-ratio: 16 / 9;

}

.interview-list .info {
    margin:1em var(--sp-cont-padding);

}

.interview-list .info h4 {
    font-size: var(--font-size-l3);
}

.interview-list .info h5 {
    margin-top:0.5em;

    font-size: var(--font-size-l);
}

.interview-list .info p {
    margin-top:0.5em;
}

.interview-list .link {
    text-align: right;
    margin:1em var(--sp-cont-padding);

}


.interview-list .link a {
    margin:1em 0;
    color:var(--color2);
    gap:0.5em;
    

}

.interview-list .link a::after {
    content:url(../img/icon-window.svg);
    padding-left:0.5em;
}


/*========= TOP ===============*/

#fv {
    padding-left:0;
    padding-right:0;
    padding-top:0;
    position: relative;
    background: url(../img/mainimage-bg.jpg) no-repeat center 30px;
    background-size: contain;
    padding-top:145%;

}


#fv .fv-img {
    transform: all 1s ease-in-out ;
    animation-delay: 1.5s;


}

#fv .fv-catch {
    transform: all 1s ease-in-out;
    animation-delay: 3s;
}

@keyframes mainvisualFadeIn {
    0% {
        opacity: 0;
        margin-top:100px;
    }

    100% {
        opacity: 1;
        margin-top:0;

    }
}



#fv > img {
    opacity: 0;
    animation: mainvisualFadeIn 2s forwards;
    position: absolute;
    top:0;
}


.bg-fv {
    background: url(../img/cont-fv-bg.png) no-repeat center center;
    background-size: cover;
    border-radius: 80px 0 80px 0;

    padding:80px 0 50px;
}

#page-sctl main h2 {
    width:150px;
    margin: auto;

}

#page-sctl main h1 {
    text-align: center;
    font-size:var(--font-size-l);

}

.group-logo-anima {
    display: flex;
    justify-content: space-around;
    gap:30px;
    margin:50px 0;

}

.group-logo-anima > div {
    text-align: center;
    font-size: var(--font-size-s);
    white-space: nowrap;
}

.group-logo-anima > div > img {
    width:48px;

}

.group-logo-anima > div > p {
    font-weight: var(--font-weight-DB);

}


.interview-slide {
    margin-top:50px;

}

.pankuzu {
    padding: 0 var(--sp-cont-padding) 50px;

    font-weight: var(--font-weight-R);
}

.pankuzu ul {
    display: flex;
    flex-wrap: nowrap;
    gap:0;
}

.pankuzu ul li {
    color:var(--color-gray)
}

.pankuzu ul li::after {
    content:'-';
    padding:0 0.5em;
}

.pankuzu ul li:last-child::after {
    content:'';
}

.pankuzu ul li a {
    color:var(--color-black);
    
}

/*========= CONCEPT ===============*/
.slider2 li:nth-child(even) img {
    padding-top:40px;

}


/*
=============================*/



.slider1 {


}

.slider1 li  {
    padding:0 5px 0;


}

.slider1 li img {
}

.slider2 {
    padding-top:0;
    margin-top:-20px;
}
.slider2 li  {
    padding:0 10px 0;
    
}

.tableStyle-a  {
    width: 100%;
}

.accordion-style {
    padding: 20px;
}

.accordion-style > div {
    margin-top:80px;

}

.accordion-style > div:first-child {
    margin-top:0;

}

.accordion-style h3 {
    color:var(--color2);
    font-size: var(--font-size-ll);
    position: relative;
    display: block;
    padding:1em 0;
    font-weight: var(--font-weight-R);
}

.accordion-style h3::before {
    position: absolute;
    top:0;
    left:0;
    content:'';
    width:40px;
    height:4px;
    background-color: var(--color2);

}

.accordion-style .accordion{
    margin: 0 0 20px 0;
    
}

.accordion-style .accordion {
    margin-top:1em;
    padding:0 1em;
    border: var(--color2) 1px solid;
    font-weight: var(--font-weight-R);
    border-radius: 10px;
    margin-top:1em;
}
.accordion-style .accordion > dt {
    padding:1em 30px 1em 1em;
    font-weight: var(--font-weight-R);
    position: relative;
    border-radius: 10px;
    position: relative;

}

.accordion-style .accordion > dd {
    transition: all 0.5s;
    display: none;
    padding:1em 1em 1em 1em;
    background-color: var(--color-over);
    border-radius: 0 0 10px 10px;
    position: relative;
    border-top: var(--color2) 1px solid;


}

.accordion-style .accordion > dt::after{

    content:url(../img/icon-arrow-orange.svg);
    height:24px;
    position: absolute;
    right:0;
    
    top:calc(50% - 12px);
    transform-origin: 50% 50%;
    transform: rotate(180deg);
    transition: all 0.5s;
}


.accordion-style .accordion.nav-active > dt {
    border-radius: 10px 10px 0 0 ;
}
.accordion-style .accordion.nav-active > dd {
    display: block;


}
.accordion-style .accordion.nav-active dt::after{
    transform: rotate(0);

}
.search-style  {
    padding:0 !important;

}
.search-style dl {
    padding:2em 1em;
    border-top: var(--color2) 1px solid;

    font-weight: var(--font-weight-R);

}

.search-style dd{
    display: flex ;
    flex-wrap: wrap;
    gap:10px;
    margin-top:1em;
}

.btn-search {
    border: var(--color3) 1px solid;
    color:var(--color3);
    display: inline-block;
    text-align: center;
    appearance: none;
    box-sizing: border-box !important;

    padding:0.5em 1em !important;
    font-size:var(--font-size-m);
    border-radius: 5px;
}

.search-style dl:first-child {
    border-top: none;
}


.slider3 {
    position: relative;
    padding-left:0;
    padding-right:0;
}.slider3 .slide-arrow-prev,
.slider3 .slide-arrow-next {
    position: unset;
}
.slider3 .slide-arrow-prev::after,
.slider3 .slide-arrow-next::after

{
    position: absolute;
    z-index: 1000;
    transform: scale(1.5);
    transform-origin: 50% 50%;

}
.slider3 .slide-arrow-prev::after {
    top:100px;
    left:50px;
    bottom:inherit;
    transform: rotate(180deg) scale(1.5);
}

.slider3 .slide-arrow-next::after {
    top:100px;

    bottom:inherit;
    right:50px;
    left:inherit;
}


#sec-job .title {
    display: block;
    margin: 0 auto;
}
.job-data {
    text-align: center;
    margin-bottom:20px;
}
.job-data strong {
    display: block;
    font-size:var(--font-size-l);
    font-weight: var(--font-weight-R);
    padding: 0 0 0.5em;
}

.job-data strong{

}

.job-list {
    padding:50px 30px;

    background-color: var(--color2);
}

.job-list h2 {
   font-size: var(--font-size-l2);
}
.job-list h3 {
    font-size: var(--font-size-l);
    margin-bottom:2em;

}

.job-list > p {
    margin:1em 0 2em;
 }

.job-list > div {
    display: flex;
    flex-wrap: wrap;
    gap:20px;
}

.job-list a.job-item {
    background-color: var(--color-bg1);
    width: 100%;
    display: block;
    padding:2em 2em;
    font-weight: var(--font-weight-R);
    position: relative;
    border-radius: 8px;

}

.job-list a.job-item::after {
    content:url(../img/icon-arrow-black.svg);
    height:24px;
    position: absolute;
    right:1em;

    
    top:calc(50% - 12px);
    transform-origin: 50% 50%;

}
.job-list a h4 {
    font-size: var(--font-size-l2);
    font-weight: var(--font-weight-B);


}

.job-list .nav-btn {
    margin-top:1em;
}

.job-list .nav-btn.negative {
    padding-top:60px;
    margin-bottom:-80px;
}

.icon-job {
    border: var(--color2) 1px solid;
    color:var(--color2);
    display: inline-block;
    text-align: center;
    appearance: none;
    box-sizing: border-box !important;

    padding:0.1em 0.5em !important;
    font-size:var(--font-size-m);
    border-radius: 3px;

}
.icon-job.rev {
    background-color: var(--color-over);
    font-weight: var(--font-weight-R);
}



.tableStyle-a th {
    background-color: var(--color-bg3);
    padding:1em;
    vertical-align: middle;
    font-weight: 300;
    min-width: 150px;
    border-bottom: 1px solid var(--color5);

}

.tableStyle-a td {
    font-weight: 300;
    padding:1em;
    word-break: break-all;
    border-bottom: 1px solid var(--color5);
}
.formStyle-a {
    padding: 10px 20px;

}
.formStyle-a form#mail_form {
    background: none;
    border: none;
    box-shadow:none;
    width: auto;
    margin:0;
}

.formStyle-a dl {
    display: flex;
    flex-wrap: wrap;
    border: none !important;
    width: 100% !important;

}

.formStyle-a dl dt {
    width:100% !important;
    text-align: left !important;
    padding:0 !important;
    margin-top:2em !important;
    font-weight: var(--font-weight-DB);


}
.formStyle-a form dl dt.noicon
 {
    display: none !important;
}
.formStyle-a dl dt:has(+ dd.required)::after {
    
    content:'必須' !important;
    border:1px solid var(--color2) !important;
    color:var(--color2) !important;
    padding: 0 0.5em;
    font-size: var(--font-size-s) !important;
    height:auto !important;
    visibility: visible !important;
    display: inline-block !important;
    margin-left:1em;

}
.formStyle-a dl dd {
    margin-top:1em;
    width:100% !important;
    padding:0 !important;
    font-weight: var(--font-weight-R);
 
}


.formStyle-a dd label {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap:0.5em;
}

.formStyle-a dd label a {
    color: var(--color4);


}
.formStyle-a ::placeholder {
    color: var(--color5);
    opacity: 1; 
    font-weight: var(--font-weight-R);
}
.formStyle-a input,
.formStyle-a textarea
{
    color:var(--color1);
    background-color:var(--color-bg1) !important;
    border: var(--color-black) 1px solid !important;
    border-radius: 5px !important;

}
.formStyle-a input[type="radio"],
.formStyle-a input[type="checkbox"] {
    
    position: relative;
    width: 22px;
    height: 22px;
    background-color: var(--color-bg1);
    vertical-align: -5px;
    border-radius: 3px;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;

  }
  
  .formStyle-a input[type="radio"]:checked:before,
  .formStyle-a input[type="checkbox"]:checked:before
  {
    position: absolute;
    top: 2px;
    left: 8px;
    transform: rotate(50deg);
    width: 7px;
    height: 14px;
    border-right: 3px solid var(--color1);
    border-bottom: 3px solid var(--color1);
    content: '';
  }

  .formStyle-a dd input[type="text"],
  .formStyle-a dd input[type="email"],
  .formStyle-a dd textarea {
    padding:0.8em 1em !important;
    box-sizing: border-box !important;
    width: 100% !important;

  }

  .formStyle-a dd .select {
    display: inline-flex;
    align-items: center;
    position: relative;

  }
  .formStyle-a dd select {
    width:  100%;
    background-color: var(--color-bg1);
    appearance: none;
    border-radius: 3px;
    border: var(--color-black) 1px solid !important;
    padding:1em 2em 1em 1em !important;


  }

  .formStyle-a dd .select::after {
    position: absolute;
    right: 15px;
    width: 10px;
    height: 7px;
    background-color: var(--color1);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
    pointer-events: none;
    z-index: 10000;

  }

  #form_submit {

    margin-top:2em;
   display: flex;
   justify-content: center;

    width: 100% !important;

  }

  .formStyle-a #form_submit_button {
    

  }


  #form-thanks {
    text-align: center;
    padding:5em 3em;
    color:var(--color2);
  }

  #form-thanks h1 {
    font-size: var(--font-size-ll);
    margin: 0 auto;
    padding: 1em 0 2em;
    text-align: center;
  }

  #form-thanks p {
    padding-bottom:1em;
  }

  .docStyle {
    
  }



  .docStyle h1 {
    font-size: var(--font-size-ll);
    margin: 0 auto;
    padding: 1em 0 2em;
    text-align: center;
  }

  .docStyle h2 {
    font-size: var(--font-size-l);
    margin-bottom: 0.5em;
  }


  .docStyle p,
  .docStyle address {
    padding-bottom: 2em;

  }

  .docStyle ul {
    padding-bottom: 2em;
    
  }




/*========= slider ===============*/
.slick-dots li button:before {
    font-size: 15px;

}


.slick-prev, .slick-next {
    top:inherit;
    bottom:-48px;
    width:35px;
    height:35px;
    z-index: 10;


}

.slick-prev:before, .slick-next:before {
    display: block;
    content:url(../img/icon-arrow-black.svg) !important;



}

.slick-next {
    right:40px;

}

.slick-prev {
    left:40px;



}
.slick-prev:before {
    transform:rotate(-180deg);


}