			* {
				box-sizing: border-box;
			}

			html, body {
				width: 100%;
				height: 100%;
				overflow: auto;
				margin: 0;
				padding: 0;
				
				-ms-overflow-style: none;
				scrollbar-width: none;
			}

			.page {
				overflow-x: hidden;
				overflow-y: auto;
				height: auto;
				-ms-overflow-style: none;
				scrollbar-width: none;
			}
			.page::-webkit-scrollbar {
				display: none;
			}

			.slide {
				position: -webkit-sticky;
				position: sticky;
				top: 0;
				height: auto;
				display: flex;
				justify-content: center;
				align-items: center;
				letter-spacing: 0.2em;
				color: white;
				background-size: cover;
				background-position: center;
			}
			section {
				width: 100%;
				position: relative;
			}




			.top-section{
				position: relative;
				height: 488px;
				overflow: hidden;               /* はみ出し防止 */
			}

			.top-section .top-bg{
				position: absolute;
				width: 110%;
				height: auto;
				object-fit: cover;
				z-index: 0;
				max-width: none;
				border: none;
				top: -30%;
				left: -1%;
			}

			/* グラデーションは上に重ねる */
			.top-section::after{
				content:"";
				position:absolute;
				inset:0;
				background: linear-gradient(270deg,
					rgba(0,0,0,.2) 0.02%,
					rgba(0,0,0,.41) 27.51%,
					rgba(0,0,0,.5) 50.66%,
					#000 94.1%);
				z-index: 1;
			}


			.top-section-inner {
				position: relative;
				padding: 166px 118px 132px 118px;
				z-index:2;
			}


			.top-title {
				color: #fff;

				font-family: Noto Sans JP;
				font-weight: 500;
				font-style: Medium;
				font-size: 56px;
				leading-trim: NONE;
				line-height: 160%;
				letter-spacing: 0%;

				margin-bottom: 8px;
			}
			.top-title-sub {
				color: #fff;

				font-family: Noto Sans JP;
				font-weight: 700;
				font-style: Bold;
				font-size: 16px;
				leading-trim: NONE;
				line-height: 160%;
				letter-spacing: 0.04em;

			}


			.pankuzu-list {
				display: flex;
				width: 257px;
				margin-bottom: 48px;
			}

			.pankuzu-unit {
				color: #fff;
				font-family: Noto Sans JP;
				font-weight: 400;
				font-style: Regular;
				font-size: 12px;
				leading-trim: NONE;
				line-height: 150%;
				letter-spacing: 0%;
			}

			.pankuzu-separator {
				position: relative;
				width: 24px;
				height: 18px;
			}
			.pankuzu-separator img{	
				margin: 0 auto;
				width: 10px;
				height: 16px;
				display: block;
			}

			.pc_br {
				display: block;
				display: unset;
			}
			.sp_br {
				display: none;
			}

			.pc-hidden{
				display: none;
			}

			/* LLLLLLLLLLLLLLLLLL */
			.main-section {
				padding: 86px 120px;
			}
			.product-content {
				display: flex;
				gap: 71px;
			}
			/* LLLLLLLLLLLLLLLLLL */
			.product-menu {
				width: 265px;
				flex: 0 0 265px;
			}
			.product-menu ol {
				margin: 0 0 10px 5px;
			}
			.product-head {
				margin-bottom: 16px;
			}
			.product-menu-title {
				color: #005EAD;

				font-family: Noto Sans JP;
				font-weight: 700;
				font-style: Bold;
				font-size: 20px;
				leading-trim: NONE;
				line-height: 140%;
				letter-spacing: 0%;
			}
			.product-menu-title-sub{
				color: #005EAD;

				font-family: Noto Sans JP;
				font-weight: 700;
				font-style: Bold;
				font-size: 14px;
				leading-trim: NONE;
				line-height: 140%;
				letter-spacing: 0%;


				padding-top: 8px;
			}

			.product-menu ol li {
				font-family: Noto Sans JP;
				font-weight: 400;
				font-style: Regular;
				font-size: 14px;
				leading-trim: NONE;
				line-height: 160%;
				letter-spacing: 4%;
				vertical-align: middle;
				text-decoration: underline;
				text-decoration-style: solid;
				text-decoration-offset: 40%;
				text-decoration-thickness: 0%;
				text-decoration-skip-ink: auto;

				padding: 0;
				padding-top: 8px; 
				padding-bottom: 8px;

				margin: 0 0 0 25px;
			}


			/* 最初の li は上だけ 0 */
			.product-menu ol li:first-child{
				padding-top: 0;
			}

			/* 最後の li は下だけ 0 */
			.product-menu ol li:last-child{
				padding-bottom: 0;
			}
			/* LLLLLLLLLLLLLLLLLL */
			.product-main {
				flex: 1 1 auto;
			}

			.product-main-message {
				font-family: Noto Sans JP;
				font-weight: 400;
				font-style: Regular;
				font-size: 16px;
				leading-trim: NONE;
				line-height: 180%;
				letter-spacing: 0%;


				margin-bottom: 20px;
			}

			.product-list-title {

				font-family: Noto Sans JP;
				font-weight: 700;
				font-style: Bold;
				font-size: 16px;
				leading-trim: NONE;
				line-height: 130%;
				letter-spacing: 0%;

				color: #fff;
				background-color: #005EAD;
				border-radius: 4px;
				padding: 8px 24px;
				margin-bottom: 24px;

				height: 38px;
			}

			.product-list-category-title {
				margin-bottom: 8px;
				font-family: Noto Sans JP;
				font-weight: 700;
				font-style: Bold;
				font-size: 18px;
				leading-trim: NONE;
				line-height: 140%;
				letter-spacing: 0%;
			}
			/* LLLLLLLLLLLLLLLLLL */
			.product-list-table{
				color: #151515;
				width: 100%;
				border: 1px solid #D7D7D7;   /* 外枠 */
				border-collapse: separate;              /* 角丸を効かせるため separate */
				border-spacing: 0;
			}
			.product-list-table thead th{
				background-color: #E8E8E8;
				text-align: center;
				padding: 12px 16px;

				border-right: 1px solid #D7D7D7;
				border-bottom: 1px solid #D7D7D7;

				font-family: Noto Sans JP;
				font-weight: 700;
				font-style: Bold;
				font-size: 14px;
				leading-trim: NONE;
				line-height: 140%;
				letter-spacing: 0%;

			}
			.product-list-table thead th:last-child{
				border-right: 0;
			 }

			/* ボディ */
			.product-list-table tbody td {
				padding: 16px;
				vertical-align: top;
				border-right: 1px solid #D7D7D7;
				border-bottom: 1px solid #D7D7D7;
				vertical-align: middle;
				text-align: left;
				height:95px;
			}

			.product-list-table tbody td:last-child{ border-right: 0; }
			.product-list-table tbody tr:last-child td{ border-bottom: 0; }

			/* 画像列（2列目）を中央寄せ＆幅固定にしたい場合 */
			.product-list-table td:nth-child(2),
			.product-list-table th:nth-child(2){ width: 152px; text-align: center; }
			.product-list-table .photo img{ width: 120px; height: auto; display: block; margin: 0 auto; }

			/* リンク体裁 */
			.product-list-table a{ color:#005EAD; text-decoration: underline; }
			.product-list-table a:hover{ text-decoration: none; }

			.product-list-table {
			  margin-bottom: 56px;
			}

			.product-list-table tbody td .series_name {
				font-family: Noto Sans JP;
				font-weight: 400;
				font-style: Regular;
				font-size: 12px;
				leading-trim: NONE;
				line-height: 140%;
				letter-spacing: 0%;

			}

			.product-list-table tbody td .non_series_name {
				font-family: Noto Sans JP;
				font-weight: 700;
				font-style: Bold;
				font-size: 16px;
				leading-trim: NONE;
				line-height: 180%;
				letter-spacing: 0%;
			}

			.product-list-table tbody td .spec {
				font-family: Noto Sans JP;
				font-weight: 400;
				font-style: Regular;
				font-size: 12px;
				leading-trim: NONE;
				line-height: 140%;
				letter-spacing: 0%;

			}
			.product-list-table tbody td .season {
				font-family: Noto Sans JP;
				font-weight: 400;
				font-style: Regular;
				font-size: 12px;
				leading-trim: NONE;
				line-height: 140%;
				letter-spacing: 0%;

			}
			.product-list-table tbody td .catalog_link {
				font-family: Noto Sans JP;
				font-weight: 400;
				font-style: Regular;
				font-size: 12px;
				leading-trim: NONE;
				line-height: 140%;
				letter-spacing: 0%;
				text-decoration: underline;
				text-decoration-style: solid;
				text-decoration-offset: 0%;
				text-decoration-thickness: 0%;

				color: #005EAD;
				text-decoration: underline;

			}
			.product-list-table tbody td .etc_lisnk {
				color: #005EAD;

				font-family: Noto Sans JP;
				font-weight: 700;
				font-style: Bold;
				font-size: 12px;
				leading-trim: NONE;
				line-height: 140%;
				letter-spacing: 0%;

				text-decoration: none;

			}
			/* テキスト + 矢印を横並びに */
			.product-list-table .etc_lisnk{
				display: inline-flex;
				align-items: center;
				gap: 6px;                 /* 文字と矢印の間隔 */
				color: #005EAD;
				text-decoration: none;
				white-space: nowrap;
			}

			/* 末尾の矢印 */
			.product-list-table .etc_lisnk::after{
				content: "";
				width: 7px;              /* 矢印サイズ（必要に応じて 12〜16px などに調整） */
				height: 12px;
				/* 矢印をリンク色で描画（対応ブラウザではこちらが使われます） */
				-webkit-mask: url("/common/asset/productupdates/link_arrow.svg") no-repeat center / contain;
				mask: url("/common/asset/productupdates/link_arrow.svg") no-repeat center / contain;
				background: currentColor;
				/* フォールバック（古い環境向け） */
				background-image: url("/common/asset/productupdates/link_arrow.svg");
				background-repeat: no-repeat;
				background-position: center;
				background-size: contain;
				margin-top: 2px;
			}
			/* LLLLLLLLLLLLLLLLLL */


			@media (max-width: 1024px){
				.product-list-table td:nth-child(2), .product-list-table th:nth-child(2){
					width: 90px;
				}


				.product-list-table thead th{
					padding: 6px 16px;
					font-size: 12px;
					width: 90px;
				}
				.product-list-table tbody td{
					padding: 9px 12px;
					height: 110px;
					width: 90px!important;
				}
				.pruduct_image{
					text-align: left;
				}
				.pruduct_image img{
					width: 85%;
				}

				.non_series_name{
					font-size: 14px!important;
				}

				.pc_br {
					display: none;
				}
				.sp_br {
					display: block;
					display: unset;
				}

				.top-section{
					height: 276px;
				}

				.top-section .top-bg {
					object-position: revert;
					width: 300%;
					height: auto;

					top: -120px;
					left: -350px;
				}
				.top-section::after {
					linear-gradient(270deg, rgba(0,0,0,.2) 0.02%, rgba(0,0,0,.41) 27.51%, rgba(0,0,0,.5) 50.66%)
				}

				.pankuzu-list {
					margin-bottom: 32px;
				}

				.top-section-inner {
					padding: 72px 24px 37px 24px;
				}

				.pankuzu-unit {
					color: #fff;
					font-family: Noto Sans JP;
					font-weight: 400;
					font-style: Regular;
					font-size: 12px;
					leading-trim: NONE;
					line-height: 150%;
					letter-spacing: 0%;
				}

				.top-title {
					font-family: Satoshi;
					font-weight: 500;
					font-style: Medium;
					font-size: 32px;
					leading-trim: NONE;
					line-height: 130%;
					letter-spacing: 0%;

					margin-bottom: 16px;
				}

				.top-title-sub {
					color: #fff;

					font-family: Noto Sans JP;
					font-weight: 700;
					font-style: Bold;
					font-size: 12px;
					leading-trim: NONE;
					line-height: 140%;
					letter-spacing: 0.04em;


				}

				.product-content {
					display:block;
					width: 100%;

				}

				.product-menu {
					width: 100%;
					background-color: #F3F8FC;
					padding: 32px 24px;
				}

				.product-menu-title {
					font-family: Noto Sans JP;
					font-weight: 700;
					font-style: Bold;
					font-size: 20px;
					leading-trim: NONE;
					line-height: 140%;
					letter-spacing: 0%;
				}

				.main-section {
					padding: 0;
				}

				.product-main {
					padding: 32px 24px;
				}

				.product-list-category-title {
					font-family: Noto Sans JP;
					font-weight: 700;
					font-style: Bold;
					font-size: 16px;
					leading-trim: NONE;
					line-height: 140%;
					letter-spacing: 0%;
				}

				.product-list-area {
					padding: 0 24px;
					width: 100vw;
					transform: translateX(-24px);
					-webkit-transform: translateX(-24px);
				}

				.product-list-title {
					font-family: Noto Sans JP;
					font-weight: 700;
					font-style: Bold;
					font-size: 16px;
					leading-trim: NONE;
					line-height: 140%;
					letter-spacing: 0%;

					padding: 8px 16px;
					margin-bottom: 24px;
				}

				.product-list-table {
					min-width: 864px;
					margin-bottom: 24px;
				}

			}



/* =========================
   SP：左メニューを「チップ」風に
   ========================= */
@media (max-width:1024px){

  /* 既存装飾をリセット＆横に並べる */
  .product-menu ol{
    list-style: none;
    counter-reset: spmenu;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;               /* 行・列のすき間 */
    padding: 0;
	margin: 16px 0 0px 0;
	font-family: Noto Sans JP;
	font-weight: 700;
	font-style: Bold;
	font-size: 14px;
	leading-trim: NONE;
	line-height: 160%;
	letter-spacing: 0%;
	text-align: center;


  }
  .product-menu ol li{ margin:0; padding:0; }
  .product-menu ol li a{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	width: auto;
	max-width: 100%;
	padding: 8px;
	background: #fff;
	border-radius: 2px;
	color: #005EAD;

	font-weight: 700;
	line-height: 1.4;
	text-decoration: none;
	white-space: normal;
	border: 1px solid #005EAD;
	text-align: left;
	/*align-items: flex-start;*/

	font-family: Noto Sans JP;
	font-weight: 700;
	font-style: Bold;
	font-size: 14px;
	leading-trim: NONE;
	line-height: 160%;
	letter-spacing: 0%;
	text-align: left;
  }

  /* 左の番号バッジ */
  .product-menu ol li a::before{
	align-self: flex-start;
    counter-increment: spmenu;
    content: counter(spmenu) ".";
    flex: 0 0 auto;
    display: inline-flex;
    align-items: top;
    justify-content: center;
    min-width: 0;
    height: 24px;
    padding: 0px;
    border-radius: none;
    font-size: 12px;
    font-weight: 700;
    background: #fff;

	font-family: Noto Sans JP;
	font-weight: 700;
	font-style: Bold;
	font-size: 14px;
	leading-trim: NONE;
	line-height: 160%;
	letter-spacing: 0%;
	text-align: center;


  }

  .product-menu ol li a:hover::after{ transform: translateX(2px); }
}





@media (max-width:1024px){
  .product-list-area{
     position:relative;
     padding-bottom:52px;
   }

  .product-list-scroll{
    overflow-x:auto;
  }

	.pc-hidden{
		display:block;
	}

	.three-point{
		margin-top: -35px;
		text-align:center;
        font-size: 50px;
        color: #c4c4c4;
		font-weight: 600;
	}
	.three-point-content{
		padding: 5px 10px;
	}


@media (max-width:1024px){
  /* 番号用の幅（2桁＋ピリオド想定） */
  :root { --num-width: 2.8ch; } /* 3桁になる場合は 3.8ch などに */

  .product-menu ol{
    counter-reset: spmenu;
  }

  .product-menu ol li a{
    /* 左の余白を狭く、番号は固定幅分だけ確保 */
    display: inline-flex;
    align-items: center;
    gap: 0;                         /* ← 擬似要素で間隔を作るので 0 に */
    padding: 8px 10px 8px 6px;      /* ← 左だけ狭く */
    text-decoration: none;
  }

  /* 番号（1. / 19. など） */
  .product-menu ol li a::before{
    counter-increment: spmenu;
    content: counter(spmenu) ".";
    display: inline-block;
    width: var(--num-width);        /* ← 固定幅 */
    text-align: right;              /* ← 1の位で揃う */
    margin-right: 2px;              /* 番号と本文の間 */
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum" 1;/* タブラー数字（互換目的） */
  }

		.menu2-margin{
			margin-top: 30px;
		}

}

.product-menu ol li a {
  padding-left: 0;
}

}


	@media screen and (min-width:1025px){
		.menu2-margin{
			margin-top: 50px;
		}
	}

