@charset "UTF-8";
@-webkit-keyframes loop {
   0% {
     transform: translateX(100%);
   }
 
   to {
     transform: translateX(-100%);
   }
 }
 
 @keyframes loop {
   0% {
     transform: translateX(100%);
   }
 
   to {
     transform: translateX(-100%);
   }
 }
 
 @-webkit-keyframes loop2 {
   0% {
     transform: translateX(0);
   }
 
   to {
     transform: translateX(-200%);
   }
 }
 
 @keyframes loop2 {
   0% {
     transform: translateX(0);
   }
 
   to {
     transform: translateX(-200%);
   }
 }

/* ========================================
   @media screen and (min-width: 768px),print
======================================== */
@media screen and (min-width: 768px),print {

/* staff -------------------------------------*/
.main-title {
   margin-bottom: 0;
}
main {
   margin-top: -3.1rem;
}
#archive-staff .seo_bread_list {
   position: relative;
   z-index: 7
}
#archive-staff .seo_bread_list span {
   color: #FFFFFF;
}

.mv {
   max-width: 1920px;
   width: 100%;
   margin-inline: auto;
}
.mv img {
   width: 100%;
}
.top {
   position: relative;
   background: transparent linear-gradient(180deg, #EBE5D5 0%, #F7F7F7 100%) 0% 0% no-repeat padding-box;
   max-width: 1920px;
   margin-inline: auto;
   width: 100%;
 }
 .top .message {
   width: min(95%, 1440px);
   margin-inline: auto;
   position: relative;
   top: -8.25rem;
   padding: 3.3rem 10.625rem 6.2rem;
   background: #FFFFFF;
 }
 .top .lead {
   font-size: 20px;
   line-height: 2.15;
   letter-spacing: 0.05em;
   font-weight: 700;
   text-align: center;
   margin-bottom: 27.5rem;
 }
 .top .inBox {
   display: grid;
   grid-template-columns: 52.72% 1fr;
   gap: 5rem;
   position: relative;
 }
 .top .inBox .enttl {
   position: absolute;
   top: -11.4rem;
   right: -10.8rem;
   z-index: 8;
 }
 .top .inBox h2 {
   font-size: 30px;
   line-height: 1.1333333333;
   letter-spacing: 0.1em;
   font-weight: 700;
   margin-bottom: 3.75rem;
 }
 .top .inBox .subt {
   font-size: 22px;
   line-height: 1.8181818182;
   letter-spacing: 0.05em;
   font-weight: 700;
   margin-bottom: 1.9rem;
 }
 .top .inBox .txt {
   font-size: 16px;
   line-height: 2.125;
   letter-spacing: 0.05em;
   font-weight: 500;
   margin-bottom: 2.15rem;
 }
 .top .inBox .photo-box {
   margin-top: 8rem;
   position: relative;
   z-index: 9;
 }
 .top .inBox .photo {
   margin-bottom: 0.8rem;
 }
 .top .inBox .photo img {
   width: 100%;
   height: auto;
 }
 .top .inBox .job {
   font-size: 14px;
   line-height: 2.4285714286;
   letter-spacing: 0.05em;
   font-weight: 500;
   text-align: right;
   margin-bottom: 0.2rem;
 }
 .top .inBox .sign {
   text-align: right;
 }
.top .bg-slide {
   max-width: 1920px;
   z-index: 6;
   position: absolute;
   top: -1.2rem;
}
 .top .bg-slide .loop {
   padding-top: 80px;
   padding-bottom: 80px;
   overflow: hidden;
 }
 .top .bg-slide .loop .loop__box {
   display: flex;
   width: 100vw;
 }
 .top .bg-slide .loop .loop__box img {
   min-width: 103.15vw;
 }
 .top .bg-slide .loop .loop__box img:first-child {
   -webkit-animation: loop 50s -25s linear infinite;
   animation: loop 50s -25s linear infinite;
 }
 .top .bg-slide .loop .loop__box img:last-child {
   -webkit-animation: loop2 50s linear infinite;
   animation: loop2 50s linear infinite;
 }

.staff {
   width: min(95%, 1160px);
   margin-inline: auto;
   position: relative;
   top: -0.8rem;
   margin-bottom: 6.8rem;
 }
.staff h2 {
   font-weight: bold;
   font-size: 20px;
   line-height: 1.7;
   text-align: center;
 }
.staff .enttl {
   font-weight: 600;
   font-size: 80px;
   text-align: center;
   line-height: 1.1;
   letter-spacing: 0;
   margin-bottom: 3.4rem;
 }
.staff .system-list {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 2.5rem;
 }
.staff .system-pic img {
   height: 17.5rem;
 }
 .staff .system-name-en {
   font-weight: 500;
   font-size: 10px;
   letter-spacing: 0.05em;
   line-height: 2;
   color: #a1a1a1;
 }
 .staff .system-ttl {
   font-weight: bold;
   font-size: 16px;
   letter-spacing: 0.05em;
   line-height: 1.625;
   margin-bottom: 0.3rem;
   text-align: left;
 }
 .staff .system-job {
   font-weight: 500;
   font-size: 14px;
   letter-spacing: 0.05em;
   line-height: 1.8571428;
   color: #a78f43;
   border-bottom: 1px dotted #A1A1A1;
   padding-bottom: 0.7rem;
   margin-bottom: 0.6rem;
 }
 .staff .system-txt {
   font-weight: 500;
   font-size: 14px;
   letter-spacing: 0.05em;
   line-height: 1.5171428;
 }
 .banner-box {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 2.5em;
   width: min(95%, 1000px);
   margin-inline: auto;
   padding-bottom: 12.2rem;
 }
 .banner-box li img {
   margin-bottom: 1rem;
   width: 100%;
 }
 .banner-box li .txt {
   font-weight: 500;
   font-size: 14px;
   letter-spacing: 0.05em;
   line-height: 1.857142;
   text-align: center;
 }

 .staff.system-content {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 0 5rem;
   width: min(95%, 1200px);
   margin-inline: auto;
   margin-bottom: 0;
 }
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1440px)
======================================== */
@media screen and (min-width:768px) and (max-width:1440px) {
   .top .lead {
      font-size: clamp(1rem, 0.714rem + 0.6vw, 1.25rem);
   }
   .top .inBox .enttl img {
      width:65.208vw;
   }
}



