.l-section:first-of-type {
  min-height: 700px;
}
.l-section:first-of-type:lang(ja) {
  min-height: 500px;
}

@media (min-width: 1200px) {
	.l-container {
		padding-left:  clamp(10px, calc((100vw - 1200px) * 0.1 + 10px), 3rem);
		padding-right: clamp(10px, calc((100vw - 1200px) * 0.1 + 10px), 3rem);
		overflow-x: visible;
	}
	
	.p-only-pc {		display: block;	}
	.p-only-mobile {	display: none; }
}


/*---------------------------------------------*/
/*  レイアウト：1200px以上は２カラム           */
/*---------------------------------------------*/
.l-renewableenergy--2col {
	margin-top: 40px;
	display: flex;
	gap: 1rem;
	align-items: flex-start;
}
.l-renewableenergy--2col::after {
	content:'';
	display:block;
	clear:both;
}

@media screen and (min-width: 1200px) {
  .l-renewableenergy__sidebar.l-renewableenergyNav { display: block; }
  .c-mobileSidebar  { display: none;  }
}
/*---------------------------------------------*/
/*  左側ローカルメニュー                        */
/*---------------------------------------------*/
.l-renewableenergy__sidebar {
	position: sticky;
	top: 100px;
	flex: 0 0 250px;
	max-height: calc(100vh - 120px);
	min-height: 700px;
	align-self: flex-start;
	width: 250px;
	min-width: 250px;
}
.l-mypage__sidebar:lang(ja) {
	min-height: 500px;
}
.l-renewableenergy__main {
	flex: 1;
	width: 930px;
}
.l-renewableenergy__main h2 {
	margin-top: 42px;
}

.l-renewableenergy__sidebar.l-renewableenergyNav {
	margin-top:-15px;
}

.l-renewableenergy__sidebar nav {
	margin-bottom: 34px;
	padding-right: 10px;
}
.l-renewableenergy__sidebar nav span.sub-title {
	display: block;
	margin-top:20px;
	margin-bottom: 6px;
	padding-left: 5px;
	font-weight: bold;
	font-size: 12.6px;
	line-height: 1.6em;
	color: var(--color-nkblue);
}
.l-renewableenergy__sidebar nav a,
.l-renewableenergy__sidebar nav span.is-current,
.l-renewableenergy__sidebar nav .is-current,
.l-renewableenergy__sidebar nav .is-current2 {
	position: relative;
	display: block;
	width: 227px;
	min-height: 34px;
	padding: 9px 15px 9px 32px;
	line-height: 1.25;
	font-size: 14px;
	text-decoration: none;
	margin: 0 0 9px;
	color: var(--color-nkblue);
	background-color: #f5f5f5;
	background-image: url("/hp/common_image/rules/15_sidemenu_14px_56px.svg");
	background-size: 14px 56px;
	background-repeat: no-repeat;
	background-position: 10px 4px;
	box-sizing: border-box;

}
.l-renewableenergy__sidebar nav a.is-current {
	color: #fff;
	background-color: var(--color-nkblue);
	background-position: 10px -24px;
	cursor: default;
}

