@charset "UTF-8";

/* =============================================
* HOME
* ============================================= */
body.home {
   font-weight: 500;
}

#mv .slick-slide img {
   width: 100%;
   max-width: inherit;
}

/* -- -- */
#top__strengths h2 {
   padding: 30px 0 20px;
}

#top__strengths h2 .ja {
   background: transparent;
   padding-left: 0;
}

#top__strengths .box-1 h3 {
   line-height: 48px;
   color: #0A3C84;
}

#top__strengths .box-1 figure {
   max-width: 800px;
   margin: 0 auto;
   padding-top: 48px;
}

#top__strengths .box-2 {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 15px;
   padding-top: 120px;
}

#top__strengths .box-2 .col {
   background-color: #019FE9;
   color: #fff;
   padding: 12px 10px 50px;
   transition: all 0.3s;
   position: relative;
}

#top__strengths .box-2 .col:hover {
   opacity: 0.7;
}

#top__strengths .box-2 .col a {
   display: block;
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
}

#top__strengths .box-2 h3 {
   text-align: center;
   position: relative;
   padding: 9px 0 9px 30px;
}

#top__strengths .box-2 h3 img {
   max-width: 68px;
   position: absolute;
   top: 0;
   left: 0;
}

#top__strengths .box-2 h3 small {
   font-size: 22px;
}

#top__strengths .box-2 figure {
   padding-top: 12px;
}

#top__strengths .box-2 .txt {
   line-height: 28px;
   text-align: center;
   padding-top: 30px;
}

@media screen and (max-width: 1440px) {
   #top__strengths .box-2 .txt {
      font-size: 15px;
   }
}

@media screen and (max-width: 1200px) {
   #top__strengths .box-2 h3 {
      padding: 2px 0 2px 50px;
   }

   #top__strengths .box-2 h3 img {
      max-width: 58px;
   }

   #top__strengths .box-2 .txt {
      font-size: 12px;
   }
}

@media screen and (max-width: 1023px) {
   #top__strengths .box-2 {
      grid-template-columns: 390px;
      justify-content: center;
   }

   #top__strengths .box-2 .txt {
      font-size: 16px;
   }
}

@media screen and (max-width: 767px) {
   #top__strengths .box-1 h3 {
      line-height: 32px;
   }

   #top__strengths .box-1 figure {
      padding-top: 20px;
   }

   #top__strengths .box-2 {
      grid-template-columns: 1fr;
      padding-top: 50px;
   }

   #top__strengths .box-2 h3 {
      padding: 7px 0 7px 20px;
   }

   #top__strengths .box-2 .txt {
      font-size: 13px;
   }
}

/* -- -- */
#top__works {
   position: relative;
}

.works-slider {
   max-width: 1120px;
   margin: 0 auto;
   padding: 50px 70px;
}

.works-slider .slick-list {
   margin: 0 -10px;
}

.works-slider .slick-track {
   display: flex;
}

.works-slider .slick-track:before,
.works-slider .slick-track:after {
   display: none;
}

.works-slider .slick-slide {
   height: auto;
   float: none;
   margin: 0 10px;
}

.works-slider .slick-arrow {
   position: absolute;
   top: 50%;
}

.works-slider .slick-prev {
   left: 0;
}

.works-slider .slick-next {
   right: 0;
}

.works-slider .slick-dots {
   width: 100%;
   position: absolute;
   bottom: 0;
   left: 0;
}

.works-slider .slide {
   display: grid;
   grid-template-columns: 1fr 385px;
   align-items: flex-start;
   gap: 25px;
   background-color: #fff;
   border: 1px solid #A9A9A9;
   box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
   padding: 20px;
   position: relative;
   transition: all 0.3s;
}

.works-slider .slide:hover {
   opacity: 0.7;
}

.works-slider .slide a {
   display: block;
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
}

.works-slider .slide h3 {
   padding: 0 20px 10px;
}

.works-slider .slide .txt {
   font-weight: 500;
   line-height: 32px;
   color: #345E9B;
}

.works-slider .slide .txt p {
   border-top: 1px solid #A9A9A9;
   border-bottom: 1px solid #A9A9A9;
   padding: 18px 20px;
}

.works-slider .slide .txt p+p {
   border-top: 0;
}

.works-slider .slide .tag {
   font-weight: 700;
   color: #fff;
   text-align: center;
   padding: 10px 20px 0;
}

.works-slider .slide .tag li {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   align-items: center;
   gap: 12px;
}

.works-slider .slide .tag li+li {
   padding-top: 10px;
}

.works-slider .slide .tag span {
   display: block;
   border-radius: 10px;
   padding: 5px 10px;
}

.works-slider .slide .tag .orange {
   background-color: #FF7700;
}

.works-slider .slide .tag .pink {
   background-color: #FF86F3;
}

.works-slider .slide .tag .blue-1 {
   background-color: #3FA8FF;
}

.works-slider .slide .tag .yellow {
   background-color: #FFF700;
   color: #FF7700;
}

.works-slider .slide .tag .blue-2 {
   background-color: #5861FF;
}

.works-slider .slide .tag .green {
   background-color: #00BE29;
}

.works-slider figure {
   position: relative;
   overflow: hidden;
}

.works-slider figure figcaption {
   position: absolute;
   bottom: 10px;
   right: 10px;
}

.works-slider figure figcaption .yes {
   max-width: 271px;
}

.works-slider figure figcaption .no {
   max-width: 161px;
}

#top__works .recruit {
   padding: 200px 0 90px;
}

#top__works .recruit h3 {
   background: url("../img/common/new-h2.png") no-repeat center left/55px auto, url("../img/common/new-h2.png") no-repeat center right/55px auto;
   max-width: max-content;
   font-weight: 700;
   font-size: 60px;
   line-height: 1;
   letter-spacing: 0;
   margin: 0 auto;
   padding: 8px 80px;
}

#top__works .recruit .list {
   max-width: 980px;
   margin: 0 auto;
   padding-top: 55px;
}

#top__works .recruit .list li {
   display: grid;
   grid-template-columns: 280px 1fr;
   align-items: center;
   border-top: 1px solid;
   border-bottom: 1px solid;
   padding: 29px 0;
}

#top__works .recruit .list li+li {
   border-top: 0;
}

#top__works .recruit .list a span {
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 1;
   display: -webkit-box;
   overflow: hidden;
}

@media screen and (max-width: 1200px) {
   .works-slider .slide {
      grid-template-columns: 1fr 230px;
   }
}

@media screen and (max-width: 1023px) {
   .works-slider .slide {
      grid-template-columns: 1fr;
   }
}

@media screen and (max-width: 767px) {
   .works-slider {
      padding: 30px 5px;
   }

   .works-slider .slick-prev {
      left: -15px;
   }

   .works-slider .slick-next {
      right: -15px;
   }

   .works-slider .slide {
      padding: 20px 10px;
   }

   .works-slider .slide h3 {
      padding: 0 10px 10px;
   }

   .works-slider .slide .txt {
      line-height: 26px;
   }

   .works-slider .slide .txt p {
      padding: 10px;
   }

   .works-slider .slide .tag {
      font-size: 12px;
      padding: 10px 10px 0;
   }

   .works-slider .slide .tag li {
      gap: 5px;
   }

   .works-slider .slide .tag span {
      padding: 0 5px;
   }

   .works-slider .slide figure figcaption .yes {
      max-width: 136px;
   }

   .works-slider .slide figure figcaption .no {
      max-width: 101px;
   }

   #top__works .recruit {
      padding: 50px 0;
   }

   #top__works .recruit h3 {
      background-size: 28px auto, 28px auto;
      font-size: 30px;
      padding: 5px 40px;
   }

   #top__works .recruit .list {
      padding-top: 20px;
   }

   #top__works .recruit .list li {
      grid-template-columns: 1fr;
      gap: 5px;
      padding: 10px 0;
   }

   #top__works .recruit .list a span {
      -webkit-line-clamp: 2;
   }
}

/* -- -- */
.popup-recruit .remodal-close {
   position: absolute;
   top: 0;
   right: 0;
}

/* -- -- */
#top__sales-department h2 .ja {
   font-size: 58px;
}

