.font-333333{
  color: #333333;
 }

.content-body-font {
  line-height: 25px;
  color: #333333;
}

.content-body-font-28 {
  line-height: 28px;
  color: #333333;
}

.slide-sub img {
  width: 100%;
  object-fit: cover;
  object-position: 80% 20%;
}

.slide-sub {
  position: relative;
}

.slide-sub::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: linear-gradient(90deg, rgb(var(--blue)), transparent 60%);
}

.category {
  background-color: rgba(var(--white), 0.85);
  margin: 0 auto -100px auto;
  position: relative;
  top: -100px;
}

.category-title-area {
  height: 100px;
}

.category-world-logo {
  position: absolute;
  max-width: 90vw;
  height: 100px;
  top: 0;
  left: 0;
  object-fit: cover;
}

.category-sub-title {
  padding-top: 16px;
  font-size: 110%;
  font-weight: bold;
  margin: 0;
  height: 20px;
  color: rgb(var(--blue));
  text-align: center;
}

.category-main-title {
  margin: 0;
  font-size: 230%;
  font-weight: bold;
  color: rgb(var(--blue));
  text-align: center;
}

.category-main-title2 {
  margin-top: 0px;
  margin-bottom: -2px;
  font-size: 200%;
  font-weight: bold;
  color: rgb(var(--blue));
  text-align: center;
}

.category-title-control {
  margin: 0;
  padding-top: 30px;
}

.category-body {
  margin-top: 20px;
  padding: 0px 50px 100px 50px;
}

.category-body-title {
  font-weight: bold;
  font-size: 160%;
  padding: 0 100px;
  color: rgb(var(--blue));
  text-align: center;
}

.topic-list {
  margin-bottom: 50px;
}

.topic-list a {
  color: rgb(var(--blue));
}

.topic-list a:first-child {
  background-color: rgb(var(--blue));
  border-radius: 4px;
  color: rgb(var(--white));
  padding: 2px 8px;
}

