@charset "utf-8";
/* CSS Document */

html {
  font-size: 62.5%;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: transparent;
}

body {
  -webkit-text-size-adjust: 100%;
  background:#fff;
  box-sizing:border-box;
	line-height:1.6em;
	font-size:1.5em;
	font-family: "Noto Sans JP", Arial, sans-serif;
	font-weight:400;
	color: #2a2a2a;

}

a, button{transition:all .3s ease-out;}
p{word-break: break-all;}
img{width:100%;}
.container{max-width:960px;margin:auto;}
main{background:#D2ECFA;}
.btn{border:2px solid #0F3397;border-radius:50px;display: block;}
.btn span{position: relative;}
table{word-break: break-all;table-layout: fixed;min-width: 0;}
td p, td {
    word-break: break-all !important; 
    overflow-wrap: anywhere !important; 
    white-space: normal !important;
}
header{background:#fff;position: sticky;top: 0;z-index:99;}
header .container{display:flex;justify-content: space-between;align-items: center;}
header a{display: block;}
header h1 a :hover{opacity:.6;}
header h1 a img{max-width:300px;}
header .btn span{padding-left:20px;}
header .btn span::before{font: var(--fa-font-solid);content: "\f0e0";position:absolute;left:0;font-size:1.6rem;}
header .btn small{font-size:1rem;}

.footer_top .container{padding:40px 0;position: relative;}
.footer_top ul{display: flex;}
.footer_top ul li{padding-left:20px;line-height:1.3em;}
.footer_top ul li:first-child{border-right:1px solid #707070;padding:0 20px 0 0;}
.footer_top ul li a:hover{text-decoration: underline;}
.totopfade {position:absolute;right: 0px;z-index: 98;bottom: 0;width: 100px;height:85px;}
.totopfade a{display: block;}
.totopfade a:hover{opacity:.7;}
.footer_btm{background:#182B52;color:#fff;padding:15px 0 20px;}
.footer_btm .logo{max-width:75px;}
.footer_btm nav ul{display: flex;flex-wrap:wrap;margin-top:15px;}
.footer_btm nav ul li{border-left:1px solid #555;line-height:1.3em;font-size:1.2rem;padding:0 10px;margin-bottom:10px;}
.footer_btm nav ul li:first-child{border:none;padding-left:0;}
.footer_btm nav ul li a:hover{opacity:.6;}
.copyright{font-size:1rem;}

.main-slider{overflow: hidden;}
.main-slider .l-inner{position: relative;box-sizing: content-box;max-width: 960px;margin: 0 auto;}
.swiper{overflow: visible!important;}
.swiper-wrapper{display: flex!important;justify-content: flex-start !important;will-change: transform;}
.slide-media{position: relative;overflow: hidden;}
.slide-media img {position: absolute;top: 0;left: 0;width: 100%;height: 100%;-o-object-fit: cover;object-fit: cover;}
.swiper-navigation-icon{display: none;}
.swiper-button-next, .swiper-button-prev{background-color: #707070;border-radius: 50%;width: 50px;height: 50px;z-index: 100 !important;pointer-events: auto !important; }
.swiper-button-next::after, .swiper-button-prev::after {font: var(--fa-font-solid);color: #fff;font-size:3rem;-webkit-text-stroke: .5px #707070;text-stroke:.5px #707070;}
.swiper-button-next::after {content: '\f105';}
.swiper-button-prev::after {content: '\f104'; }
.swiper-slide:not(.swiper-slide-visible){filter: brightness(.9);}
.swiper-slide {width: 100%; max-width: 960px; aspect-ratio: 960 / 420;   overflow: hidden;position: relative;margin: 0 auto;box-sizing: border-box !important;backface-visibility: hidden;transform: translateZ(0);}
.swiper-slide a{display: block;}
.swiper-slide a img {width: 100%;height: 100%;display: block;object-fit: cover; object-position: center; }
/* 1枚の時*/
.main-slider.is-single .swiper-button-prev,
.main-slider.is-single .swiper-button-next,
.main-slider.is-single .swiper-pagination {
    display: none !important;
}
.main-slider.is-single .swiper-wrapper {
    cursor: default;
}

#Top .kyuzin{padding:55px 0;}
#Top .kyuzin h2{font-size:3.6rem;font-weight:700;color:#0F3397;text-align: center;}
#Top .kyuzin .btn{color:#fff;background: #0F3397;position: relative;max-width:420px;padding:10px 15px;font-size:1.8rem;margin:40px auto 0;text-align: center;}
#Top .kyuzin .btn::before{width:28px;height:28px;background:#fff;position: absolute;content:"";border-radius:50%;right:10px;top:50%;transform: translateY(-50%);}
#Top .kyuzin .btn::after{font: var(--fa-font-solid);color: #0F3397;content: '\f061';position:absolute;top: 50%;right:15px;transform: translateY(-50%);}
#Top .kyuzin .btn:hover{background:#fff;color:#0F3397;}
.k-list>li{margin-top:30px;}
.k-list>li a{background:#fff;border-radius:8px;padding:25px;display: block;}
.k-list .shamei{font-size:2rem;color:#0F3397;font-weight:700;}
.keitai{display: flex;flex-wrap:wrap;}
.keitai li{margin-right:10px;margin-top:10px;}
.keitai li span{border:1px solid #0082CF;border-radius:3px;display: inline-block;color: #0082CF;padding:0 10px;}
.k-list li .shokushu, #Detail .k-box .shokushu{margin-top:10px;}
.k-list .kinmuchi, .k-list .kyuuyo{position: relative;padding-left:1.5em;margin-top:6px;}
.k-list .kinmuchi::before{position: absolute;font: var(--fa-font-solid);content: '\f3c5';color:#2a2a2a;top:.2em;left:0;font-size:2rem;}
.k-list .kyuuyo::before{position: absolute;font: var(--fa-font-solid);content: '\f157';color:#2a2a2a;top: .35em;left: .075em;;font-size:1.8rem;}
.k-list .kyuuyo::after{border:1px solid #2a2a2a;border-radius:50%;width:1.4em;height:1.4em;position: absolute;content: "";top: .25em;left: -.22em;}
#Top .kyuzin .k-list figure{margin-top:30px;}
#Top .kyuzin .k-list>li a:hover{transform: scale(0.95);}
#Top .kyuzin .k-list .shamei{line-height: 1.4em;}
#Top .bnr-area{padding:50px 0;background:#fff;}
#Top .bnr-area ul li a{display: block;}
#Top .bnr-area ul li a:hover{opacity:.7;}


.pankuzu{background:#F5F5F5;padding:15px 0;}
.pankuzu ul {display: flex;flex-wrap: wrap;}
.pankuzu ul li {margin-right: 26px;position: relative;font-size:1.4rem;}
.pankuzu ul li::after {
    content: '';
    width: 8px;
    height: 8px;
    border: 0px;
    border-top: solid 1px #2A2A2A;
    border-right: solid 1px #2A2A2A;
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    margin-top: -4px;
    right: -15px;
}
.pankuzu ul li a:hover{text-decoration: underline;}
.pankuzu ul li:last-child {margin: 0;}
.pankuzu ul li:last-child::after{display:none;}

#List, #Detail, .info{padding-bottom:70px;}
#List h2, .info h2{color:#0F3397;text-align: center;font-size:3.2rem;font-weight:700;margin:50px 0 40px;line-height:1.3em;}
#List .ichiran .k-list li a:has(figure){display: flex;align-items: flex-start;justify-content: space-between;}
#List .ichiran .k-list>li a:hover .shamei{text-decoration: underline;}
#List .pagination{display: flex;justify-content: center;align-items: center;margin-top:40px;}
#List .pagination .page, #List .pagination .page-numbers{font-size:2.2rem;font-weight:700;color:#0F3397;display: inline-block;margin:0 15px;}
#List .pagination .current{text-decoration: underline;}
#List .pagination .prev, #List .pagination .next{margin-top:3px;}
#List .pagination .prev-icon, #List .pagination .next-icon{position: relative;width:30px;height:30px;background: #0F3397;border-radius:50%;display: block;}
#List .pagination .prev-icon::before, #List .pagination .next-icon::before{position: absolute;font: var(--fa-font-solid);color:#fff;top:50%;transform: translateY(-50%);font-size:1.8rem;}
#List .pagination .prev-icon::before{content: '\f104';left: 9px;}
#List .pagination .next-icon::before{content: '\f105';right: 9px;}

#Detail .k-box{background:#fff;display: block;border-radius:8px;padding:40px 30px;margin-top:40px;}
#Detail .k-box p, .info section p{font-size:1.8rem;line-height:1.7em;}
#Detail .k-box .pcflex{margin-bottom:15px;}
#Detail .k-box table{border-top:1px solid #707070;width:100%;font-size:1.8rem;line-height:1.7em;}
#Detail .k-box table tr th{background:#F5F5F5;vertical-align: middle;padding:15px 20px;}
#Detail .k-box table tr td{border-bottom:1px solid #707070;vertical-align: middle;padding:15px 20px;}
#Detail .k-box table tr td a:hover{text-decoration: underline;}
#Detail .k-box .shamei{font-size:2.4rem;font-weight:700;margin-bottom:5px;line-height:1.3em;}
#Detail .k-box .hplink{background:#0082CF;width:100px;color:#fff;border-color:#0082CF;text-align:center;font-weight:500;margin:15px 0 30px;padding:5px 0;}
#Detail .k-box .hplink span{padding-left:2em;}
#Detail .k-box .hplink span::before{position: absolute;font: var(--fa-font-solid);content: '\f390';top:.2em;left:0;font-size:2rem;}
#Detail .k-box .hplink:hover{background:#fff;color:#0082CF;}
.btn.back{font-size:1.8rem;text-align:center;padding:10px 0;font-weight:500;background: #0F3397;color:#fff;max-width:200px;margin:30px auto 0;}
.btn.back:hover{background:#fff;color:#0F3397;}
#Detail .k-box h3{font-size:2.2rem;font-weight:700;margin:40px 0 15px;}
#Detail .k-box .pr_catchcopy{font-size:2rem;color:#0F3397;font-weight:700;margin:10px 0;}
#Detail .k-box .text{margin-bottom:15px;}
#Detail .k-box .photo2{max-width:570px;margin:30px auto 0;}
#Detail .k-box .shimen_img{margin-top:30px;}
#Detail .k-box .shimen_img img{max-width: 100%; width:auto;height: auto;display: block;margin: 0 auto;}
#Detail .k-box .company_imgwrap figure img{height:auto;}
#Detail .k-box figcaption{margin-top:10px;font-size:1.4rem;}
#Detail .k-box .keisaibi{text-align: right;font-size:1.4rem;margin-bottom:10px;}
#Detail .k-box .recruiter_tel+.recruiter_name, #Detail .k-box span+.recruiter_busho{padding-left:1em;}


.info section{background:#fff;display: block;border-radius:8px;padding:40px 30px;margin-top:25px;}
.info h2{margin-bottom:20px;}
.info h3{font-size:2.2rem;font-weight:700;margin-bottom:20px;line-height:1.3em;color:#0F3397;}
.info h4{font-size:2rem;font-weight:700;margin:35px 0 5px;}
.info section p a{color:#0082CF;text-decoration: underline;}
.info section p a:hover{text-decoration: none;}

/*PC======================================================*/
@media only screen and (min-width:769px) {

  .pc-only{display:block;}
  .sp-only{display:none;}

  header .container{height: 110px;}
  header .btn{background:#fff;color:#0F3397;font-weight:700;padding:9px 5px 9px 15px;text-align: center;}
  header .btn span::before{top: 50%;transform: translateY(-50%);}
  header .btn:hover{background:#0F3397;color:#fff;}
  #Top .kyuzin .k-list{display: flex;align-items: flex-start;}
  #Top .kyuzin .k-list>li{width:31%;margin-right:3.5%;}
  #Top .kyuzin .k-list>li:nth-child(3n){margin-right:0;}
  #Top .bnr-area ul{display:flex;align-items: flex-start;justify-content: space-between;}
  #Top .bnr-area ul li{width:46.9%;}
  #List .ichiran .k-list>li a{padding:30px;}
  #List .ichiran .k-list li a:has(figure) .text{width:70%;}
  #List .ichiran .k-list li a figure{width:27%;}
  #Detail .k-box table tr th{width:20%;border-bottom:1px solid #707070;}
  #Detail .k-box table tr td{width:80%;}
  #Detail .k-box .pcflex{display: flex;align-items: flex-start;justify-content: space-between;}
  #Detail .k-box .pcflex .text{margin-bottom:0;}
  #Detail .k-box .pcflex:has(figure) .text{width:64%;}
  #Detail .k-box .pcflex .photo1{width:31.5%;}
  #Detail .k-box .company_imgwrap{display: flex;align-items: flex-start;margin-top:30px;}
  #Detail .k-box .company_imgwrap figure{width:31%;margin-right:3.5%;}
  #Detail .k-box .company_imgwrap figure:last-of-type{margin:0;}



}

@media only screen and (min-width:961px) {
  .swiper-button-prev{left:-25px;}
  .swiper-button-next{right:-25px;}
}

@media screen and (min-width:769px) and (max-width:960px) {
 .footer_btm nav ul li:nth-child(7){border-left:none;padding-left:0;}
}

@media only screen and (max-width:960px) {
  .container{width:96%;}
  .footer_btm nav ul{max-width:520px;}

}

/*SP======================================================*/
@media only screen and (max-width:768px) {

.sp-only{display:block;}
.pc-only{display:none;}

.container{width:90%;}
header .container{width:100%;}
header h1{width:52%;padding:2vw;}
header .btn{font-weight:700;background:#0F3397;color:#fff;padding:3vw;border-radius:0;text-align:left;font-size:1.8rem;line-height:1.3em;width:11.2em;}
header .btn span{padding-left: 2.2rem;}
header .btn span::before{font-size:1.9rem;top:5px;}
header .btn small{font-size:1.6rem;display: block;}
.totopfade {width: 15vw;height: 12vw;}
.footer_top .container{padding: 5vw 0 14vw;}
.swiper-pagination{position: relative;}
.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction{height:50px;bottom: -20px;}
.swiper-button-next, .swiper-button-prev{width:35px;height:35px;top:auto;bottom:0;}
.swiper-button-next::after, .swiper-button-prev::after{font-size:2.3rem;}
.swiper-pagination-bullet{border: 1px solid #0F3397;background: #fff;opacity:1;width:10px;height:10px;}
.swiper-pagination-bullet-active{background: #0F3397;}
#Top .kyuzin{padding-top:8vw;}
.k-list>li{margin-top:5vw;}
.k-list>li a{padding:5.5vw 5vw;}
#Top .kyuzin h2{font-size:2.8rem;}
#Top .kyuzin .btn{margin-top:6.5vw;}
#Top .bnr-area{padding:12vw 0;}
#Top .bnr-area ul li:first-child{margin-bottom:6vw;}
#List, #Detail, .info{padding-bottom:12vw;}
#List .ichiran .k-list>li{flex-direction: column;}
#List .ichiran .k-list li figure{margin-top:6vw;}
#List .pagination .page{margin:0;}
#Detail .k-box, .info section{padding:5.5vw 5vw;}
#Detail .k-box .text, #Detail .k-box .pcflex{margin-bottom:5vw;}
#Detail .k-box table, #Detail .k-box p, .info section p{font-size:1.6rem;}
#Detail .k-box table tr th{display: block;padding:1.8vw 3vw 2vw;}
#Detail .k-box table tr td{display: block;padding:3vw;}
#Detail .k-box .company_imgwrap figure{margin-top:6.5vw;}
#List h2, .info h2{font-size:2.6rem;}
.info h3{font-size:2rem;margin-bottom:3vw;}
.info h4{font-size:1.8rem;}

}

@media only screen and (max-width:560px) {
header h1{width:55%;}
header .btn{font-size:1.6rem;}
header .btn span::before{font-size:1.7rem;}
header .btn small{font-size:1.4rem;display: block;}
.footer_btm nav ul{max-width:360px;}
.footer_btm nav ul li:nth-child(5), .footer_btm nav ul li:nth-child(8){border-left:none;padding-left:0;}
#Detail .k-box .shamei{font-size:2.2rem;}
#Detail .k-box .pr_catchcopy{font-size:1.8rem;}
#Detail .k-box h3{font-size:2rem;}
#List .pagination .page-numbers{margin:0 3.5vw;}

}

@media only screen and (max-width:420px) {
header .btn{font-size:1.6rem;padding:1.5vw 2.5vw;width:10em;}
header .btn span::before{font-size:1.7rem;}
header .btn small{font-size:1.4rem;display: block;}
.info h2{font-size:2.4rem;}
.info h3{font-size:1.9rem;}

}

@media only screen and (max-width:360px) {
  .container{width:92%;}
  header .btn{font-size:1.5rem;}
}