#top__sales-department .box {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 20px;
   padding-top: 80px;
}

#top__sales-department .box .col {
   background-color: #fff;
   box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}

#top__sales-department .box .text {
   padding: 24px;
}

#top__sales-department .box .name {
   line-height: 24px;
}

#top__sales-department .box .name span {
   font-size: 16px;
}

#top__sales-department .box .office {
   padding-top: 15px;
}

#top__sales-department .button {
   padding-top: 80px;
}

@media screen and (max-width: 1440px) {
   #top__sales-department h2 .ja {
      font-size: 55px;
   }
}

@media screen and (max-width: 1200px) {
   #top__sales-department h2 .ja {
      font-size: 46px;
   }
}

@media screen and (max-width: 1023px) {
   #top__sales-department h2 .ja {
      font-size: 50px;
   }

   #top__sales-department .box {
      grid-template-columns: 390px;
      justify-content: center;
   }
}

@media screen and (max-width: 767px) {
   #top__sales-department h2 {
      padding-top: 20px;
   }

   #top__sales-department h2 .en {
      font-size: 45px;
   }

   #top__sales-department h2 .ja {
      font-size: 24px;
   }

   #top__sales-department .box {
      grid-template-columns: 1fr;
      padding-top: 30px;
   }

   #top__sales-department .box .text {
      padding: 20px 20px;
   }

   #top__sales-department .button {
      padding-top: 30px;
   }
}

/* -- -- */
#top__voices .box {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 20px;
   padding-top: 80px;
}

#top__voices .box .col {
   background-color: #fff;
   box-shadow: 5px 4px 18px rgba(0, 0, 0, 0.15);
}

#top__voices .box .text {
   padding: 12px 30px 22px;
}

#top__voices .box .h-22 small {
   font-weight: 500;
   font-size: 14px;
}

#top__voices .box .txt {
   padding-top: 30px;
}

#top__voices .button {
   padding-top: 96px;
}

@media screen and (max-width: 1023px) {
   #top__voices .box {
      grid-template-columns: 390px;
      justify-content: center;
   }
}

@media screen and (max-width: 767px) {
   #top__voices h2 {
      display: flex;
      justify-content: center;
      overflow: hidden;
   }

   #top__voices h2 img {
      max-width: 150%;
   }

   #top__voices .box {
      grid-template-columns: 1fr;
      padding-top: 30px;
   }

   #top__voices .box .text {
      padding: 20px;
   }

   #top__voices .button {
      padding-top: 30px;
   }
}

/* -- -- */
#top__youtube {
   background: linear-gradient(110deg, #009CFF 0%, #00619F 79%);
   color: #fff;
   padding: 112px 0 35px;
}

#top__youtube .wrap {
   padding-bottom: 170px;
}

#top__youtube .video {
   max-width: 790px;
   margin: 0 auto;
   padding-top: 20px;
}

#top__youtube .video .in {
   width: 100%;
   padding-top: 56.25%;
   position: relative;
}

#top__youtube .video iframe {
   display: block;
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
}

#top__youtube .photo-l {
   width: 203px;
   position: absolute;
   bottom: 15px;
   left: -15px;
}

#top__youtube .photo-r {
   width: 351px;
   position: absolute;
   bottom: 0;
   right: -142px;
}

@media screen and (max-width: 1440px) {
   #top__youtube .photo-r {
      right: -15px;
   }
}

@media screen and (max-width: 1023px) {
   #top__youtube h2 {
      font-size: 22px;
   }

   #top__youtube .photo-l {
      width: 130px;
   }

   #top__youtube .photo-r {
      width: 200px;
   }
}

@media screen and (max-width: 767px) {
   #top__youtube {
      padding: 50px 0 20px;
   }

   #top__youtube .wrap {
      padding-bottom: 90px;
   }

   #top__youtube h2 {
      font-size: 18px;
   }

   #top__youtube .photo-l {
      width: 65px;
      left: 0;
   }

   #top__youtube .photo-r {
      width: 100px;
      right: 0;
   }
}

/* -- -- */
#top__support .desc {
   padding-top: 30px;
}

#top__support .box {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 20px;
   padding-top: 96px;
}

#top__support .box .col {
   background-color: #fff;
   box-shadow: 0px 0px 14px rgba(0, 0, 0, 0.15);
   position: relative;
}

#top__support .box h3 {
   background: url("../img/index/support-ttl-bg.png") no-repeat center top/cover;
   color: #fff;
   width: 65px;
   height: 190px;
   position: absolute;
   top: 0;
   left: 12px;
   line-height: 25px;
   padding: 20px 20px 0;
   box-sizing: border-box;
}

#top__support .box .txt {
   text-align: center;
   padding: 25px 15px;
}

#top__support .button {
   padding-top: 60px;
}

#top__support .button a {
   gap: 10px;
}

#top__support .button a:before {
   content: '';
   width: 32px;
   height: 32px;
   background: url("../img/index/support-icon.png") no-repeat center top/cover;
   display: block;
}

@media screen and (max-width: 1200px) {
   #top__support h2 .ja {
      font-size: 55px;
   }

   #top__support .box .txt {
      font-size: 15px;
   }
}

@media screen and (max-width: 1023px) {
   #top__support h2 .ja {
      font-size: 50px;
   }

   #top__support .box {
      grid-template-columns: 390px;
      justify-content: center;
   }
}

@media screen and (max-width: 767px) {
   #top__support h2 .ja {
      font-size: 30px;
   }

   #top__support .box {
      grid-template-columns: 1fr;
      padding-top: 30px;
   }

   #top__support .box h3 {
      width: 60px;
      height: 160px;
      padding: 15px 20px 0;
   }

   #top__support .button {
      padding-top: 30px;
   }

   #top__support .button a:before {
      width: 24px;
      height: 24px;
   }
}

/* -- -- */
#top__business .desc {
   padding-top: 60px;
}

#top__business .box-1 {
   display: grid;
   grid-template-columns: 703px 1fr;
   align-items: center;
   gap: 20px;
   background: linear-gradient(to right, #77D2FF, #00619F);
   color: #fff;
   margin-top: 40px;
   padding: 50px 12px 35px;
}

#top__business .box-1 h3 {
   position: relative;
   left: -22px;
}

#top__business .box-1 .txt {
   padding: 55px 0 0 10px;
}

#top__business .button {
   padding-top: 40px;
}

#top__business .button a {
   width: 270px;
   background-color: #FF7700;
   padding: 10px 0;
}

#top__business .button a:hover {
   background-color: #333;
}

#top__business .box-2 {
   padding-top: 150px;
}

#top__business .box-2+.box-2 {
   padding-top: 50px;
}

#top__business .box-2 figure {
   width: 48%;
   max-width: 575px;
}

#top__business .box-2 .col {
   width: 56%;
   max-width: 670px;
   background-color: rgba(188, 233, 255, 0.7);
   margin: -90px 0 0 auto;
   padding: 40px 60px;
   box-sizing: border-box;
}

#top__business .box-2 .txt {
   padding-top: 20px;
}

#top__business .voice {
   padding-top: 190px;
}

#top__business .voice h3 {
   max-width: 980px;
   margin: 0 auto;
}

#top__business .voice .box {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 20px;
   padding-top: 80px;
}

#top__business .voice .box .col {
   background-color: #fff;
   box-shadow: 5px 4px 18px rgba(0, 0, 0, 0.15);
   position: relative;
   transition: all 0.3s;
}

#top__business .voice .box .text {
   padding: 12px 30px 60px;
}

#top__business .voice .box .h-22 small {
   font-weight: 500;
   font-size: 14px;
}

#top__business .voice .box .txt {
   padding-top: 20px;
}

#top__business .voice .box a {
   display: block;
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
   font-size: 0;
}

@media screen and (max-width: 1440px) {
   #top__business .box-1 h3 {
      left: 0;
   }
}

@media screen and (max-width: 12000px) {
   #top__business .box-1 {
      grid-template-columns: repeat(2, 1fr);
   }
}