.category-contents {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.category-contents-template {
  display: flex;
  flex-wrap: wrap;
}

.category-sub-contents {
  background-color: rgb(var(--light-blue));
  padding: 30px;
  margin-top: 30px;
}

.category-content {
  position: relative;
  width: calc(100% / 3);
  box-sizing: border-box;
  padding-right: 20px;
  margin-top: 20px;
}

.category-content-what {
  position: relative;
  width: calc(100% / 3);
  box-sizing: border-box;
  margin-top: 20px;
}

.category-content a:hover {
  opacity: var(--opacity);
}

.category-content-what a:hover {
  opacity: var(--opacity);
}

.img-deco1 {
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  background: rgb(var(--blue));
}

.deco1-inner {
  padding-top: 50%;
}

.img-deco2 {
  position: absolute;
  width: 20px;
  height: 20px;
  top: -10px;
  left: -10px;
  background: rgb(var(--green));
  opacity: var(--opacity);
}

.img-deco-add {
  position: relative;
}

.img-deco-add:before {
  content: "";
  position: absolute;
  left: 0;
  width: 20px;
  height: 20px;
  background: rgb(var(--blue));
}

.img-deco-add:after {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  left: -10px;
  background: rgb(var(--green));
  opacity: var(--opacity);
  transform: translateY(-10px);
}


.category-contents-sub-title {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
  font-size: 130%;
}

.category-contents-sub-title>p {
  margin: 0;
}

.sub-deco1 {
  position: relative;
  width: 20px;
  height: 20px;
  margin-right: 15px;
  background: rgb(var(--blue));
}

.sub-deco2 {
  position: absolute;
  width: 20px;
  height: 20px;
  top: -10px;
  left: -10px;
  background: rgb(var(--green));
  opacity: var(--opacity);
}

.category-content-title {
  margin: 8px 0;
  font-weight: bold;
  font-size: 130%;
  -webkit-line-clamp: 2;
  overflow: hidden;
  -webkit-box-orient: vertical;
  display: -webkit-box;
}

.category-content-title-what {
  font-weight: bold;
  font-size: 130%;
  -webkit-line-clamp: 2;
  overflow: hidden;
  -webkit-box-orient: vertical;
  display: -webkit-box;
}

.category-content-body {
  margin: 0 0 8px 0;
  /*font-size: 80%;*/
  font-size: 15px;
  -webkit-line-clamp: 3;
  overflow: hidden;
  -webkit-box-orient: vertical;
  display: -webkit-box;
}

.category-content-body-what {
  margin: 0 0 8px 0;
  /*font-size: 80%;*/
  font-size: 15px;
  /*-webkit-line-clamp: 3;*/
  -webkit-box-orient: vertical;
  display: -webkit-box;
}

.back-btn {
  font-size: 90%;
  text-align: center;
  display: block;
  padding: 8px 0;
  font-weight: bold;
  width: 40%;
  min-width: 230px;
  color: rgb(var(--blue));
  margin: 80px auto 0 auto;
  border-radius: 24px;
  border: 1.6px solid rgb(var(--blue));
}

/* TODO:他の入稿データ次第ファイル修正するかも */
/* what is jds  */
.what-jds-box .category-content-body {
  margin-top: 8px;
}

.what-jds-box .category-content {
  padding-right: 0px;
}

/* beneficiaries */
.beneficiaries-contents {
  background-color: rgb(var(--light-green));
  padding: 20px 60px;
  margin-top: 50px;
}

/* Q&A */
.qa-check {
  display: none;
}

.qa {
  width: 10%;
  text-align: center;
  font-weight: bold;
  font-size: 140%;
  padding-right: 10px;
  margin: 10px 0;
}

.question>p,
.answer>p {
  width: 90%;
  font-size: 110%;
  margin: 10px 0;
}

.question {
  padding: 16px 16px;
  display: flex;
  color: rgb(var(--blue));
  background: rgb(var(--gray));
  position: relative;
}

.answer {
  display: flex;
  height: 0;
  padding: 0 16px;
  overflow: hidden;
  margin-top: 10px;
  margin-bottom: 40px;
}

.answer>.qa {
  color: rgb(var(--green));
}

.question span.mark,
.question span.mark::before {
  content: "";
  width: 14px;
  height: 2px;
  background-color: rgb(var(--blue));
  position: absolute;
  top: calc(50% - 3px);
  right: 20px;
}

.question span.mark::before {
  position: absolute;
  transform: rotate(90deg);
  top: 0px;
  right: 0px;
}

.qa-check:checked+.question+.answer {
  height: auto;
}

.qa-check:checked+.question span.mark::before {
  display: none;
}

/* selection step */
.selection-box {
  display: flex;
  background-color: rgb(var(--gray));
  position: relative;
  padding: 8px 0;
  height: 39px;
}

.selection-box>.selection-number {
  width: 50px;
  background-color: rgb(var(--blue));
  color: rgb(var(--white));
  position: absolute;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.selection-box>.selection-box-body {
  width: 90%;
  display: flex;
  margin-left: 55px;
}

.selection-box-body>p {
  width: 100%;
  margin: auto 0;
  text-align: center;
  font-weight: bold;
  font-size: 20px;
}

.selection-triangle {
  width: calc(100% / 3);
  font-size: 150%;
  color: rgb(var(--blue));
  text-align: center;
  transform: scaleX(2);
  margin: 0 auto;
}

.country-btn {
  width: 50%;
  max-width: 230px;
  font-size: 90%;
  text-align: center;
  display: block;
  padding: 8px 0 0 0;
  background-color: rgb(var(--blue));
  color: rgb(var(--white));
  margin: 0 8px;
  border-radius: 24px;
  height: 27px;
  margin-top: 2px;
}

.selection-step-title {
  display: flex;
}

.selection-step-title-control {
  width: 80%;
  box-sizing: border-box;
  padding-left: 30%;
  padding-top: 3%;
}

.selection-step-book {
  width: 18%;
  padding-right: 10%;
}

/* student life */
.support-contents {
display: flex;
}

.support-list {
  width: 50%;
  font-weight: bold;
}

.support-img {
  width: 50%;
}

.support-list div {
  font-weight: normal;
}

/* news */
.news a:hover {
  opacity: var(--opacity);
}

.news {
  padding: 30px 0;
  border-bottom: 3px solid rgb(var(--blue));
  display: flex;
  flex-wrap: wrap;
}

.news:first-child {
  border-top: 3px solid rgb(var(--blue));
}

.news-text {
  width: 70%;
  position: relative;
  padding-right: 16px;
  box-sizing: border-box;
}

.news-text:last-child:not(.news-img) {
  width: 100%;
}

.news-title {
  -webkit-line-clamp: 2;
  overflow: hidden;
  -webkit-box-orient: vertical;
  display: -webkit-box;
}

.news-title>h2 {
  display: inline;
}

.news-text>.summary {
  -webkit-line-clamp: 4;
  overflow: hidden;
  -webkit-box-orient: vertical;
  display: -webkit-box;
}

.news-text>.full-link {
  position: absolute;
  bottom: 0;
}

.news-img {
  width: 30%;
}

/* alumni */
.alumni-title {
  text-align: center;
  width: fit-content;
  margin: 40px auto;
  border-bottom: 1.5px solid;
  color: rgb(var(--blue));
}

.sempai-size{
 margin-bottom: 40px;
 padding: 40px;
}

.person-image {
	width: 185px;
}


/* SPサイズ */
@media screen and (max-width: 960px) {
  .slide-sub img {
    height: 250px;
  }

  .category {
    width: 90%;
  }

  .category-body {
    padding: 0 30px 90px 30px;
  }

  .category-body-title {
    padding: 0;
    text-align: left;
  }
	
  .category-main-title {
    font-size: 185%;
  }

  .category-content-title {
    /*margin-bottom: 8px;*/
    margin: 20px 0 20px 0;
  }

  .category-content-body {
    margin-bottom: 20px;
  }

  .sub-deco1 {
    margin-right: -10px;
  }

  .category-box .width-half {
    width: 100%;
    /*padding-left: 0px;*/
  }

  /* beneficiaries */
  .beneficiaries-contents {
    padding: 20px;
  }

  /* Q&A */
  .question span.mark,
  .question span.mark::before {
    top: auto;
  }

  .question span.mark {
    bottom: 14px;
    right: 50%;
  }

  /* selection step */

  .selection-box>.selection-box-body {
    display: block;
  }

  .selection-box-body>a {
    width: 90%;
    margin: 4px auto;
  }

  .selection-box {
    height: auto;
  }

  .selection-box-body>p {
    font-size: initial;
  }

  .selection-step-title-control {
    width: 80%;
    box-sizing: border-box;
    padding-left: 20%;
    padding-top: 3%;
    font-size: 195%;
 }

.selection-step-book {
  padding-right: 0;
  width: 22%;
}

.selection-step-title {
  display: flex;
  padding-top: 7%;
}

  /* student life */
  .category-sub-title.student-life-title {
	  padding-top: 10px;
	  height: 20px;
  }

  .support-contents {
   /*padding-top: 7%;*/
   flex-wrap: wrap;
  }

  .support-list {
    width: 100%;
    order: 2;
    margin-top: 20px;
  }

  .support-img {
    width: 100%;
    order: 1;
  }

  /* student life */
  .student-life-box .width-half {
    width: 100%;
    padding-left: 0px;
    padding-right: 0px;
  }

  .student-life-box .student-life-under-box {
    padding: 20px;
  }

  /* news */
  .news {
    display: flex;
    flex-direction: column;
  }

  .news-title>h2 {
    display: block;
  }

  .news-title {
    display: block;
    margin-top: 10px;
  }

  .news-text {
    width: 100%;
    order: 2;
  }

  .news-img {
    width: 100%;
    order: 1;
  }

  .news-text>.full-link {
    display: block;
    position: static;
    width: fit-content;
    margin: 0 auto;
  }

  .category-content-body-what {
    text-align: left;
  }

  .category-content-title-what {
    text-align: left;
  }

  .category {
    background-color: rgba(var(--white), 0.85);
  }

  .category-content {
    width: 100%;
    padding-right: 0;
  }

  .category-content-what {
    width: 100%;
    padding-right: 0;
  }

  .sp-mb-100-minus {
   margin-bottom: -100px;
}

.sempai-size{
 margin-top: 40px;
 padding: 5px 40px 40px 40px;
}

	.person-image {
		width: calc(325 / 750 * 100vw);
		margin: 0 auto;
	}

  .justify-center .width-half {
    width: 100%;
    padding-left: 0px;
    padding-right: 0px;
  }

.back-btn {
  width: 100%;
}

}


/* PCサイズ */
@media screen and (min-width: 960px) {
  .slide-sub img {
    height: 250px;
  }

  .category-content-title {
    /*height: 50px;*/
    margin: 20px 0 20px 0;
  }

  .what-pc-font {
    font-weight: bold;
    color: rgb(var(--blue));
  }

}

@media screen and (max-width: 750px) {}