/* hover 時のアイコンだけ Y オフセットを維持 */
.l-renewableenergy__sidebar nav a:hover,
.l-renewableenergy__sidebar nav .is-current:hover,
.l-renewableenergy__sidebar nav .is-current2:hover {
	color: #fff;
	background-color: var(--color-nkblue);
	background-position: 10px -24px;
}
/* 通常リンクだけ：白矢印が覗かないよう下側をマスク */
.l-renewableenergy__sidebar nav a:not(.is-current):not(.is-current2) {
	background-image: linear-gradient(to bottom, transparent 0 32px, #f5f5f5 32px 100%), url("/hp/common_image/rules/15_sidemenu_14px_56px.svg");
	background-repeat: no-repeat, no-repeat;
	background-size: auto auto, 14px 56px;
	background-position: 0 0, 10px 4px;
}
/* ホバー時：背景色が青になるのでマスク色も青に変更、白矢印へオフセット */
.l-renewableenergy__sidebar nav a:not(.is-current):not(.is-current2):hover {
	background-image: linear-gradient(to bottom, transparent 0 32px, var(--color-nkblue) 32px 100%), url("/hp/common_image/rules/15_sidemenu_14px_56px.svg");
	background-repeat: no-repeat, no-repeat;
	background-size: auto auto, 14px 56px;
	background-position: 0 0, 10px -24px;
}


.l-renewableenergy__sidebar nav span.sub-title {
	width: 240px;
	padding:0;
	letter-spacing: -0.03em; 
}

/*---------------------------------------------*/
/*  モバイルメニュー         　               */
/*---------------------------------------------*/
@media screen and (max-width: 1199px) {
	.l-renewableenergy--2col {
		display: block;
	}
	.l-renewableenergy__sidebar.c-renewableenergyNav {
		display: none;
	}
	
	.l-renewableenergy__main {
		width: 100%;
	}

	.p-only-pc {		display: none;	}
	.p-only-mobile {	display: block; }



	.c-mobileSidebar {
	  margin-bottom: 20px;
	  border: 1px solid #e6e6e6;
	  background-color: #f5f5f5;
	}
	
	.c-mobileSidebar__summary {
	  display: flex;
	  justify-content: space-between;
	  align-items: center;
	  padding: 12px 15px;
	  font-size: 16px;
	  cursor: pointer;
	  list-style: none;
	}
	.c-mobileSidebar__summary::after {
	  content: '＋';
	}
	.c-mobileSidebar[open] .c-mobileSidebar__summary::after {
	  content: '－';
	}
	
	/* ナビ部分：閉じ時は非表示、開時はグリッド表示 */
	.c-mobileSidebar__nav {
	  display: none;
	}
	.c-mobileSidebar[open] .c-mobileSidebar__nav {
	  display: grid;
	  gap: 15px;
	
	  /* ← 追加：左右 15px の余白を確保 */
	  padding: 0 15px 30px 15px;
	}
	/* セクションタイトルを独立１行にする */
	.c-mobileSidebar__sectionTitle {
	  display: block;
	  grid-column: 1 / -1;     /* グリッドの最左～最右まで広げる */
	  padding: 15px 15px 0 15px;      /* ← 左右15px */
	  font-weight: bold;
	  color:  var(--color-nkblue);
	}
	
	/* 各リンクを白背景パネル化 */
	.c-mobileSidebar__nav a {
	  display: flex;
	  align-items: center;
	  gap: 8px;                /* 矢印とテキスト間隔 */
	  padding: 8px 15px;      /* ← 左右を15pxに */
	  background-color: #fff;
	  border: 1px solid #ddd;
	  border-radius: 4px;
	  color: var(--color-nkblue);
	  text-decoration: none;
	}
	.c-mobileSidebar__nav a.is-current {
		color: #fff;
		background-color: var(--color-nkblue);
		border-color: var(--color-nkblue);
		pointer-events: none;
	}
	.c-mobileSidebar__nav a:hover {
		color: #fff;
		background-color: var(--color-nkblue);
	}
}

/*------------------------------*/
/* モバイル：グリッド列数切替  */
/*------------------------------*/
/* 幅 1024px 〜 1199px → 3列 */
@media screen and (max-width: 1199px) and (min-width: 1024px) {
  .c-mobileSidebar[open] .c-mobileSidebar__nav {
    grid-template-columns: repeat(3, 1fr);
  }
}
/* 幅 600px 〜 1023px → 2列 */
@media screen and (max-width: 1023px) and (min-width: 600px) {
  .c-mobileSidebar[open] .c-mobileSidebar__nav {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* 幅 599px 以下 → 1列 */
@media screen and (max-width: 599px) {
  .c-mobileSidebar[open] .c-mobileSidebar__nav {
    grid-template-columns: 1fr;
  }
}