@media screen and (max-width: 1023px) {
   #top__business .box-1 {
      grid-template-columns: 1fr;
   }

   #top__business .box-2 figure {
      width: 100%;
      max-width: 100%;
      text-align: center;
   }

   #top__business .box-2 .col {
      width: 100%;
      max-width: 100%;
      margin: 0;
   }

   #top__business .voice .box {
      grid-template-columns: 390px;
      justify-content: center;
   }
}

@media screen and (max-width: 767px) {
   #top__business h2 .ja {
      font-size: 25px;
   }

   #top__business .desc {
      padding-top: 30px;
   }

   #top__business .box-1 {
      padding: 20px;
   }

   #top__business .box-1 .txt {
      padding-top: 20px;
   }

   #top__business .box-2 {
      padding-top: 50px;
   }

   #top__business .box-2 .col {
      padding: 20px;
   }

   #top__business .box-2 h3 {
      font-size: 17px;
   }

   #top__business .voice {
      padding-top: 50px;
   }

   #top__business .voice h3 {
      display: flex;
      justify-content: center;
      overflow: hidden;
   }

   #top__business .voice h3 img {
      max-width: 150%;
   }

   #top__business .voice .box {
      grid-template-columns: 1fr;
      padding-top: 30px;
   }

   #top__business .voice .box .text {
      padding: 20px;
   }
}

/* -- -- */
#top__about h2 .en {
   left: 45%;
}

#top__about .photos {
   position: relative;
   margin-top: 65px;
   padding-top: 12%;
}

#top__about .photos .photo-1 {
   width: 54.25%;
}

#top__about .photos .photo-2 {
   width: 49%;
   position: absolute;
   top: 0;
   right: 0;
}

#top__about .text {
   width: 806px;
   background-color: rgba(188, 233, 255, 0.7);
   margin: -25px 0 0 auto;
   padding: 40px 30px;
   box-sizing: border-box;
   position: relative;
}

#top__about .text p+p {
   padding-top: 40px;
}

#top__about .button {
   padding-top: 75px;
}

@media screen and (max-width: 1200px) {
   #top__about h2 .en {
      width: max-content;
      left: 50%;
   }
}

@media screen and (max-width: 1023px) {
   #top__about .text {
      width: 100%;
      margin-top: 0;
   }
}

@media screen and (max-width: 767px) {
   #top__about .photos {
      margin-top: 30px;
      padding-top: 55%;
   }

   #top__about .photos .photo-1 {
      width: 90%;
   }

   #top__about .photos .photo-2 {
      width: 80%;
   }

   #top__about .text {
      padding: 20px;
   }

   #top__about .text p+p {
      padding-top: 20px;
   }

   #top__about .button {
      padding-top: 30px;
   }
}

/* -- -- */
#top__news .list {
   max-width: 860px;
   margin: 0 auto;
   padding-top: 60px;
}

#top__news .list li {
   border-top: 1px solid #B1B1B1;
   border-bottom: 1px solid #B1B1B1;
   padding: 30px 60px;
}

#top__news .list li+li {
   border-top: 0;
}

#top__news .list time {
   display: block;
}

#top__news .list a {
   display: block;
   text-align: center;
   padding: 0 30px;
}

#top__news .list a span {
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 1;
   display: -webkit-box;
   overflow: hidden;
}

@media screen and (max-width: 767px) {
   #top__news .list {
      padding-top: 30px;
   }

   #top__news .list li {
      padding: 20px 10px;
   }

   #top__news .list a {
      padding: 0 10px;
   }
}

/* -- -- */
#top__instagram h2 {
   max-width: max-content;
   font-weight: 800;
   font-size: 48px;
   line-height: 58px;
   letter-spacing: 0;
   background: url("../img/index/insta-h2.png") no-repeat center left/58px auto;
   margin: 0 auto;
   padding-left: 70px;
}

#top__instagram .feed {
   max-width: 500px;
   margin: 0 auto;
   padding-top: 35px;
}

#top__instagram .bnr {
   max-width: 190px;
   margin: 0 auto;
   padding-top: 35px;
}

@media screen and (max-width: 767px) {
   #top__instagram h2 {
      font-size: 24px;
      line-height: 34px;
      background-size: 34px auto;
      padding-left: 45px;
   }
}

/* -- -- */
.cta {
   position: relative;
   padding: 0 110px 90px;
}

.cta:before {
   content: '';
   background-color: #BCE9FF;
   position: absolute;
   top: 55px;
   right: 110px;
   bottom: 0;
   left: 110px;
}

.cta h2 {
   background: url("../img/common/cta-h2.png") no-repeat center left/67px auto, url("../img/common/cta-h2.png") no-repeat center right/67px auto;
   max-width: max-content;
   font-weight: 600;
   font-size: 48px;
   line-height: 72px;
   margin: 0 auto;
   padding: 0 84px;
}

.cta h2 .cl-red {
   color: #FF0000;
   font-size: 72px;
}

.cta .banner {
   display: grid;
   grid-template-columns: 510px 428px;
   justify-content: center;
   align-items: flex-end;
   gap: 46px;
   max-width: 984px;
   margin: 0 auto;
   padding-top: 40px;
}

.cta .desc {
   padding-top: 20px;
}

.cta .desc span {
   font-weight: 500;
}

.cta .desc span:last-child {
   display: inline-block;
   line-height: 42px;
}

.cta .list-point {
   background-color: #fff;
   margin-top: 65px;
   padding: 30px;
}

.cta .list-point .item {
   display: grid;
   grid-template-columns: 416px 450px;
   justify-content: center;
   gap: 40px;
   position: relative;
}

.cta .list-point .item+.item {
   padding-top: 40px;
}

.cta .list-point h3 {
   display: grid;
   grid-template-columns: 48px 1fr;
   align-items: flex-end;
   gap: 15px;
}

.cta .list-point .txt {
   padding-top: 5px;
}

.cta.last {
   margin-bottom: 200px;
}

@media screen and (max-width: 1440px) {
   .cta {
      padding: 0 40px 90px;
   }

   .cta:before {
      right: 20px;
      left: 20px;
   }
}

@media screen and (max-width: 1200px) {
   .cta .banner {
      grid-template-columns: 52% 42%;
      gap: 6%;
      padding-right: 0;
   }
}

@media screen and (max-width: 1023px) {
   .cta .list-point .item {
      grid-template-columns: repeat(2, 1fr);
      gap: 20px;
   }
}

@media screen and (max-width: 767px) {
   .cta {
      padding: 0 0 50px;
   }

   .cta:before {
      top: 40px;
      right: 0;
      left: 0;
   }

   .cta h2 {
      background-size: 35px auto, 35px auto;
      font-size: 24px;
      padding: 0 45px;
   }

   .cta h2 .cl-red {
      font-size: 36px;
   }

   .cta .banner {
      grid-template-columns: 1fr;
      gap: 20px;
      padding-top: 10px;
   }

   .cta .desc {
      font-size: 13px;
   }

   .cta .list-point {
      margin-top: 40px;
      padding: 20px;
   }

   .cta .list-point .item {
      grid-template-columns: 1fr;
      position: relative;
   }

   .cta .list-point .item+.item {
      margin-top: 30px;
      padding-top: 0;
   }

   .cta .list-point h3 {
      display: block;
   }

   .cta .list-point h3 img {
      max-width: 40px;
      position: absolute;
      top: 0;
      left: 0;
   }

   .cta.last {
      margin-bottom: 100px;
   }
}

/*=============================================*
* 会社概要
*=============================================*/
#company__profile .tb-style {
   padding-top: 30px;
}

#company__profile .tb-style .business-intro>div+div {
   padding-top: 25px;
}

#company__profile .tb-style .business-intro a {
   text-decoration: underline;
}

#company__profile .tb-style .business-intro a:hover {
   text-decoration: none;
}

#company__profile .tb-style .business-intro .item-1 .ttl {
   display: grid;
   grid-template-columns: 170px 1fr;
}

#company__profile .tb-style .business-intro .item-1 .url {
   padding-left: 210px;
}

#company__profile .tb-style .business-intro .item-2 .url {
   padding: 25px 0 0 170px;
}

#company__profile .tb-style .business-intro .item-2 .url a {
   display: inline-block;
   padding-left: 40px;
}

#company__profile .box {
   font-size: 15px;
   line-height: 26px;
}