/* ========================================
   @media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {

/* staff -------------------------------------*/
.main-title {
   margin-bottom: 0;
}
main {
   margin-top: 0;
}
#archive-staff .seo_bread_list {
   display: none;
}


.mv {
   max-width: 100vw;
   width: 100%;
   margin-inline: auto;
}
.mv img {
   width: 100%;
}
.top {
   position: relative;
   background: transparent linear-gradient(180deg, #EBE5D5 0%, #F7F7F7 100%) 0% 0% no-repeat padding-box;
 }
 .top .message {
   width: 94.205vw;
   margin-inline: auto;
   position: relative;
   top: -24.8vw;
   padding: 8vw 6vw 14.2vw;
   background: #FFFFFF;
 }
 .top .lead {
   font-size:3.865vw;
   line-height: 2.125;
   letter-spacing: 0;
   font-weight: 700;
   text-align: center;
   margin-bottom: 59.8vw;
 }
 .top .inBox {
   display: grid;
   position: relative;
 }
 .top .inBox .txt-box {
   display: contents;
 }
 .top .inBox .enttl {
   position: absolute;
   top: -30vw;
   right: -6vw;
   width: 79.954vw;
   z-index: 8;
 }
 .top .inBox .enttl img {
   width: 100%;
 }
 .top .inBox h2 {
   font-size:5.797vw;
   line-height: 1.416666;
   letter-spacing: 0.1em;
   font-weight: 700;
   margin-bottom: 3.4rem;
   order: 1;
 }
 .top .inBox .subt {
   font-size:4.348vw;
   line-height: 2;
   letter-spacing: 0.05em;
   font-weight: 700;
   margin-bottom: 2.4rem;
   order: 2;
 }
 .top .inBox .txt {
   font-size:3.382vw;
   line-height: 2.25714;
   letter-spacing: 0.05em;
   font-weight: 500;
   margin-bottom: 3.4rem;
   order: 4;
 }
 .top .inBox .txt:last-child {
   margin-bottom: 0.8rem;
 }
 .top .inBox .photo-box {
   display: contents;
 }
 .top .inBox .photo {
   margin-bottom: 2.6rem;
   order: 3;
 }
 .top .inBox .photo img {
   width: 100%;
   height: auto;
 }
 .top .inBox .job {
   font-size:3.382vw;
   line-height: 2.4285714286;
   letter-spacing: 0.05em;
   font-weight: 500;
   text-align: right;
   margin-bottom: 0.2rem;
   order: 5;
 }
 .top .inBox .sign {
   text-align: right;
   order: 6;
 }
.top .bg-slide {
   max-width: 100vw;
   z-index: 6;
   position: absolute;
   top: 19vw;
}
 .top .bg-slide .loop {
   padding-top: 3vw;
   padding-bottom: 3vw;
   overflow: hidden;
 }
 .top .bg-slide .loop .loop__box {
   display: flex;
   width: 100vw;
 }
 .top .bg-slide .loop .loop__box img {
   min-width: 239.15vw;
 }
 .top .bg-slide .loop .loop__box img:first-child {
   -webkit-animation: loop 50s -25s linear infinite;
   animation: loop 50s -25s linear infinite;
 }
 .top .bg-slide .loop .loop__box img:last-child {
   -webkit-animation: loop2 50s linear infinite;
   animation: loop2 50s linear infinite;
 }

.staff {
   width: 100vw;
   margin-inline: auto;
   position: relative;
   top: -4.2rem;
 }
.staff h2 {
   font-weight: bold;
   font-size:3.865vw;
   line-height: 1.6875;
   text-align: center;
 }
.staff .enttl {
   font-weight: 600;
   font-size:12.077vw;
   text-align: center;
   line-height: 1.1;
   letter-spacing: 0;
   margin-bottom: 2.4rem;
 }
.staff .system-list {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 3.2rem 1rem;
   width: 94.205vw;
   margin-inline: auto;
   margin-bottom: 3.8rem;
 }
.staff .system-pic img {
   height: 20.4rem;
 }
 .staff .system-name-en {
   font-weight: 500;
   font-size: 1rem;
   letter-spacing: 0.05em;
   line-height: 1.6;
   color: #a1a1a1;
 }
 .staff .system-ttl {
   font-weight: bold;
   font-size:3.865vw;
   letter-spacing: 0.05em;
   line-height: 1.625;
   margin-bottom: 0.4rem;
   text-align: left;
 }
 .staff .system-job {
   font-weight: 500;
   font-size:3.382vw;
   letter-spacing: 0.05em;
   line-height: 1.8571428;
   color: #a78f43;
   border-bottom: 1px dotted #A1A1A1;
   padding-bottom: 1.1rem;
   margin-bottom: 1.4rem;
 }
 .staff .system-txt {
   font-weight: 500;
   font-size:3.382vw;
   letter-spacing: 0.05em;
   line-height: 1.5171428;
 }
 .banner-box {
   display: grid;
   grid-template-columns: 1fr;
   gap: 2.8rem;
   width: 77.295vw;
   margin-inline: auto;
   padding-bottom: 13.8rem;
 }
 .banner-box li img {
   margin-bottom: 1.2rem;
   width: 100%;
 }
 .banner-box li .txt {
   font-weight: 500;
   font-size:3.382vw;
   letter-spacing: 0.05em;
   line-height: 1.7142857;
   text-align: center;
 }

 .staff.system-content {
   display: grid;
   grid-template-columns: repeat(1, minmax(0, 1fr));
   gap: 5vw 0;
   margin-bottom: 5vw;
   width: min(95%, 94.2vw);
   margin-inline: auto;
}
}
