.wsj {
	font-weight: 400;
	font-size: 1.125rem;
	line-height: 1.7;
	letter-spacing: 0.02em;
}
.wsj img {
	display: block;
	width: 100%;
	height: auto;
}
@media screen and (max-width: 767px) {
	.wsj {
		font-size: 1rem;
	}
}

/* page-title-group */
.page-title-group em {
	display: block;
	color: #FF0000;
	font-size: 2rem;
	line-height: 1.2;
	max-width: 1000px;
	margin: 30px auto 0;
	padding: 0 30px 8px;
}
@media screen and (max-width: 767px) {
	.page-title-group em {
		font-size: 1.25rem;
		margin-top: calc(2 * var(--base-unit));
		padding: 0 calc(2 * var(--base-unit)) calc(0.3 * var(--base-unit));
	}
}

.page-title {
	background-color: #EFEFEF;
	padding: 68px 30px;
}
.page-title-group .page-heading {
	box-sizing: border-box;
	position: relative;
	padding-left: 60px;
	max-width: 1000px;
	margin-inline: auto;
}
.page-title-group .page-heading img {
	display: block;
	width: min(710px, 100%);
	height: auto;
}

.page-title-group .page-heading::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 10px;
	height: 100%;
	background: linear-gradient(
		to bottom,
		#FF0000 0%,
		#FF0000 50%,
		#000 50%,
		#000 100%
	);
}
@media screen and (max-width: 767px) {
	.page-title {
		padding: calc(4 * var(--base-unit)) calc(2 * var(--base-unit));
	}
	.page-title-group .page-heading {
		padding-left: calc(3 * var(--base-unit));
	}
	.page-title-group .page-heading img {
		width: calc(30 * var(--base-unit));
	}

	.page-title-group .page-heading::before {
		width: calc(0.6 * var(--base-unit));
	}
}

/* page-top */
.page-top {
	position: relative;
	overflow: hidden;
}
.page-lead {
	background: 
	url("/jp/en/about/ad_library/wsj/assets_r24/images/bg01.png") no-repeat top / contain,
	linear-gradient(
		135deg,
		rgba(255,255,255,1) 0%,
		rgba(244,244,244,1) 57%,
		rgba(238,238,238,1) 100%);
	padding: 45px 0 40px;
}
.page-lead-inner {
	max-width: 950px;
	margin-inline: auto;
	padding: 0 30px;
}
.page-lead-title {
	font-size: 2rem;
	max-width: 700px;
	margin: 0 auto 30px;
}
.page-lead p {
	max-width: 800px;
	margin-inline: auto;
}
.page-lead p + p {
	margin-top: 18px;
}
.page-lead p em {
	color: #FF0000;
	font-weight: 500;
}
@media screen and (max-width: 767px) {
	.page-lead {
		background: url("/jp/en/about/ad_library/wsj/assets_r24/images/bg01_sp.png") repeat-y top / contain,
		linear-gradient(
		135deg,
		rgba(255,255,255,1) 0%,
		rgba(244,244,244,1) 57%,
		rgba(238,238,238,1) 100%);
		padding: calc(3.2 * var(--base-unit)) 0 0;
	}
	.page-lead-inner {
		padding: 0 calc(2 * var(--base-unit));
	}
	.page-lead-title {
		font-size: calc(2.2 * var(--base-unit));
		margin-bottom: calc(2.4 * var(--base-unit));
	}
	.page-lead p + p {
		margin-top: calc(1.2 * var(--base-unit));
	}
}

.page-lead-bottom {
	display: flex;
	column-gap: 12px;
	margin-top: 10px;
}
.page-lead-president {
	align-self: end;
	flex-shrink: 0;
	max-width: 500px;
	margin-top: -85px;
	translate: 0 105px;
	z-index: 3;
}
.page-lead-president img{
	display: block;
	width: 100%;
	height: auto;
}
@media screen and (max-width: 767px) {
	.page-lead-bottom {
		flex-direction: column;
		row-gap: calc(2 * var(--base-unit));
		margin-top: calc(1.2 * var(--base-unit));
	}
	.page-lead-president {
		max-width: 100%;
		margin-top: 0;
		translate: 0 0;
		order: 2;
	}
}