#company__profile .box dl {
   display: grid;
   grid-template-columns: 125px 1fr;
   border-bottom: 1px dashed #6E6E6E;
   padding: 20px 0;
}

#company__profile .box dl dd {
   display: grid;
   grid-template-columns: 235px 1fr;
   gap: 10px;
   align-items: flex-end;
}

@media screen and (max-width: 767px) {
   #company__profile .tb-style .business-intro .item-1 .ttl {
      display: block;
      text-indent: -16px;
      padding-left: 16px;
   }

   #company__profile .tb-style .business-intro .item-1 .ttl span {
      display: block;
   }

   #company__profile .tb-style .business-intro .item-1 .url {
      padding-left: 40px;
   }

   #company__profile .tb-style .business-intro .item-2 .url {
      padding: 15px 0 0 16px;
   }

   #company__profile .tb-style .business-intro .item-2 .url a {
      padding-left: 24px;
   }

   #company__profile .box {
      font-size: 14px;
   }

   #company__profile .box dl {
      grid-template-columns: 1fr;
      gap: 10px;
   }

   #company__profile .box dl dd {
      grid-template-columns: 1fr;
   }
}

/*=============================================*
* 私たちについて
*=============================================*/
#about__lead figure {
   max-width: 765px;
   margin: 0 auto;
}

#about__lead h2 {
   padding-top: 65px;
}

#about__lead .txt {
   line-height: 43px;
   padding-top: 35px;
}

@media screen and (max-width: 767px) {
   #about__lead h2 {
      padding-top: 30px;
   }

   #about__lead .txt {
      text-align: justify;
      line-height: 30px;
      padding-top: 20px;
   }
}

/* -- -- */
#about__message .wrap {
   padding: 120px 60px;
}

#about__message .wrap:before {
   content: '';
   border-left: 2px solid #F4DA7E;
   position: absolute;
   top: 12%;
   bottom: 6%;
   left: 0.6%;
}

#about__message .wrap:after {
   content: '';
   border-left: 2px solid #F4DA7E;
   position: absolute;
   top: 6%;
   right: 0.6%;
   bottom: 12%;
}

#about__message .line {
   width: 100%;
   position: absolute;
   left: 0;
}

#about__message .line.top {
   top: 0;
}

#about__message .line.bottom {
   bottom: 0;
}

#about__message h3 {
   padding-top: 50px;
}

#about__message .txt {
   line-height: 35px;
   padding-top: 50px;
}

#about__message .txt p+p {
   padding-top: 40px;
}

#about__message .date {
   line-height: 52px;
   padding-top: 50px;
}

@media screen and (max-width: 1023px) {
   #about__message .wrap {
      padding: 12vw 30px;
   }

   #about__message .wrap:before {
      top: 12vw;
      bottom: 6vw;
      left: 0.5vw;
   }

   #about__message .wrap:after {
      top: 6vw;
      right: 0.5vw;
      bottom: 12vw;
   }
}

@media screen and (max-width: 767px) {
   #about__message {
      padding-right: 20px;
      padding-left: 20px;
   }

   #about__message .wrap {
      padding: 12vw 20px;
   }

   #about__message .wrap:before {
      border-left-width: 1px;
   }

   #about__message .wrap:after {
      border-left-width: 1px;
   }

   #about__message h3 {
      font-size: 18px;
      padding-top: 30px;
   }

   #about__message .txt {
      line-height: 30px;
      padding-top: 20px;
   }

   #about__message .txt p+p {
      padding-top: 20px;
   }

   #about__message .date {
      line-height: 35px;
      padding-top: 30px;
   }
}

/* -- -- */
#about__philosophy .txt {
   background-color: #BCE9FF;
   padding: 25px 25px;
   line-height: 35px;
}

#about__philosophy .txt p+p {
   padding-top: 45px;
}

#about__philosophy .photos figure {
   position: relative;
}

#about__philosophy .photos figcaption {
   background-color: #fff;
   width: 220px;
   position: absolute;
   bottom: 25px;
   left: 0;
   padding: 3px 10px;
}

#about__philosophy .photos figcaption:before {
   content: '';
   width: 60px;
   height: 101%;
   background-color: #fff;
   position: absolute;
   top: 0;
   left: 99.9%;
   clip-path: polygon(0 0, 0% 100%, 100% 100%);
}

#about__philosophy .photos figcaption .sub {
   color: #8CD3FF;
   padding-left: 15px;
}

#about__philosophy .photos .gr1 {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 8px;
   padding-top: 13px;
}

#about__philosophy .photos .gr2 {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 8px;
   padding-top: 13px;
}

@media screen and (max-width: 1023px) {
   #about__philosophy .photos figcaption {
      width: 170px;
   }

   #about__philosophy .photos figcaption:before {
      width: 40px;
   }

   #about__philosophy .photos figcaption .sub {
      padding-left: 5px;
   }
}

@media screen and (max-width: 767px) {
   #about__philosophy .txt {
      text-align: justify;
      padding: 30px 20px;
   }

   #about__philosophy .txt p+p {
      padding-top: 20px;
   }

   #about__philosophy .photos .gr1,
   #about__philosophy .photos .gr2 {
      grid-template-columns: 1fr;
   }
}

/* -- -- */
#about__group h3 {
   padding-top: 110px;
}

#about__group .desc {
   padding-top: 45px;
}

#about__group .box {
   display: flex;
   align-items: flex-start;
   flex-wrap: wrap;
   gap: 20px 45px;
   padding-top: 80px;
}

#about__group .box+.box {
   padding-top: 120px;
}

#about__group .box h4 {
   display: flex;
   align-items: center;
   gap: 30px;
   width: 100%;
}

#about__group .box .logo-1 {
   max-width: 117px;
}

#about__group .box .logo-2 {
   max-width: 262px;
}

#about__group .box .logo-3 {
   max-width: 167px;
}

#about__group .box .txt {
   width: 615px;
}

#about__group .box .txt p+p {
   padding-top: 25px;
}

#about__group .box figure {
   width: 540px;
}

#about__group .box figcaption {
   padding-top: 40px;
   text-align: right;
}

#about__group .box figcaption a {
   display: inline-flex;
   justify-content: center;
   background-color: #345E9B;
   color: #fff;
   width: 240px;
   border-radius: 10px;
   font-weight: 700;
   line-height: 40px;
   text-align: center;
}

@media screen and (max-width: 1440px) {
   #about__group .box figure {
      width: calc(100% - 666px);
   }
}

@media screen and (max-width: 1023px) {
   #about__group .box {
      gap: 30px;
   }

   #about__group .box h4 {
      flex-direction: column;
      gap: 10px;
      text-align: center;
   }

   #about__group .box .txt {
      width: 100%;
   }

   #about__group .box figure {
      width: 100%;
      text-align: center;
   }
}

@media screen and (max-width: 767px) {
   #about__group h3 {
      font-size: 20px;
      padding-top: 50px;
   }
	


   #about__group .desc {
      text-align: justify;
      padding-top: 20px;
   }

   #about__group .box {
      padding-top: 50px;
   }

   #about__group .box+.box {
      padding-top: 50px;
   }

   #about__group .box .txt {
      padding-top: 20px;
   }

   #about__group .box figcaption {
      padding-top: 20px;
   }

   #about__group .box figcaption a {
      width: 250px;
   }
}

/* -- -- */
#about__consultation h2 .en {
   right: 0;
   left: auto;
}

#about__consultation .desc {
   background-color: #D1F0FF;
   max-width: 1020px;
   line-height: 55px;
   margin: 40px auto 0;
   padding: 25px;
   box-sizing: border-box;
}

#about__consultation .photos {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 20px;
   padding-top: 45px;
}

#about__consultation .button-1 {
   padding-top: 45px;
}

@media screen and (max-width: 1200px) {
   #about__consultation h2 .en {
      right: auto;
      left: 50%;
   }
}

@media screen and (max-width: 767px) {
   #about__consultation h2 .en {
      font-size: 45px;
   }

   #about__consultation .desc {
      line-height: 35px;
      margin-top: 30px;
      padding: 30px 20px;
   }

   #about__consultation .photos {
      grid-template-columns: repeat(2, 1fr);
      gap: 10px;
   }
	
		#about__group .box figcaption {
   padding-top: 40px;
   text-align: center;
}
}

