/* 2025-12-26: 受験は戦略だ。*/
.hero{
	position:relative;
	max-width:1100px;
	margin:0 auto 120px;
}

/* SP画像 */
.hero__sp img{ width:100%; height:auto; display:block; }

/* コンテナ固定（左端基準） */
.hero__inner{
  max-width:1200px;
  margin:0 auto;
  padding:140px 0 250px;
  position:relative;
  z-index:2;
}

/* PC：テキストを少し画像に被せる */
.hero__copy{
  width:min(540px,100%);
  background:rgba(255,255,255,.85);
  padding:40px 36px;
  margin-right:-72px; /* 被せ量 */
  h1 {
	border:none;
	padding:0;
	font-size:64px;
	letter-spacing:2px;
	margin-bottom:20px;
  }
  .hero__lead {
	font-size:18px;
	margin:0;
  }
}

/* PC：右フルブリード画像 */
.hero__pcmedia{
  position:absolute;
  top:0;
  bottom:0;
  right: -120px;
  width:min(62vw, 900px);
  z-index:1;
}
.hero__pcmedia img{
  width:100%; height:100%;
  object-fit:cover;
  display:block;
}

/* 表示切替 */
.is-sp{ display:none; }
.is-pc{ display:block; }

@media (max-width:768px){
  .is-sp{ display:block; }
  .is-pc{ display:none; }
  .hero__sp {
	width:calc(100% + 30px);
	margin-left:-15px;
  }
  .hero__inner{ padding:40px 16px; }
  .hero__copy{
    margin-right:0;
    width:100%;
    background:transparent; /* 好みで白背景に戻してもOK */
    padding:0;
	h1 {
		font-size:32px;
		text-align:center;
		display:block;
	}
	.hero__lead {
		font-size:14px;
		text-align:center;
	}
  }
}

#policy {
	max-width:1100px;
	margin:0 auto 120px;
	.policy-item {
		margin:90px 0;
		display:flex;
		align-items:flex-end;
		gap:100px;
		&:nth-of-type(even) {
			justify-content:space-between;
			figure { order:2; }
			.policy-text { order:1; }
		}
		figure {
			max-width:480px;
		}
		.policy-text {
			flex:1;
		}
		.policy-text-box {
			h2 {
				display:block;
				padding:0;
				text-align:left;
				margin-bottom:10px;
				margin-top:72px;
				span {
					display:block;
				}
				&:before, &:after {
					content:none;
				}
			}
			p {
				margin:0;
			}
		}
	}
}

@media screen and ( max-width:768px ) {
	.hero {
		margin-bottom:60px;
		overflow:hidden;
	}
	#policy .policy-item {
		margin:60px 0;
		flex-direction:column;
		gap:50px;
		padding:0 30px;
		figure {
			order:2;
		}
		.policy-text {
			order:1;
			.policy-text-box + .policy-text-box{
				margin-top:60px;
			}
			h2 {
				margin-top:0;
				font-size:21px;
			}
			p  br{
				display:none;
			}
		}
	}
}