.president-message {
	background-color: #333;
	color: #fff;
	font-size: min(2rem, calc(32 / 1440 * 100vw));
	line-height: 1.5;
	padding: min(135px, calc(135 / 1440 * 100vw)) min(60px, calc(60 / 1440 * 100vw)) min(50px, calc(50 / 1440 * 100vw));
}
.president-message .president-message-txt {
	position: relative;
	width: min(910px, calc(910 / 1440 * 100vw));
	margin-inline: auto;
	z-index: 2;
}
.president-message .president-message-txt::before {
	content: "";
	position: absolute;
	top: max(-53px, calc(-53 / 1440 * 100vw));
	left: max(-168px, calc(-168 / 1440 * 100vw));
	background: url("/jp/en/about/ad_library/wsj/assets_r24/images/pull-quote.svg") no-repeat center / contain;
	width: min(124px, calc(124 / 1440 * 100vw));
	height: min(104px, calc(104 / 1440 * 100vw));
}
.president-message em {
	font-weight: 700;
	font-style: italic;
}
.president-message .position {
	font-size: min(1.25rem, calc(20 / 1440 * 100vw));
	text-align: right;
	width: min(910px, calc(910 / 1440 * 100vw));
	margin-inline: auto;
}
.president-message .name {
	font-weight: 700;
}
@media screen and (max-width: 767px) {
	.president-message {
		font-size: calc(2 * var(--base-unit));
		padding: calc(10 * var(--base-unit)) calc(2.4 * var(--base-unit)) calc(4 * var(--base-unit));
		margin-top: calc(-4 * var(--base-unit));
	}
	.president-message .president-message-txt {
		width: 100%;
	}
	.president-message .president-message-txt::before {
		content: "";
		position: absolute;
		top: calc(-6 * var(--base-unit));
		left: calc(-1 * var(--base-unit));
		width: calc(6 * var(--base-unit));
		height: calc(5 * var(--base-unit));
	}
	.president-message .position {
		font-size: calc(1.4 * var(--base-unit));
		width: 100%;
		margin-top: calc(2 * var(--base-unit));
	}
}

.page-top .bg02 {
	position: absolute;
	bottom: min( -165px, calc(-165 / 1440 * 100vw));
	right: calc(-17 / 1440 * 100vw);
	width: 129%;
	height: auto;
	opacity: 0.35;
	z-index: 1;
	mix-blend-mode: soft-light;
}
@media screen and (max-width: 767px) {
	.page-top .bg02 {
		bottom: calc(7 * var(--base-unit));
		right: 0;
		width: 145%;
	}
}


/* section-title */
.section-title-group .section-heading {
	box-sizing: border-box;
	position: relative;
	padding-left: 50px;
	margin-inline: auto;
}

.section-title-group .section-heading::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 10px;
	height: 100%;
	background: linear-gradient(
		to bottom,
		#FF0000 0%,
		#FF0000 50%,
		#000 50%,
		#000 100%
	);
}
.section-heading {
	width: min(1000px, 100%);
}
@media screen and (max-width: 767px) {
	.section-title-group .section-heading {
		padding-left: calc(2 * var(--base-unit));
	}
	.section-title-group .section-heading::before {
		width: calc(0.6 * var(--base-unit));
	}
}

/* section-txt-wrap */
.section-txt-wrap {
	max-width: 800px;
	margin-inline: auto;
}

.section-txt-wrap p + p{
	margin-top: 18px;
}
.section-txt-wrap p em {
	color: #FF0000;
	font-weight: 500;
}
@media screen and (max-width: 767px) {
	.section-txt-wrap p + p{
		margin-top: calc(1.2 * var(--base-unit));
	}
}

/* section01 */
.section01 {
	background: linear-gradient(135deg,  rgba(255,255,255,1) 0%,rgba(213,237,255,0.7) 100%);
	padding: 120px 30px;
}