/* -- -- */
#about__partner {
   background-color: #345E9B;
   margin-bottom: 40px;
   padding: 25px 0 35px;
}

#about__partner .wrap {
   padding-top: 30px;
}

#about__partner h2 {
   width: 565px;
   position: relative;
   padding: 16px 0;
   z-index: 1;
}

#about__partner h2:before {
   content: '';
   width: 1000000px;
   height: 100%;
   background-color: #fff;
   position: absolute;
   top: 0;
   right: 0;
   z-index: -1;
}

#about__partner h2:after {
   content: '';
   width: 65px;
   height: 100%;
   background-color: #fff;
   position: absolute;
   top: 0;
   left: 100%;
   clip-path: polygon(0 0, 0% 100%, 100% 0);
}

#about__partner .txt {
   background-color: rgba(255, 255, 255, 0.8);
   width: 620px;
   box-sizing: border-box;
   margin-top: 50px;
   padding: 30px 20px 70px;
   position: relative;
   z-index: 1;
}

#about__partner .txt p {
   padding-top: 45px;
}

#about__partner figure {
   width: 630px;
   position: absolute;
   bottom: 0;
   right: 0;
}

#about__partner .button-1 {
   position: absolute;
   bottom: 15px;
   right: 10px;
}

@media screen and (max-width: 1440px) {
   #about__partner h2 {
      width: 515px;
   }

   #about__partner .txt {
      width: 560px;
   }
}

@media screen and (max-width: 1200px) {
   #about__partner h2 {
      width: 515px;
   }

   #about__partner .txt {
      width: 480px;
   }

   #about__partner figure {
      width: 500px;
   }
}

@media screen and (max-width: 1023px) {
   #about__partner h2 {
      width: calc(100% - 65px);
   }

   #about__partner .txt {
      width: 100%;
   }

   #about__partner figure {
      width: 100%;
      padding-top: 40px;
      position: relative;
      right: auto;
      bottom: auto;
   }
}

@media screen and (max-width: 767px) {
   #about__partner {
      padding: 50px 0;
   }

   #about__partner .wrap {
      padding-top: 0;
   }

   #about__partner .txt {
      margin-top: 20px;
      padding: 30px 20px;
   }

   #about__partner .txt p {
      padding-top: 20px;
   }

   #about__partner figure {
      padding-top: 30px;
   }
}

/*=============================================*
* お仕事探している方
*=============================================*/
#jobseeker__lead h2 {
   max-width: 665px;
   margin: 0 auto;
}

#jobseeker__lead .desc {
   padding-top: 35px;
}

#jobseeker__lead .box {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 12px;
   margin-top: 35px;
}

#jobseeker__lead .box .col {
   position: relative;
}

#jobseeker__lead .box .caption {
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   min-height: 128px;
   background-color: rgba(255, 255, 255, 0.8);
   position: absolute;
   right: 20px;
   bottom: 15px;
   left: 20px;
   padding: 15px;
   text-align: center;
}

#jobseeker__lead .txt {
   padding-top: 70px;
}

#jobseeker__lead .txt p+p {
   padding-top: 30px;
}

@media screen and (max-width: 1023px) {
   #jobseeker__lead .box {
      grid-template-columns: 390px;
      justify-content: center;
      gap: 50px;
   }
}

@media screen and (max-width: 767px) {
   #jobseeker__lead .desc {
      text-align: justify;
      padding-top: 20px;
   }

   #jobseeker__lead .box {
      grid-template-columns: 1fr;
   }

   #jobseeker__lead .box .caption {
      min-height: inherit;
      right: 10px;
      bottom: 10px;
      left: 10px;
   }

   #jobseeker__lead .txt {
      text-align: justify;
      padding-top: 30px;
   }

   #jobseeker__lead .txt p+p {
      padding-top: 20px;
   }
}

/* -- -- */
#jobseeker__working .box {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 12px;
   padding-top: 40px;
}

#jobseeker__working .box h3 {
   display: flex;
   flex-direction: column;
   justify-content: center;
   min-height: 70px;
   padding-top: 25px;
}

#jobseeker__working .box .txt {
   padding-top: 20px;
}

@media screen and (max-width: 1023px) {
   #jobseeker__working .box {
      grid-template-columns: 390px;
      justify-content: center;
      gap: 50px;
   }
}

@media screen and (max-width: 767px) {
   #jobseeker__working .box {
      grid-template-columns: 1fr;
   }

   #jobseeker__working .box h3 {
      min-height: inherit;
      padding-top: 20px;
   }

   #jobseeker__working .box .txt {
      padding-top: 15px;
   }
}

/* -- -- */
#jobseeker__support .desc {
   padding-top: 30px;
}

#jobseeker__support .box {
   padding-top: 70px;
}

#jobseeker__support .box .item {
   display: grid;
   grid-template-columns: 520px 1fr;
   gap: 40px;
}

#jobseeker__support .box .item+.item {
   margin-top: 40px;
}

#jobseeker__support .box h3 {
   display: grid;
   grid-template-columns: 60px 1fr;
   align-items: center;
   gap: 24px;
}

#jobseeker__support .box .txt {
   padding-top: 10px;
}

@media screen and (max-width: 1200px) {
   #jobseeker__support .box .item {
      grid-template-columns: repeat(2, 1fr);
   }
}

@media screen and (max-width: 767px) {
   #jobseeker__support .desc {
      text-align: justify;
      padding-top: 20px;
   }

   #jobseeker__support .box {
      padding-top: 30px;
   }

   #jobseeker__support .box .item {
      grid-template-columns: 1fr;
      gap: 30px;
   }

   #jobseeker__support .box h3 {
      grid-template-columns: 40px 1fr;
      gap: 10px;
   }
}

/* -- -- */
#jobseeker__flow figure {
   padding-top: 60px;
}

@media screen and (max-width: 767px) {
   #jobseeker__flow h2 .ja {
      font-size: 25px;
   }

   #jobseeker__flow figure {
      padding-top: 30px;
   }
}

/* -- -- */
#jobseeker__recruit .recruit__list {
   padding-top: 50px;
}

#jobseeker__recruit .works-slider .slide:hover {
   opacity: 1;
}

@media screen and (max-width: 767px) {
   #jobseeker__recruit .recruit__list {
      padding-top: 30px;
   }
}

/* -- -- */
#jobseeker__beginners .row {
   background-color: #019FE9;
   max-width: 1530px;
   margin: 100px auto 0;
   padding: 20px 0;
}

#jobseeker__beginners .title {
   display: flex;
   align-items: flex-end;
   gap: 80px;
}

#jobseeker__beginners h3 {
   width: 50%;
   background-color: #fff;
   font-weight: 700;
   font-size: 48px;
   line-height: 58px;
   letter-spacing: 0;
   position: relative;
   text-align: right;
   padding: 11px 0;
}

#jobseeker__beginners h3:before {
   content: '';
   width: 145px;
   height: 100%;
   background-color: #fff;
   position: absolute;
   top: 0;
   left: 100%;
   clip-path: polygon(0 0, 0% 100%, 100% 0);
}

#jobseeker__beginners h4 {
   color: #fff;
}

#jobseeker__beginners .photos {
   display: grid;
   grid-template-columns: repeat(6, 1fr);
   gap: 10px;
   padding-top: 15px;
}

#jobseeker__beginners .txt {
   max-width: 810px;
   background-color: rgba(209, 240, 255, 0.8);
   margin-top: 10px;
   padding: 30px 30px;
   box-sizing: border-box;
}

#jobseeker__beginners .txt p+p {
   padding-top: 20px;
}

#jobseeker__beginners .photo-ozawa {
   width: 306px;
   position: absolute;
   bottom: 0;
   right: 0;
   text-align: center;
}

#jobseeker__beginners .photo-ozawa img {
   max-width: 255px;
}

@media screen and (max-width: 1200px) {
   #jobseeker__beginners h3 {
      font-size: 36px;
   }

   #jobseeker__beginners h4 {
      font-size: 20px;
   }

   #jobseeker__beginners .txt {
      max-width: 640px;
      padding: 30px 20px;
   }
}

