@charset "UTF-8";

/*****************************
pagesec-support
*****************************/
.pagesec-support .support{
  margin-top: 4rem;
}
.pagesec-support .fbox{
  border: 1px solid #7EB0E3;
  border-radius: 6px;
  box-shadow: 2px 2px 2px #ccc;
  padding: 4rem 2rem 3rem;
}
.pagesec-support .support .imgbox{
  margin-bottom: 1rem;
}
.pagesec-support .support .imgbox img{
  aspect-ratio: 56 / 27;
  max-width: 415px;
  width: 100%;
}
@media only screen and (max-width: 1180px) {
}
@media only screen and (max-width: 1024px) {
}
@media only screen and (max-width: 820px) {
  .pagesec-support .support .imgbox{
    margin: 0 auto 1rem;
    max-width: 80%;
  }
}
@media only screen and (max-width: 768px) {
}
@media only screen and (max-width: 767px) {
  .pagesec-support .support{
    gap: 5rem;
  }
  .pagesec-support .fbox{
    width: 100%;
  }
}

/*****************************
pagesec-feature
*****************************/
.pagesec-feature .featureslist{
  display: flex;
  flex-direction: column;
  gap: 10rem;
  margin-top: 8rem;
}
.pagesec-feature .featureslist .catch{
  aspect-ratio: 142 / 47;
  background: url(../../../images/ob/feature_ob.svg) no-repeat center / contain;
  position: absolute;
  top: -5rem;
  width: 280px;
}
.pagesec-feature .featureslist .featureitem:nth-of-type(odd) .catch{
  left: -4rem;
}
.pagesec-feature .featureslist .featureitem:nth-of-type(even) .catch{
  right: -4rem;
  transform: rotate(23deg);
}
.pagesec-feature .featureslist .catch span{
  color: #fff;
  font-size: 2.3rem;
  font-weight: 500;
  position: absolute;
  top: 39%;
  left: -3%;
  text-align: center;
  transform: rotate(-12deg) translateY(-50%);
  width: 100%;
}
.pagesec-feature .featureslist .content{
  background: #DEE4EB;
  border-radius: 6px;
  overflow: hidden;
}
.pagesec-feature .featureslist .fimgbox,
.pagesec-feature .featureslist .ftxtbox{
  width: 50%;
}
.pagesec-feature .featureslist .ftxtbox{
  padding: 2rem 3rem 1rem;
  min-height: 250px;
}

.pagesec-feature .featureslist .ftxtbox .ttl{
  border-bottom: 3px dotted #7EB0E3;
  color: #7EB0E3;
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 1rem;
  padding:0 0 .5rem 5rem;
  position: relative;
}
.pagesec-feature .featureslist .ftxtbox .ttl::before{
  content: "";
  aspect-ratio: 10/9;
  background: url(../../../images/ob/feature_num1.svg) no-repeat center / contain;
  position: absolute;
  top: -5px;
  left: 0;
  width: 40px;
}
.pagesec-feature .featureslist .featureitem:nth-of-type(2) .ftxtbox .ttl::before{
  background: url(../../../images/ob/feature_num2.svg) no-repeat center / contain;
}
.pagesec-feature .featureslist .featureitem:nth-of-type(3) .ftxtbox .ttl::before{
  background: url(../../../images/ob/feature_num3.svg) no-repeat center / contain;
}
.pagesec-feature .featureslist .featureitem:nth-of-type(4) .ftxtbox .ttl::before{
  background: url(../../../images/ob/feature_num4.svg) no-repeat center / contain;
}