.section01-mv {
	margin-top: 80px;
	max-width: 680px;
	margin-inline: auto;
}
.section01-mv figcaption {
	text-align: right;
}
.section01 .section-txt-wrap {
	margin-top: 60px;
}
@media screen and (max-width: 767px) {
	.section01 {
		padding: calc(8 * var(--base-unit)) calc(2 * var(--base-unit));
	}
	.section01-mv {
		margin-top: calc(4 * var(--base-unit));
		max-width: 90%;
	}
	.section01 .section-txt-wrap {
		margin-top: calc(3 * var(--base-unit))
	}
}

/* section02 */
.section02 .section-title-group {
	background: url("/jp/en/about/ad_library/wsj/assets_r24/images/sec02_img_01.jpg") no-repeat center / cover;
	height: 546px;
}
.section02 .section-title {
	display: flex;
	align-items: center;
	height: 100%;
}
.section02-content {
	background: linear-gradient(-135deg,  rgba(248, 227, 211,0.7) 0%,rgba(255,255,255,1) 100%);
	padding: 120px 30px;
}
.section02 .section-heading img {
	max-width: 720px;
}
.section02 .section-txt-wrap .col2 {
	display: grid;
	grid-template-columns: 1fr 300px;
	grid-template-rows: auto auto;
	column-gap: 50px;
	margin: 18px 0;
}
.section02 .section-txt-wrap .col2 p:nth-child(1) {
	order: 1;
}
.section02 .section-txt-wrap .col2 p:nth-child(2) {
	order: 3;
	grid-column: span 2;
}
.section02 .section-txt-wrap .global-investments {
	width: 300px;
	order: 2;
}

@media screen and (max-width: 767px) {
	.section02 .section-title-group {
		height: calc(25 * var(--base-unit));;
		padding: 0 calc(2 * var(--base-unit));
	}
	.section02 .section-title {
		display: flex;
		align-items: center;
		height: 100%;
	}
	.section02 .section-heading {
		max-width: 100%;
	}
	.section02-content {
		padding: calc(8 * var(--base-unit)) calc(2 * var(--base-unit));
	}
	.section02 .section-txt-wrap .col2 {
		display: block;
		margin: calc(1.2 * var(--base-unit)) 0 0;
	}
	.section02 .section-txt-wrap .global-investments {
		width: 70%;
		margin: calc(3 * var(--base-unit)) auto 0;
	}
}

/* section03 */
.section03 {
	background: url("/jp/en/about/ad_library/wsj/assets_r24/images/sec03_img_01.png") no-repeat center / cover;
	padding: 120px 30px;
}
.section03 .section-heading img {
	max-width: 800px;
}
.section03 .section-txt-wrap {
	background-color: rgba(255, 255, 255, 0.8);
	padding: 80px 100px;
	margin-top: 100px;
}
@media screen and (max-width: 767px) {
	.section03 {
		padding: calc(8 * var(--base-unit)) calc(2 * var(--base-unit));
	}
	.section03 .section-txt-wrap {
		padding: calc(5 * var(--base-unit)) calc(2.4 * var(--base-unit));
		margin-top: calc(5 * var(--base-unit))
	}
}

/* section04 */
.section04 {
	background: linear-gradient(-135deg,  rgba(255, 244, 210,0.7) 0%,#ffffff 100%);
	padding: 120px 30px;
}
.section04 .section-heading img {
	max-width: 400px;
}
.section04-lead-txt {
	max-width: 800px;
	margin: 80px auto 0;
}
.section04 .map {
	max-width: 1000px;
	margin: 80px auto 0;
}
@media screen and (max-width: 767px) {
	.section04 {
		padding: calc(8 * var(--base-unit)) calc(2 * var(--base-unit));
	}
	.section04 .section-heading img {
		max-width: 70%;
	}
	.section04-lead-txt {
		margin: calc(4 * var(--base-unit)) auto 0;
	}
	.section04 .map {
		margin: calc(4 * var(--base-unit)) auto 0;
	}
}

/* article-footer */
.article-footer {
	background-color: #fff;
	padding: 30px;
}
.article-footer a {
	display: block;
	max-width: 555px;
	margin-inline: auto;
}
@media screen and (max-width: 767px) {
	.article-footer {
		padding: calc(2 * var(--base-unit));
	}
}