@media screen and (max-width: 1023px) {
   #jobseeker__beginners .title {
      flex-direction: column;
      align-items: flex-start;
      gap: 20px;
   }

   #jobseeker__beginners h3 {
      width: 78%;
   }

   #jobseeker__beginners h4 {
      width: 100%;
      text-align: center;
   }

   #jobseeker__beginners .txt {
      max-width: 100%;
   }

   #jobseeker__beginners .photo-ozawa {
      margin: 0 auto;
      position: relative;
      bottom: auto;
      right: auto;
   }
}

@media screen and (max-width: 767px) {
   #jobseeker__beginners .title {
      flex-direction: column;
      align-items: flex-start;
      gap: 20px;
   }

   #jobseeker__beginners h3 {
      width: calc(100% - 40px);
      font-size: 24px;
      line-height: 38px;
   }

   #jobseeker__beginners h3:before {
      width: 40px;
   }

   #jobseeker__beginners h4 {
      font-size: 18px;
   }

   #jobseeker__beginners .photos {
      grid-template-columns: repeat(2, 1fr);
   }

   #jobseeker__beginners .photo-ozawa img {
      max-width: 150px;
   }
}

/* -- -- */
#faq .box-qa {
   padding-top: 60px;
}

@media screen and (max-width: 767px) {
   #faq .box-qa {
      padding-top: 30px;
   }
}

/*=============================================*
* お問い合わせ
*=============================================*/
#clients__lead h2 {
   max-width: 765px;
   margin: 0 auto;
}

#clients__lead .desc {
   padding-top: 70px;
}

#clients__lead .desc .h-24 {
   padding-top: 35px;
}

#clients__lead .photo {
   padding-top: 96px;
}

#clients__lead .box {
   display: flex;
   align-items: center;
   background: linear-gradient(to right, #1A97D4, #00619F);
   color: #fff;
   margin-top: 12px;
   padding: 12px 24px 12px 12px;
}

#clients__lead .box figure {
   width: 555px;
}

#clients__lead .box .col {
   margin: 30px -10px;
}

#clients__lead .box .txt {
   line-height: 36px;
   padding-top: 20px;
}

#clients__lead .box .txt p+p {
   padding-top: 30px;
}

#clients__lead .box ul {
   display: flex;
   align-items: center;
   flex-wrap: wrap;
   gap: 5px;
   padding-top: 30px;
}

#clients__lead .box ul li {
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   width: 200px;
   height: 200px;
   border-radius: 50%;
   background: linear-gradient(125deg, #FFFFFF 61%, #999999 92%);
   color: #002A68;
   position: relative;
   z-index: 1;
   line-height: 30px;
}

#clients__lead .box ul li span {
   line-height: inherit;
}

#clients__lead .box ul li:before {
   content: '';
   background: linear-gradient(to right, #FF7700, #FFF700);
   position: absolute;
   top: 8px;
   right: 8px;
   bottom: 8px;
   left: 8px;
   border-radius: 50%;
   z-index: -1;
}

#clients__lead .box .catch {
   line-height: 36px;
   padding-top: 30px;
}

#clients__lead .button {
   padding-top: 40px;
}

@media screen and (max-width: 1440px) {
   #clients__lead .box figure {
      width: 495px;
   }
}

@media screen and (max-width: 1200px) {
   #clients__lead .box figure {
      width: 325px;
   }
}

@media screen and (max-width: 1023px) {
   #clients__lead .box {
      flex-direction: column;
      align-items: center;
      gap: 50px;
   }

   #clients__lead .box figure {
      width: 555px;
   }
}

@media screen and (max-width: 767px) {
   #clients__lead .desc {
      text-align: justify;
      padding-top: 20px;
   }

   #clients__lead .desc .h-24 {
      font-size: 16px;
      padding-top: 20px;
   }

   #clients__lead .photo {
      padding-top: 50px;
   }

   #clients__lead .box {
      gap: 30px;
      padding: 10px;
   }

   #clients__lead .box figure {
      width: 100%;
   }

   #clients__lead .box .col {
      width: auto;
      margin-left: 0;
      padding-bottom: 20px;
   }

   #clients__lead .box .txt {
      text-align: left;
      padding-top: 30px;
   }

   #clients__lead .box .txt p+p {
      padding-top: 20px;
   }

   #clients__lead .box ul {
      flex-direction: column;
   }
}

/* -- -- */
#clients__worries .desc {
   padding-top: 40px;
}

#clients__worries .box {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 15px;
   padding-top: 40px;
}

#clients__worries .box h3 {
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   background: linear-gradient(45deg, #ACACAC, #555555);
   color: #fff;
   text-align: center;
   height: 92px;
}

#clients__worries .catch {
   padding-top: 60px;
}

@media screen and (max-width: 767px) {
   #clients__worries .desc {
      padding-top: 20px;
   }

   #clients__worries .box {
      grid-template-columns: 1fr;
   }

   #clients__worries .catch {
      padding-top: 40px;
   }
}

/* -- -- */
#clients__solution h2 .en {
   right: 0;
   left: auto;
}

#clients__solution .box {
   padding-top: 45px;
}

#clients__solution .box .item {
   display: grid;
   grid-template-columns: 462px 1fr;
   align-items: center;
   gap: 45px;
}

#clients__solution .box .item+.item {
   padding-top: 30px;
}

#clients__solution .box figure {
   position: relative;
}

#clients__solution .box figure figcaption {
   width: 60px;
   position: absolute;
   top: 0;
   left: 15px;
}

#clients__solution .box .txt {
   padding-top: 45px;
}

#clients__solution .catch {
   line-height: 42px;
   padding-top: 50px;
}

#clients__solution .button {
   padding-top: 45px;
}

@media screen and (max-width: 1200px) {
   #clients__solution h2 .en {
      left: 50%;
   }

   #clients__solution h2 .ja {
      font-size: 55px;
   }
}

@media screen and (max-width: 1023px) {
   #clients__solution h2 .ja {
      font-size: 40px;
   }

   #clients__solution .box .item {
      grid-template-columns: 1fr;
      gap: 30px;
   }

   #clients__solution .box .item+.item {
      padding-top: 50px;
   }

   #clients__solution .box .txt {
      padding-top: 20px;
   }
}

@media screen and (max-width: 767px) {
   #clients__solution h2 .en {
      font-size: 45px;
   }

   #clients__solution h2 .ja {
      font-size: 25px;
   }

   #clients__solution .catch,
   #clients__solution .button {
      padding-top: 30px;
   }
}

/* -- -- */
#clients__flow h2 .en {
   right: 0;
   left: auto;
}

#clients__flow .box {
   display: flex;
   justify-content: center;
   flex-wrap: wrap;
   gap: 15px;
   max-width: 1010px;
   margin: 0 auto;
   padding-top: 75px;
}

#clients__flow .box .col {
   width: 162px;
   position: relative;
}

#clients__flow .box .col+.col {
   padding-left: 35px;
}

#clients__flow .box .col+.col:before {
   content: '';
   width: 20px;
   height: 22px;
   background: url("../img/common/arrow-double-right.png") no-repeat center top/cover;
   position: absolute;
   top: 72px;
   left: 0;
}

#clients__flow .box h3,
#clients__flow .box .txt {
   padding-top: 5px;
}

@media screen and (max-width: 1200px) {
   #clients__flow h2 .en {
      left: 50%;
   }

   #clients__flow h2 .ja {
      font-size: 58px;
   }

   #clients__flow .box {
      gap: 10px;
   }

   #clients__flow .box .col+.col {
      padding-left: 27px;
   }
}

@media screen and (max-width: 1023px) {
   #clients__flow h2 .ja {
      font-size: 50px;
   }
}

@media screen and (max-width: 767px) {
   #clients__flow h2 .en {
      font-size: 45px;
   }

   #clients__flow h2 .ja {
      font-size: 30px;
   }

   #clients__flow .box {
      flex-direction: column;
      align-items: center;
      flex-wrap: nowrap;
      padding-top: 30px;
   }

   #clients__flow .box .col+.col {
      padding: 30px 0 0;
   }

   #clients__flow .box .col+.col:before {
      transform: rotate(90deg);
      top: 0;
      left: calc(50% - 10px);
   }
}