@media only screen and (max-width: 1180px) {
  
}
@media only screen and (max-width: 1024px) {
  
}
@media only screen and (max-width: 820px) {
  .pagesec-feature .featureslist .featureitem{
    margin: 0 auto;
    max-width: 600px;
  }
  .pagesec-feature .featureslist .content{
    padding: 3rem;
  }
  .pagesec-feature .featureslist .fimgbox{
    margin: 0 auto 2rem;
    width: 80%;
  }
  .pagesec-feature .featureslist .ftxtbox{
    padding: 0 !important;
    min-height: auto;
    width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  
}
@media only screen and (max-width: 767px) {
  .pagesec-feature .featureslist {
    gap: 8rem;
  }
  .pagesec-feature .featureslist .catch {
    top: -3rem;
    width: 230px;
  }
  .pagesec-feature .featureslist .catch span {
    font-size: 2rem;
  }
  .pagesec-feature .featureslist .content {
    padding: 3rem 2rem;
  }
  .pagesec-feature .featureslist .fimgbox{
    margin-bottom: 1rem;
    width: 100%;
  }
  .pagesec-feature .featureslist .ftxtbox .ttl{
    font-size: 1.8rem;
    padding: 0 0 .5rem 3rem;
  }
  .pagesec-feature .featureslist .ftxtbox .ttl::before {
    top: 5px;
    width: 25px;
  }
  .pagesec-feature .featureslist .ftxtbox dl {
    padding: .5rem 1.5rem 1rem;
  }
  .pagesec-feature .featureslist .ftxtbox dt {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 350px) {
  .pagesec-feature .featureslist .content {
    padding: 2rem 1.5rem;
  }
}

/*****************************
pagesec-message
*****************************/
.pagesec-message .comment{
  background: #DEE4EB;
  margin: 0 auto;
  max-width: 880px;
  padding: 4rem 6rem;
}
.pagesec-message .comment::before,
.pagesec-message .comment::after{
  content: "";
  background: #DEE4EB;
  mask-image: url(../../../images/ob/note_triangle_white.svg);
  mask-repeat: repeat-y;
  mask-size: contain;
  position: absolute;
  top: 0;
  height: 100%;
  width: 20px;
}
.pagesec-message .comment::before{
  left: -19px;
  transform: scale(-1,-1);
}
.pagesec-message .comment::after{
  right: -19px;
}
.pagesec-message .comment .fimgbox{
  width: 200px;
}
.pagesec-message .comment .ftxtbox{
  width: calc(100% - 250px);
}
.pagesec-message .comment .fimgbox img{
  aspect-ratio: 1/1;
  border-radius: 50%;
  object-fit: cover;
  height: auto;
  width: 100%;
}
.pagesec-message .comment .fimgbox .name{
  font-size: 1.8rem;
  font-weight: bold;
  margin-top: .5rem;
  text-align: left;
  line-height: 1.4;
}
.pagesec-message .comment .fimgbox .name span{
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
}
.pagesec-message .comment .ftxtbox .ttl{
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 1180px) {
}
@media only screen and (max-width: 1024px) {
}
@media only screen and (max-width: 820px) {
  .pagesec-message .comment {
    padding: 4rem ;
  }
  .pagesec-message .comment .fimgbox {
    width: 180px;
  }
  .pagesec-message .comment .ftxtbox {
    width: calc(100% - 220px);
  }
}
@media only screen and (max-width: 768px) {
  
}
@media only screen and (max-width: 767px) {
  .pagesec-message .comment {
    border-radius: 6px;
    margin: 0;
    padding: 2rem;
  }
  .pagesec-message .comment::before,
  .pagesec-message .comment::after{
    display: none;
  }
  .pagesec-message .comment .fimgbox {
    margin: 0 auto 2rem;
  }
  .pagesec-message .comment .ftxtbox {
    width: 100%;
  }
  .pagesec-message .comment .ftxtbox .ttl {
    font-size: 1.8rem;
    margin-bottom: 1rem;
  }
}

/*****************************
pagesec-place
*****************************/
.pagesec-place .place > div{
  margin-top: 4rem;
}
.pagesec-place .place > div > dt{
  background: #7EB0E3;
  border-radius: 6px;
  color: #fff;
  font-size: 2.2rem;
  font-weight: bold;
  margin-bottom: 1rem;
  padding: .5rem 2rem;
}
.pagesec-place .place > div > dd{
  background: #ecf6ff;
  padding: 2rem;
}
.pagesec-place .place > div:nth-of-type(even) > dt{
  background: #E37EB7;
}
.pagesec-place .place > div:nth-of-type(even) > dd{
  background: #fff4fa;
}
.pagesec-place .place > div > dd li{
  padding-left: 1.6rem;
  position: relative;
}
.pagesec-place .place > div > dd li::before{
  content: "・";
  position: absolute;
  bottom: 0;
  left: 0;
}
/* .pagesec-place .place > div > dd li:not(:last-of-type)::before{
  content: "・";
  position: absolute;
  bottom: 0;
  left: 0;
} */
.pagesec-place .companylogo{
  gap: 1rem;
  margin-top: 4rem;
}
.pagesec-place .companylogo li{
  aspect-ratio: 3/2;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 2rem;
  width: calc(100% / 6 - 1rem);
}
.pagesec-place .companylogo li a{
  aspect-ratio: 3/2;
  display: flex;
  align-items: center;
  justify-content: center;
  height: auto;
  width: 100%;
}
.pagesec-place .companylogo li a img{
  object-fit: contain;
  width: 100%;
}

/* 20260415 add */
.pagesec-place .internship{
  background: #feedc9;
  border: 3px solid #fad4b4;
  border-radius: 5px;
  padding: 2rem;
  text-align: center;
}
.pagesec-place .internship .ttl{
  font-size: 2.4rem;
  font-weight: bold;
}
.pagesec-place .internship .txt{
  margin: .5rem 0 2rem;
}
.pagesec-place .internship .companylogo{
  background: #fff;
  margin-top: 0;
  padding: 2rem 0;
}

@media only screen and (max-width: 1180px) {
}
@media only screen and (max-width: 1024px) {
}
@media only screen and (max-width: 820px) {
  .pagesec-place .companylogo li {
    width: calc(100% / 4 - 1rem);
  }
}
@media only screen and (max-width: 768px) {
}
@media only screen and (max-width: 767px) {
  .pagesec-place .place > div > dt {
    font-size: 1.8rem;
    padding: .5rem 1.5rem;
  }
  .pagesec-place .place > div > dd {
    padding: 1.5rem;
  }
  .pagesec-place .companylogo li {
    padding: 0 .5rem;
    width: calc(100% / 3 - 1rem);
  }

  /* 20260415 add */
  .pagesec-place .internship{
    padding: 2rem 1rem;
  }
  .pagesec-place .internship .ttl{
    font-size: 2rem;
  }
  .pagesec-place .internship .txt{
    text-align: left;
  }
  .pagesec-place .internship .companylogo{
    gap: 1rem .5rem;
    padding: 1rem;
  }
  .pagesec-place .internship .companylogo li{
    width: calc(100% / 3 - .5rem);
  }
}

/*****************************
pagesec-voice
*****************************/
.pagesec-voice .graduate{
  background: rgba(236, 246, 255, .4);
  border: 2px solid #7EB0E3;
  border-radius: 6px;
  margin: 5rem 0;
  padding: 5rem 4rem ;
}
.pagesec-voice .graduate .fimgbox{
  width: 35%;
}
.pagesec-voice .graduate .fimgbox img{
  aspect-ratio: 1/1;
  object-fit: cover;
  height: auto;
  width: 100%;
}
.pagesec-voice .graduate .ftxtbox{
  width: 60%;
}
.pagesec-voice .graduate .ftxtbox .ttl{
  border-bottom: 3px dotted #7EB0E3;
  display: inline-block;
  font-size: 2.6rem;
  font-weight: bold;
}

.pagesec-voice .graduate .employment{
  background: #7EB0E3;
  color: #fff;
  display: inline-block;
  font-weight: bold;
  padding: .5rem 1rem;
}
.pagesec-voice .graduate .ftxtbox .info{
  margin: 1rem 0;
}
.pagesec-voice .graduate .ftxtbox .info .name span{
  font-size: 1.8rem;
  font-weight: bold;
}
.pagesec-voice .graduate .ftxtbox .info .course{
  color: #7EB0E3;
}

.pagesec-voice .graduate2{
  background: rgba(255, 244, 250, .4);
  border-color: #E37EB7;
}
.pagesec-voice .graduate2 .ftxtbox .ttl{
  border-color: #E37EB7;
}
.pagesec-voice .graduate2 .employment{
  background: #E37EB7;
}
.pagesec-voice .graduate2 .ftxtbox .info .course{
  color: #E37EB7;
}

@media only screen and (max-width: 1180px) {
  
}
@media only screen and (max-width: 1024px) {
  .pagesec-voice .graduate {
    padding: 5rem 4rem;
  }
}
@media only screen and (max-width: 820px) {
  .pagesec-voice .graduate {
    padding: 3rem 2rem;
    display: block;
  }
  .pagesec-voice .graduate::after{
    content: "";
    clear: both;
  }
  .pagesec-voice .graduate .fimgbox {
    float: left;
    margin-right: 2rem;
    margin-bottom: 1rem;
    width: 25%;
  }
  .pagesec-voice .graduate .ftxtbox {
    width: 100%;
  }
  .pagesec-voice .graduate .ftxtbox .ttl {
    font-size: 2.3rem;
  }

}
@media only screen and (max-width: 768px) {
  
}
@media only screen and (max-width: 767px) {
  .pagesec-voice .graduate .fimgbox{
    float: none;
    margin: 0 auto 2rem;
    width: 50%;
  }
  .pagesec-voice .graduate .employment{
    margin-bottom: 1rem;
  }
  .pagesec-voice .graduate .ftxtbox .ttl {
    font-size: 2.3rem;
  }
}