@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..600;1,100..600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Symbols:wght@900&display=swap');

sub {
	vertical-align: baseline;
}

h2 {
	font-size: 2.4rem;
	margin: 1em 0;
}
h3 {
	font-size: 1.6rem;
	font-weight: 300;
	margin: 1em 0;
}
h3 span {
	font-weight: 600;
}

.text-sm-thin {
	font-size: 1.2rem;
}

.designed {
	display: flex;
}
.designed .mainTxt {
	font-size: 3.1rem;
	font-weight: 100;
  font-family: "Noto Sans", sans-serif;
	border-bottom: 1px solid #ccc;
	padding-bottom: 10px;
	margin-bottom: 14px;
}
.designed .mainTxt span {
	font-weight: 600;
}
.subTxt {
	font-weight: 500;
}
.checkTxt {
		margin-top: 1em;
		line-height: 1.5;
		font-weight: 400;
}
.check {
	display: inline-block;
	font-family: "Noto Sans Symbols", sans-serif;
	font-size: 2.2rem;
	color: #2d2d2d;
	transform: scaleX(1.2);
	vertical-align: -0.1em;
}
.build_block ,.comp_block{
	display: flex;
	flex-direction: column;
	margin-bottom: 2.5em;
	width: 700px;
	margin: 0 auto;
}
.build_block p,
.build_block img,
.comp_block p,
.comp_block img {
	/*
  width: 100%;
  max-width: 700px;  
  box-sizing: border-box;
	*/
}
.build_block p ,
.comp_block p {
	font-size: 1.6rem;
  text-align: left;       /* 700pxの幅の中で左に寄せる */
  margin: 1.5em 0 1em;
	font-weight: 600;
	color: #485f6d;
}
.build_block p span ,
.comp_block p span {
	font-weight: 400;
}
.build_block img ,
.comp_block img {
}
.build_img {
	display: flex;
	width: 700px;
	justify-content: space-between;
	align-items: center;
}
.build_img p {
	text-align: center;
	font-size: 1.6rem;
	color: #439bcc;
	font-weight: 400;
	margin:0 0 .5em 0;
}
.mov {
	display: flex;
	justify-content: space-between;
	width: 100%;
	padding: 3em 0;
	margin-top: 3em;
	border-top: 1px dotted #ddd;
	gap: 3em;
}
.item {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	position: relative;
}
.video-placeholder {
	width: 100%;
}
.video-placeholder {
  position: relative; /* 子の iframe の基準になる */
  width: 100%;
  aspect-ratio: 16 / 9; /* これで高さを自動確保 */
}
.en-title {
	font-size: 1.4rem;
	margin-top: 1em;
	font-weight: 400;
}
.guide_txt strong {
	font-weight: 600;
}

/* /////////////////////// SP /////////////////////////////*/
@media screen and (max-width:767px){
	img {
		max-width: 100%;
		height: auto;
	}
	.designed {
		flex-direction: column;
	}
	.designed > p{
		text-align: center;
	}
	.designed .mainTxt {
		font-size: 2.4rem;
	}
	.maxImg {
		max-width: 100%;
		height: auto;
	}
	.mov {
		flex-direction: column;
		align-items: center;
		padding: 0;
		gap: 0;
		margin-top: 3em;
	}
	.item {
		width: 100%;
		margin-bottom: 2em;
	}
	.video-placeholder {
	}
	.guide_txt {
		padding: 0 1em;
	}
	.build_block, .comp_block, .build_img,
	.comp_block {
		width: 100%;
	}
	.build_img {
		flex-direction: column;
	}
	.build_img > p {
		transform: rotate(90deg);
		margin: 1.5em 0;
	}

}