/* -- -- */
/*=============================================*
* 人材をお探しの企業様
*=============================================*/
.mailform {
   padding: 50px 0 150px;
}

.mailform__h2 {
   max-width: 660px;
   margin: 0 auto;
}

.mailform__desc {
   font-weight: 400;
   padding-top: 40px;
}

.mailform__wrap {
   max-width: 980px;
   font-weight: 400;
   margin: 0 auto;
   padding-top: 40px;
}

.mailform__wrap .in {
   background-color: rgba(52, 94, 155, 0.24);
   border-radius: 10px;
   position: relative;
   padding: 84px 50px;
}

.mailform__wrap .in:before {
   content: '';
   background-color: #fff;
   position: absolute;
   top: 12px;
   right: 12px;
   bottom: 12px;
   left: 12px;
   border-radius: 10px;
}

.mailform .form-row {
   display: grid;
   grid-template-columns: 215px 1fr;
   gap: 35px;
   position: relative;
}

.mailform .form-row:not(:last-child) {
   padding-bottom: 30px;
}

.mailform .form-row .caption {
   display: flex;
   justify-content: space-between;
   align-items: center;
   line-height: 33px;
   position: relative;
}

.mailform .form-row .caption span {
   display: block;
   background-color: #FF7700;
   color: #fff;
   width: 84px;
   border-radius: 10px;
   text-align: center;
   font-weight: 700;
   line-height: 31px;
   padding-bottom: 2px;
}

.mailform .form-row .select .wpcf7-form-control-wrap {
   max-width: 170px;
}

.mailform .form-row .select [data-name="select-208"] {
   max-width: 510px;
}

.mailform .form-row [data-name="radio-399"] {
   display: block;
   padding-top: 13px;
}

.mailform .form-row [data-name="your-qualifications"] textarea {
   height: 116px;
}

.mailform .form-row .file-group {
   display: grid;
   grid-template-columns: repeat(2, 250px);
   gap: 70px;
   padding-top: 16px;
}

.mailform .form-row .file-group .file-ttl {
   padding-bottom: 6px;
}

.mailform .form-row .file-group .file-input {
   position: relative;
}

.mailform .form-row .file-group .file-input .wpcf7-not-valid-tip {
   background: #fff;
   width: 100%;
   position: absolute;
   bottom: 0;
   left: 0;
   padding: 10px;
   box-sizing: border-box;
   z-index: 1;
}

.mailform .form-row .file-group .file-input .wpcf7-form-control-wrap {
   position: static;
}

.mailform .form-row .file-group label {
   display: block;
   cursor: pointer;
   width: 100%;
   height: 170px;
   border: 3px solid #345E9B;
   border-radius: 10px;
   box-sizing: border-box;
   font-weight: 700;
   padding: 6px 12px;
   position: relative;
   overflow: hidden;
}

.mailform .form-row .file-group label:after {
   content: '';
   width: 27px;
   height: 27px;
   background: url("../img/common/icon-plus.png") no-repeat center top/cover;
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
}

.mailform .form-row .file-group label input {
   display: none;
}

.mailform .form-row .file-group label.active {
   font-size: 0;
}

.mailform .form-row .file-group .file-preview-img {
   max-height: 100%;
   position: absolute;
   top: 50%;
   left: 50%;
   z-index: 1;
   transform: translate(-50%, -50%);
}

.mailform .form-row:not(.vtop) {
   align-items: center;
}

.mailform .form-row.vtop {
   align-items: flex-start;
}

.mailform .form-note {
   font-weight: 400;
   position: relative;
   padding-top: 10px;
}

.mailform__btn {
   display: flex;
   justify-content: center;
   align-items: center;
   gap: 20px;
   padding-top: 70px;
}

.mailform__btn p {
   display: inline-flex;
   justify-content: center;
   align-items: center;
   width: 290px;
   height: 62px;
   background: #FF7700;
   color: #fff;
   font-weight: 700;
   font-size: 24px;
   letter-spacing: 0;
   line-height: 36px;
   text-align: center;
   box-sizing: border-box;
   margin: 0;
   padding: 0;
   position: relative;
   z-index: 1;
   transition: all 0.3s;
   border-radius: 10px;
}

.mailform__btn p:hover {
   background-color: #333;
   color: #fff;
}

.mailform__btn input,
.mailform__btn a {
   display: block;
   width: 100%;
   height: 100%;
   opacity: 0;
   position: absolute;
   top: 0;
   left: 0;
   cursor: pointer;
}

.mailform__btn .btn-prev {
   background: #D9D9D9;
   color: #333;
}

.mailform .wpcf7-spinner {
   display: none;
}

@media screen and (max-width: 1023px) {
   .mailform .form-row .file-group {
      grid-template-columns: repeat(2, 1fr);
      gap: 10px;
   }
}

@media screen and (max-width: 767px) {
   .mailform {
      padding-bottom: 50px;
   }

   .mailform__wrap .in {
      padding: 24px;
   }

   .mailform__wrap .in:before {
      top: 8px;
      right: 8px;
      bottom: 8px;
      left: 8px;
   }

   .mailform .form-row {
      grid-template-columns: 1fr;
      gap: 10px;
   }

   .mailform .form-row .caption {
      justify-content: flex-start;
      gap: 10px;
   }

   .mailform .form-row .caption span {
      width: 50px;
      font-size: 16px;
      line-height: 26px;
   }

   .mailform .form-row [data-name="radio-399"] {
      padding-top: 0;
   }

   .mailform .form-row .file-group {
      grid-template-columns: 1fr;
      gap: 20px;
      padding-top: 0;
   }

   .mailform__btn {
      padding-top: 40px;
   }

   .mailform__btn p {
      width: 250px;
      height: 52px;
   }
}

/* -- -- */
.mailform.thanks {
   text-align: center;
}

.mailform.thanks .txt {
   padding-top: 40px;
}

.mailform.thanks .txt p+p {
   padding-top: 30px;
}

.mailform.thanks .button {
   text-align: center;
   padding-top: 50px;
}

@media screen and (max-width: 767px) {
   .mailform.thanks .txt {
      text-align: justify;
   }
}

/*=============================================*
* Post type
*=============================================*/
.wp-pagenavi {
   display: flex;
   align-items: center;
   justify-content: center;
   flex-wrap: wrap;
   gap: 10px;
   position: relative;
   padding-top: 60px;
}

.wp-pagenavi .pages {
   display: none;
}

.wp-pagenavi span,
.wp-pagenavi a {
   display: flex;
   align-items: center;
   justify-content: center;
   width: 30px;
   height: 30px;
   background-color: #fff;
   border: 1px solid #24528E;
   color: #24528E;
   border-radius: 50%;
   font-weight: 500;
   font-size: 14px;
   letter-spacing: 0;
   line-height: 20px;
   box-sizing: border-box;
   padding-bottom: 2px;
}

.wp-pagenavi a:hover {
   background-color: #24528E;
   color: #fff;
   opacity: 1;
}

.wp-pagenavi .current {
   pointer-events: none;
   background-color: #24528E;
   color: #fff;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
   background-color: #fff;
   font-size: 0;
   padding-bottom: 0px;
}

.wp-pagenavi .previouspostslink:after,
.wp-pagenavi .nextpostslink:after {
   content: '';
   -webkit-mask: url("../img/common/arrow-right.png") no-repeat center/100% auto;
   mask: url("../img/common/arrow-right.png") no-repeat center/100% auto;
   background: #24528E;
   width: 9px;
   height: 8px;
}

.wp-pagenavi .previouspostslink:hover,
.wp-pagenavi .nextpostslink:hover {
   background-color: #24528E;
}

.wp-pagenavi .previouspostslink:hover:after,
.wp-pagenavi .nextpostslink:hover:after {
   background: #fff;
}

.wp-pagenavi .previouspostslink:after {
   transform: rotate(180deg);
}

@media screen and (max-width: 767px) {
   .wp-pagenavi {
      padding-top: 30px;
   }
}

