@charset "UTF-8";

.plan-intro {
  margin-top: 44px;
}
.plan-intro__lead {
  margin-bottom: 24px;
  color: #f16ca5;
  font-size: 32px;
  line-height: 60px;
  letter-spacing: .05em;
}
.plan-intro__text {
  font-size: 18px;
  line-height: 38px;
}
.plan-intro__text p + p {
  margin-top: 30px;
}
.plan-panel {
  padding: 35px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .75);
  font-size: 18px;
  line-height: 36px;
}
.plan-panel__english {
  margin-bottom: 10px;
  font-family: var(--font-en);
  font-size: 18px;
  font-weight: 700;
  line-height: 22px;
}
.plan-panel__title {
  margin-bottom: 25px;
  color: var(--color-blue);
  font-size: 32px;
  line-height: 1.5;
  letter-spacing: .05em;
}
.plan-examples {
  margin-top: 60px;
  padding-bottom: 55px;
}
.plan-examples__icons {
  width: 969px;
  height: auto;
  margin: 35px auto 20px;
}
.plan-examples__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 25px;
  font-size: 18px;
  font-weight: 500;
  line-height: 32px;
  text-align: center;
}
.plan-examples__title {
  margin-bottom: 14px;
  color: #f16ca5;
  font-size: 26px;
  line-height: 1.4;
  letter-spacing: .05em;
}
.plan-careers {
  margin-top: 120px;
  padding: 120px 0 130px;
  border-radius: 100px 100px 0 0;
  background: rgba(255, 255, 255, .8);
}
.plan-careers .section-heading,
.plan-support .section-heading {
  margin-bottom: 60px;
  line-height: 1;
}
.plan-career + .plan-career {
  margin-top: 150px;
}
.plan-career__profile {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  align-items: center;
  gap: 40px;
  margin-bottom: 25px;
}
.plan-career__portrait {
  width: 240px;
  height: 240px;
}
.plan-career__name {
  margin-bottom: 20px;
  color: var(--color-blue);
  font-size: 28px;
  line-height: 40px;
  letter-spacing: .05em;
}
.plan-career__introduction {
  font-size: 18px;
  line-height: 36px;
}
.plan-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: end;
}
.plan-steps__item {
  position: relative;
  isolation: isolate;
  padding: 40px 22px;
  border-radius: 20px 20px 0 0;
  color: #fff;
}
.plan-steps__item::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  border-radius: inherit;
}
.plan-steps__item--01 {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
  color: var(--color-text);
}
.plan-steps__item--01::before {
  background: linear-gradient(154.977deg, #3780cd 28.35%, rgba(55, 128, 205, .409) 84.313%, rgba(55, 128, 205, 0) 101.56%);
  opacity: .3;
}
.plan-steps__item--02 {
  min-height: 300px;
  color: var(--color-text);
}
.plan-steps__item--02::before {
  background: linear-gradient(145deg, #3780cd 28.35%, rgba(55, 128, 205, .409) 84.313%, rgba(55, 128, 205, 0) 101.56%);
  opacity: .5;
}
.plan-steps__item--03 {
  min-height: 400px;
}
.plan-steps__item--03::before {
  background: linear-gradient(136.967deg, #3780cd 28.35%, rgba(55, 128, 205, .409) 84.313%, rgba(55, 128, 205, 0) 101.56%);
}
.plan-steps__item--04 {
  min-height: 500px;
}
.plan-steps__item--04::before {
  background: linear-gradient(130.594deg, #f16ca5 28.35%, #f16ca5 64.954%, rgba(241, 108, 165, 0) 101.56%);
}
.plan-steps__title {
  margin-top: 0;
  margin-bottom: 20px;
  font-size: 24px;
  line-height: 36px;
  text-align: center;
  line-height: 1.3;
}
.plan-steps__title small {
  font-size: 80%;
  display: inline-block;
  line-height: 1.1;
}
.plan-steps__item--01 .plan-steps__title {
  margin: 0;
}
.plan-steps__text {
  font-size: 16px;
  font-weight: 500;
  line-height: 30px;
  text-align: justify;
}
.plan-marquee {
  margin-top: 170px;
}
.plan-support {
  margin-top: 100px;
  margin-bottom: 170px;
}
.plan-support__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px;
  margin-top: 45px;
  text-align: center;
}
.plan-support__circle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 170px;
  height: 170px;
  margin: 0 auto 25px;
  border-radius: 50%;
  background: url("../img/plan/support-ring.png") center / 170px 170px no-repeat, url("../img/plan/support-inner.png") center / 138px 138px no-repeat;
}
.plan-support__circle img {
  width: auto;
  height: auto;
  max-width: 80px;
  max-height: 70px;
}
.plan-support__label {
  font-size: 24px;
  font-weight: 700;
  line-height: 38px;
  letter-spacing: .05em;
}
.plan-support__note {
  margin-top: 40px;
  padding: 10px;
  background: rgba(55, 128, 205, .2);
  color: var(--color-blue);
  font-size: 20px;
  line-height: 36px;
  text-align: center;
}
.plan-qualifications {
  margin-top: 73px;
}
.plan-qualifications .details-panel__list {
  padding: 0;
  background: none;
}
.plan-qualifications small {
  font-size: 16px;
}

@media (min-width: 1024px) and (max-width: 1279px) {
	.plan-steps__item {
		padding:30px 15px;
	}
	.plan-steps__title {
		font-size:22px;
		line-height:32px;
	}
	.plan-support__list {
		gap:20px;
	}
}

@media (max-width: 1023px) {
	.plan-intro {
		margin-top:0;
	}
	.plan-intro__lead {
		margin-bottom:20px;
		font-size:20px;
		line-height:36px;
		letter-spacing:1px;
	}
	.plan-intro__text {
		font-size:16px;
		line-height:30px;
	}
	.plan-intro__text p + p {
		margin-top:15px;
	}
	.plan-panel {
		padding:25px 15px;
		font-size:16px;
		line-height:30px;
	}
	.plan-panel__english {
		margin-bottom:10px;
		font-size:14px;
		line-height:20px;
	}
	.plan-panel__title {
		margin-bottom:25px;
		font-size:22px;
		line-height:32px;
		letter-spacing:1.1px;
	}
	.plan-examples {
		display:grid;
		grid-template-columns:100px minmax(0,1fr);
		column-gap:20px;
		row-gap:0;
		margin-top:50px;
		padding-bottom:25px;
	}
	.plan-examples > .plan-panel__english, .plan-examples > .plan-panel__title {
		grid-column:1 / -1;
	}
	.plan-examples__picture {
		display:block;
		grid-column:1;
		grid-row:3;
	}
	.plan-examples__icons {
		width:100px;
		height:auto;
		margin:0;
	}
	.plan-examples__list {
		grid-column:2;
		grid-row:3;
		grid-template-columns:1fr;
		grid-template-rows:minmax(144px,auto) minmax(144px,auto) auto;
		gap:0;
		font-size:14px;
		line-height:24px;
		text-align:left;
	}
	.plan-examples__list br {
		display:none;
	}
	.plan-examples__title {
		margin-bottom:8px;
		font-size:20px;
		line-height:28px;
		letter-spacing:1px;
	}
	.plan-careers {
		margin-top:50px;
		padding:40px 0 50px;
		border-radius:40px 40px 0 0;
	}
	.page-main--responsive .plan-careers .section-heading, .page-main--responsive .plan-support .section-heading {
		margin-bottom:25px;
		font-size:22px;
		line-height:34px;
		letter-spacing:1.1px;
	}
	.plan-career + .plan-career {
		margin-top:60px;
	}
	.plan-career__profile {
		grid-template-columns:1fr;
		gap:15px;
		margin-bottom:30px;
	}
	.plan-career__portrait {
		width:150px;
		height:auto;
		justify-self:center;
	}
	.plan-career__profile .plan-panel__english {
		margin-bottom:15px;
		text-align:center;
	}
	.plan-career__name {
		margin-bottom:20px;
		font-size:22px;
		line-height:32px;
		text-align:center;
	}
	.plan-career__introduction {
		font-size:16px;
		line-height:30px;
	}
	.plan-steps {
		display:flex;
		flex-direction:column;
		align-items:flex-start;
		margin-left:-20px;
		gap:0;
	}
	.plan-steps__item {
		min-height:0;
		padding:25px 20px 20px;
		border-radius:0 5px 0 0;
	}
	.plan-steps__item--01 {
		width:52%;
		justify-content:flex-start;
	}
	.plan-steps__item--02 {
		width:73%;
	}
	.plan-steps__item--03 {
		width:86.5%;
	}
	.plan-steps__item--04 {
		width:100%;
	}
	.plan-steps__title {
		margin-bottom:15px;
		font-size:20px;
		text-align:left;
		letter-spacing:1px;
	}
	.plan-steps__text {
		font-size:14px;
		line-height:24px;
	}
	.plan-support {
		margin-top:50px;
		margin-bottom:70px;
	}
	.plan-support__list {
		grid-template-columns:1fr;
		gap:30px;
		margin-top:30px;
	}
	.plan-support__circle {
		margin:0 auto 15px;
	}
	.plan-support__label {
		font-size:18px;
		line-height:32px;
	}
	.plan-support__note {
		margin-top:30px;
		padding:15px;
		font-size:18px;
		line-height:30px;
	}
	.plan-qualifications {
		margin-top:40px;
	}
	.plan-qualifications small {
		font-size:14px;
	}
	.plan-qualifications .details-panel__list {
		padding:0;
	}
}

@media (max-width: 359px) {
	.plan-examples {
		column-gap:12px;
		grid-template-columns:80px minmax(0,1fr);
	}
	.plan-examples__icons {
		width:80px;
	}
	.plan-examples__list {
		grid-template-rows:minmax(116px,auto) minmax(116px,auto) auto;
		font-size:13px;
		line-height:22px;
	}
	.plan-examples__title {
		font-size:18px;
		line-height:26px;
	}
	.plan-steps__item--01 {
		width:60%;
	}
}
