/* compact ＆ expanded じゃないときだけ全部隠す */
#header.compact:not(.expanded) > div {
  transform: scaleY(0);
	visibility: hidden;
  opacity: 0;
  padding: 0;
}

/* MENU は常に見せる */
#header.compact > #menu {
  transform: scaleY(1);
  opacity: 1;
  padding: 20px;
	visibility: visible;
}

/* expanded のときは全部展開 */
#header.compact.expanded > div {
  transform: scaleY(1);
  opacity: 1;
  padding: 30px;
	visibility: visible;
}
/* サブリンクも expanded 必須で見せる */
#header.compact.expanded #menu a:not(:first-child) {
  display: block;      /* display:none から戻すなら */
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}



/*PC用未来っ子メインビジュアル*/

#miraikko-main-visual {
	background-color: #FFF;
	padding-top: 40px;
}

.sub-name {
	padding-top: 40px;
	margin-left: 80px;
	font-weight: 500;
	color: #333;
}

.back {
	font-size: 24px;
	color: #00A0F4;
	display: flex;
	align-items: center;
	gap: 16px;
	padding-top: 40px;
	margin-left: 80px;
}

#miraikko-main-visual  h1 {
  margin-top: 80px;
	margin-left: 80px;
	font-size: 72px;
	color: #00A0F4;
	font-weight: 500;
	margin-bottom: 24px;
}

#miraikko-main-visual-img {
	background-color: #E0E0E0;
	display: flex;
	align-items: end;
	justify-content: center;
	gap: 24px;
	padding-bottom: 120px;
}

#miraikko-main-visual-img a {
	display: flex;
	align-items: end;
}

/*PC用説明*/

.subpage-works {
	background-color: #FFF;
	padding: 100px 160px;
	position: relative;
	display: flex;
	flex-wrap: wrap;
}

.subpage-works::before {
  content: "";
  position: absolute;
  left: 45%;               /* コンテナ幅の中央 */
  top: 104px;
  bottom: 0;
  width: 1px;              /* 線の太さ */
  background-color: #ccc;  /* 線の色（お好みで調整） */
	height: 270px;
}

.subpage-works-sentence {
	flex: 1;
}

.works-left {
	margin-left: 80px;
}

.subpage-works-sentence h2 {
	color: #00A0F4;
	font-size: 18px;
	margin-top: 24px;
	font-weight: 500;
}

.subpage-works-sentence h3 {
	font-size: 20px;
	margin-top: 8px;
}

.subpage-works-sentence h4 {
	margin-top: 8px;
	font-size: 16px;
}

.subpage-works-sentence h5 {
	margin-top: 8px;
	font-size: 12px;
}

.subpage-works-sentence p {
	margin-top: 24px;
	font-size: 14px;
	line-height: 24px;
	color: #333;
}

#miraikko-img {
	padding: 80px 80px 160px 80px;
	display: flex;
	justify-content: center;
	background-color: #fff;
}

#miraikko-img img {
	width: 100%;
}

.mockup-scroll {
  width: 100%;
  max-width: 1000px; /* 表示したいモックアップの幅に応じて調整 */
  height: 600px;     /* 縦の表示サイズ：ここが「枠」になる */
  overflow-y: scroll;
  border: 8px solid #ccc;
  border-radius: 20px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.1);
  margin: 0 auto;
  background-color: #fff;
}

.mockup-scroll img {
  width: 100%;
  display: block;
}

#back-next {
	display: flex;
	background-color: #FFF;
	justify-content: center;
	align-items: center;
	gap: 48px;
}

.next {
	text-align: center;
	background-color: #fff;
	padding-bottom: 100px;
	display: block;
}

.back-bottom {
	text-align: center;
	background-color: #fff;
	padding-bottom: 100px;
	display: block;
}

.next-text {
	color: #00A0F4;
	font-size: 24px;
	margin-top: 24px;
	display: flex;
	align-items: center;
	gap: 16px;
	justify-content: center;
}

.back-text {
	color: #00A0F4;
	font-size: 24px;
	margin-top: 24px;
	display: flex;
	align-items: center;
	gap: 16px;
	justify-content: center;
}


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

	#miraikko-main-visual {
		padding-top: 45px;
	}

	.sub-name {
		margin-left: 16px;
	}

	.back {
		margin-left: 16px;
	}

#miraikko-main-visual-img {
	padding-bottom: 50px;
}

#miraikko-main-visual-img img {
	width: 100%;
	margin-top: 50px;
	height: auto;
}

#miraikko-main-visual h1 {
	font-size: 32px;
	margin-left: 16px;
}

.subpage-works {
	padding: 50px 16px;
}

.subpage-works::before {
	display: none;
}

.subpage-works-sentence {
	flex: none;
	width: 100%;
}

.works-left {
	margin-left: 0;
}

.subpage-works-sentence p {
	width: 100%;
}

#miraikko-img img {
	width: 100%;
	height: auto;
}

.back-img {
	width: 100px;
	height: auto;
}

.next-img {
	width: 100px;
	height: auto;
}

#miraikko-img {
	padding: 50px 16px;
}

}