/* -- -- */
/* -- -- */
.news__list {
   max-width: 860px;
   margin: 0 auto;
}

.news__list li {
   border-top: 1px solid;
   border-bottom: 1px solid;
   padding: 10px 60px;
}

.news__list li+li {
   border-top: 0;
}

.news__list time {
   display: block;
}

.news__list a {
   display: block;
   text-align: center;
   padding: 0 30px;
}

.news__list a span {
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 1;
   display: -webkit-box;
   overflow: hidden;
}

@media screen and (max-width: 767px) {
   .news__list li {
      padding: 10px 10px;
   }

   .news__list a {
      padding: 0 10px;
   }
}

/* -- -- */
#cpt-news {
   padding: 200px 0;
}

@media screen and (max-width: 767px) {
   #cpt-news {
      padding: 100px 0;
   }
}

/* -- -- */
#cpt-detail {
   padding: 200px 0;
}

#cpt-detail .cate,
#cpt-detail time {
   display: inline-flex;
   vertical-align: middle;
   line-height: 23px;
   letter-spacing: 0.08em;
}

#cpt-detail time {
   font-size: 14px;
   padding-right: 15px;
}

#cpt-detail .cate {
   flex-wrap: wrap;
   gap: 5px;
}

#cpt-detail .cate a {
   min-width: 60px;
   font-size: 12px;
   background-color: #fff;
   border: 1px solid #ccc;
   border-radius: 6px;
   padding: 0 5px;
   text-align: center;
}

#cpt-detail .hr {
   margin: 50px 0;
}

#cpt-detail .the_title {
   padding-top: 20px;
}

#cpt-detail .featured-img {
   padding-top: 20px;
}

#cpt-detail .the_content {
   word-break: break-all;
}

#cpt-detail .the_content h2 {
   background-color: #f5f5f5;
   border-left: 5px solid #24528E;
   font-weight: 700;
   font-size: 24px;
   line-height: 32px;
   letter-spacing: 0;
   margin: 50px 0 20px;
   padding: 10px 15px;
}

#cpt-detail .the_content h3 {
   font-weight: 700;
   font-size: 22px;
   line-height: 32px;
   letter-spacing: 0;
   border-bottom: 2px solid #24528E;
   border-left: 5px solid #24528E;
   margin: 50px 0 20px;
   padding: 0 15px 10px;
}

#cpt-detail .the_content h4 {
   font-weight: 700;
   font-size: 20px;
   line-height: 32px;
   letter-spacing: 0;
   border-left: 5px solid #24528E;
   margin: 50px 0 20px;
   padding: 0 0 0 15px;
}

#cpt-detail .the_content h2:first-child,
#cpt-detail .the_content h3:first-child,
#cpt-detail .the_content h4:first-child {
   margin-top: 0;
}

#cpt-detail .the_content h2+h3,
#cpt-detail .the_content h2+h4,
#cpt-detail .the_content h2+h5,
#cpt-detail .the_content h3+h4,
#cpt-detail .the_content h3+h5,
#cpt-detail .the_content h4+h5 {
   margin-top: 0;
}

#cpt-detail .the_content ul {
   list-style: disc;
   padding-left: 30px;
}

#cpt-detail .the_content ol {
   list-style: decimal;
   padding-left: 30px;
}

#cpt-detail .the_content a {
   text-decoration: underline;
}

#cpt-detail .the_content a:hover {
   text-decoration: none;
}

#cpt-detail .the_content p img {
   display: inline-block;
   vertical-align: top;
   margin-right: 20px;
}

#cpt-detail .the_content p img.aligncenter {
   display: block;
   margin: 0 auto;
}

#cpt-detail .the_content p img.alignright {
   display: block;
   margin-left: auto;
}

#cpt-detail .the_content p img:last-child {
   margin-right: 0;
}

#cpt-detail .the_content a {
   text-decoration: underline;
}

#cpt-detail .the_content a:hover {
   text-decoration: none;
}

@media screen and (max-width: 1023px) {
   #cpt-detail .the_content p img {
      display: block;
      margin: 0 auto 15px;
   }

   #cpt-detail .the_content p img:last-child {
      margin: 0 auto;
   }
}

@media screen and (max-width: 767px) {
   #cpt-detail {
      padding: 100px 0;
   }

   #cpt-detail .hr {
      margin: 30px 0;
   }

   #cpt-detail .the_content h2 {
      font-size: 20px;
      padding: 10px;
   }

   #cpt-detail .the_content h3 {
      font-size: 18px;
      line-height: 26px;
   }

   #cpt-detail .the_content h4 {
      font-size: 16px;
      line-height: 26px;
   }

   #cpt-detail .the_content ul,
   #cpt-detail .the_content ol {
      padding-left: 15px;
   }

   #cpt-detail .the_content p img {
      display: block;
      margin: 0 auto 15px;
   }

   #cpt-detail .the_content p img.alignright {
      margin: 0 auto 15px;
   }

   #cpt-detail .the_content p img:last-child {
      margin: 0 auto !important;
   }
}

/*=============================================*
* プライバシーポリシー
*=============================================*/
.page-id-48 #container {
   padding: 200px 0;
}

.privacy {
   font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
   line-height: 1.8;
   color: #333;
}

.privacy .container {
   max-width: 1000px;
   margin: 0 auto;
   background-color: #fff;
   padding: 2rem;
   box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
   border-radius: 8px;
   box-sizing: border-box;
}

.privacy h1 {
   font-weight: 700;
   font-size: 2rem;
   color: #2c3e50;
   margin-bottom: 2rem;
   padding-bottom: 1rem;
   border-bottom: 3px solid #3498db;
}

.privacy h2 {
   font-weight: 700;
   font-size: 1.5rem;
   color: #2c3e50;
   margin-top: 2.5rem;
   margin-bottom: 1rem;
   padding-left: 0.8rem;
   border-left: 4px solid #3498db;
}

.privacy h3 {
   font-weight: 700;
   font-size: 1.2rem;
   color: #34495e;
   margin-top: 1.5rem;
   margin-bottom: 0.8rem;
}

.privacy p {
   font-size: 1rem;
   margin-bottom: 1rem;
}

.privacy ul {
   margin-left: 2rem;
   margin-bottom: 1rem;
}

.privacy li {
   font-size: 1rem;
   margin-bottom: 0.5rem;
}

.privacy .section {
   margin-bottom: 2rem;
}

.privacy .subsection {
   margin-left: 1.5rem;
   margin-bottom: 1.5rem;
}

.privacy .note {
   background-color: #ecf0f1;
   padding: 1rem;
   border-radius: 4px;
   margin: 1rem 0;
   font-size: 0.95rem;
}

.privacy .contact-box {
   background-color: #e8f4f8;
   padding: 1.5rem;
   border-radius: 8px;
   margin-top: 2rem;
   border: 1px solid #3498db;
}

.privacy .contact-box h2 {
   margin-top: 0;
   border-left: none;
   padding-left: 0;
}

.privacy .contact-item {
   margin-bottom: 0.5rem;
   font-size: 1rem;
}

.privacy .contact-item strong {
   display: inline-block;
   min-width: 180px;
   color: #2c3e50;
}

.privacy a {
   color: #3498db;
   text-decoration: none;
   word-break: break-all;
}

.privacy a:hover {
   text-decoration: underline;
}

@media (max-width: 768px) {
   .privacy .container {
      padding: 1.5rem;
   }

   .privacy h1 {
      font-size: 1.6rem;
   }

   .privacy h2 {
      font-size: 1.3rem;
   }

   .privacy h3 {
      font-size: 1.1rem;
   }

   .privacy .subsection {
      margin-left: 1rem;
   }

   .privacy ul {
      margin-left: 1.5rem;
   }

   .privacy .contact-item strong {
      display: block;
      margin-bottom: 0.25rem;
   }
}

@media (max-width: 480px) {
   .privacy body {
      padding: 0.5rem;
   }

   .privacy .container {
      padding: 1rem;
   }

   .privacy h1 {
      font-size: 1.4rem;
   }

   .privacy h2 {
      font-size: 1.2rem;
   }
}

@media screen and (max-width: 767px) {
   .page-id-48 #container {
      padding: 50px 0;
   }
}
