@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
/* link
----------------------------------------------------------------------*/
a:link {
  text-decoration: none;
}

a:visited {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

a:active {
  text-decoration: none;
}

/* pcNone,spNone
----------------------------------------------------------*/
@media only screen and (min-width: 769px) {
  /* show
  ----------*/
  .pcBlock {
    display: block;
  }

  .spBlock {
    display: none;
  }

  .pcBlock-i {
    display: inline-block;
  }

  .spBlock-i {
    display: none;
  }

  /* hide
  ----------*/
  .pcNone {
    display: none;
  }

  .spNone {
    display: block;
  }

  .pcNone-i {
    display: none;
  }

  .spNone-i {
    display: inline;
  }
}
@media only screen and (max-width: 768px) {
  /* show
  ----------*/
  .pcBlock {
    display: none;
  }

  .spBlock {
    display: block;
  }

  .pcBlock-i {
    display: none;
  }

  .spBlock-i {
    display: inline-block;
  }

  /* hide
  ----------*/
  .pcNone {
    display: block;
  }

  .spNone {
    display: none;
  }

  .pcNone-i {
    display: inline;
  }

  .spNone-i {
    display: none;
  }
}
.btnSect {
  display: flex;
}

@media only screen and (min-width: 769px) {
  .btnSect {
    justify-content: center;
    padding: 50px 0;
  }
  .btnSect .btn01 {
    margin: 0 15px;
  }
}
@media only screen and (max-width: 768px) {
  .btnSect {
    flex-wrap: wrap;
    padding: 40px 0 20px;
  }
  .btnSect .btn01 {
    max-width: calc(50% - 10px);
    min-width: 130px;
    width: calc(50% - 10px);
  }
  .btnSect .btn01:nth-child(odd) {
    margin-right: 10px;
  }
  .btnSect .btn01:nth-child(even) {
    margin-left: 10px;
  }
  .btnSect .btn01::after {
    content: "";
    display: block;
    width: 50%;
    height: 0;
  }
  .btnSect .btn01:nth-child(n+3) {
    margin-top: 15px;
  }
  .btnSect .btn01 a {
    width: 100%;
  }
}
.featureSect .inner .sectMain {
  margin-top: 50px;
}
.featureSect .inner .sectMain .itemList li .txtBlock {
  position: relative;
  padding: 45px;
  background-color: rgba(2, 118, 191, 0.95);
  color: #fff;
}
.featureSect .inner .sectMain .itemList li .txtBlock .tit {
  font-size: 23px;
  font-size: 2.3rem;
}

@media only screen and (min-width: 769px) {
  .featureSect {
    padding: 70px 0;
  }
  .featureSect .inner .sectMain .itemList li {
    display: flex;
    align-items: center;
  }
  .featureSect .inner .sectMain .itemList li + li {
    margin-top: 50px;
  }
  .featureSect .inner .sectMain .itemList li:nth-child(1) .txtBlock {
    margin-left: -100px;
  }
  .featureSect .inner .sectMain .itemList li:nth-child(2) .txtBlock {
    margin-right: -100px;
  }
  .featureSect .inner .sectMain .itemList li:nth-child(2) {
    flex-direction: row-reverse;
  }
  .featureSect .inner .sectMain .itemList li .txtBlock {
    min-width: 300px;
  }
  .featureSect .inner .sectMain .itemList li .txtBlock:nth-child(2) {
    flex-direction: row-reverse;
  }
  .featureSect .inner .sectMain .itemList li .txtBlock .txt {
    margin-top: 15px;
  }
}
@media only screen and (max-width: 768px) {
  .featureSect {
    padding: 50px 0;
  }
  .featureSect .inner .sectMain .itemList li + li {
    margin-top: 50px;
  }
  .featureSect .inner .sectMain .itemList li .txtBlock {
    margin: -50px 15px 0;
  }
}
.voiceSect .inner .sectMain {
  margin-top: 50px;
}
.voiceSect .inner .sectMain .itemList li {
  position: relative;
}
.voiceSect .inner .sectMain .itemList li .num {
  position: absolute;
  display: inline-block;
  padding: 10px 20px;
  border: 1px solid #0276BF;
  background-color: #fff;
  color: #0276BF;
  font-size: 17px;
  font-size: 1.7rem;
}
.voiceSect .inner .sectMain .itemList li .listMain {
  background-color: #F5F9FC;
}
.voiceSect .inner .sectMain .itemList li .listMain .imgBlock .name {
  font-size: 14px;
  font-size: 1.4rem;
  text-align: right;
}
.voiceSect .inner .sectMain .itemList li .listMain .txtBlock .tit {
  font-weight: bold;
}
.voiceSect .inner .sectMain .itemList li .listMain .txtBlock .other {
  margin-top: 10px;
  color: #0276BF;
}
.voiceSect .inner .sectMain .itemList li .listMain .txtBlock .txt {
  margin-top: 10px;
}
.voiceSect .inner .sectMain .itemList li .listMain .txtBlock .txtTit + .txt {
  margin-top: 3px;
}
.voiceSect .inner .sectMain .itemList li .listMain .txtBlock .txtTit {
  margin-top: 20px;
  font-weight: bold;
}

.read-more-1 {
  position: relative;
}
.read-more-1 .txtBox {
  position: relative;
  max-height: 200px;
  margin-bottom: 0;
  overflow: hidden;
  transition: max-height 1s;
}
.read-more-1 .txtBox::after {
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 60px;
  background: linear-gradient(180deg, rgba(245, 249, 252, 0) 0%, rgba(245, 249, 252, 0.9) 50%, #F5F9FC 100%);
  content: '';
}
.read-more-1:has(:checked) .txtBox {
  max-height: 100vh;
}
.read-more-1:has(:checked) .txtBox::after {
  content: none;
}
.read-more-1:has(:checked) label::after {
  width: 6em;
  content: '＜ 元に戻す';
}
.read-more-1 label {
  display: none;
}
.read-more-1 label {
  display: flex;
  align-items: center;
  gap: 0 4px;
  position: absolute;
  bottom: -22px;
  right: 0;
  color: #0276BF;
  font-size: 14px;
  font-size: 1.4rem;
}
.read-more-1 label:hover {
  text-decoration: underline;
  cursor: pointer;
}
.read-more-1 label::after {
  display: inline-block;
  width: 7em;
  height: 20px;
  content: '続きを読む ＞';
}
.read-more-1 input {
  display: none;
}

@media only screen and (min-width: 769px) {
  .voiceSect {
    padding: 70px 0;
  }
  .voiceSect .inner .sectMain .itemList li + li {
    margin-top: 50px;
  }
  .voiceSect .inner .sectMain .itemList li:nth-child(even) .listMain {
    flex-direction: row-reverse;
  }
  .voiceSect .inner .sectMain .itemList li .num {
    top: -20px;
    left: -20px;
  }
  .voiceSect .inner .sectMain .itemList li .listMain {
    padding: 50px;
    display: flex;
    gap: 35px;
  }
  .voiceSect .inner .sectMain .itemList li .listMain .imgBlock .img01 {
    max-width: 450px;
    min-width: 270px;
  }
  .voiceSect .inner .sectMain .itemList li .listMain .txtBlock {
    max-width: 400px;
  }
  .voiceSect .inner .sectMain .itemList li .listMain .txtBlock .tit {
    font-size: 24px;
    font-size: 2.4rem;
  }
  .voiceSect .inner .sectMain .itemList li .listMain .txtBlock .other {
    font-size: 19px;
    font-size: 1.9rem;
  }
}
@media only screen and (max-width: 768px) {
  .voiceSect {
    padding: 50px 0 30px;
  }
  .voiceSect .inner .sectMain .itemList li + li {
    margin-top: 50px;
  }
  .voiceSect .inner .sectMain .itemList li .num {
    top: -30px;
    left: -5px;
  }
  .voiceSect .inner .sectMain .itemList li .listMain {
    padding: 30px 10px 45px;
  }
  .voiceSect .inner .sectMain .itemList li .listMain .txtBlock {
    margin-top: 10px;
  }
  .voiceSect .inner .sectMain .itemList li .listMain .txtBlock .tit {
    font-size: 17px;
    font-size: 1.7rem;
    line-height: 1.5;
  }
  .voiceSect .inner .sectMain .itemList li .listMain .txtBlock .other {
    font-size: 15px;
    font-size: 1.5rem;
  }
  .voiceSect .inner .sectMain .itemList li .listMain .txtBlock .other span {
    margin-left: 15px;
    color: #333;
    font-size: 13px;
    font-size: 1.3rem;
  }
}
.recruitSect .inner .sectMain {
  margin-top: 50px;
}
.recruitSect .inner .sectMain .historyTbl {
  width: 100%;
}
.recruitSect .inner .sectMain .historyTbl tbody tr td a {
  color: #0276BF;
  transition: .3s;
}
.recruitSect .inner .sectMain .historyTbl tbody tr td a:hover {
  opacity: .6;
}

@media only screen and (min-width: 769px) {
  .recruitSect {
    padding: 70px 0 140px;
  }
}
@media only screen and (max-width: 768px) {
  .recruitSect {
    padding: 50px 0 70px;
  }
}
