@charset "UTF-8";
#newyear {
	    background: rgba(212, 182, 130, 0.3);
}
#newyear .ny-top {
	text-align: center;
	width: 100%;
	height: auto; /* お好みの高さ */
	background-color: #d13019; /* 中央の赤色 */

	/* 上下の市松模様帯を作る */
	background-image: 
	/* 上側の市松模様 */
	conic-gradient(#d13019 90deg, #ffffff 0 180deg, #d13019 0 270deg, #ffffff 0),
	/* 下側の市松模様 */
	conic-gradient(#d13019 90deg, #ffffff 0 180deg, #d13019 0 270deg, #ffffff 0);
	/* 1マスのサイズが20px x 20pxの場合、全体の繰り返し模様サイズを40px x 40px（2マス分）にします */
	background-size: 40px 40px, 40px 40px; 
	/* 上端と下端にそれぞれ配置し、横方向のみ繰り返す */
	background-position: top left, bottom left;
	background-repeat: repeat-x, repeat-x;
}
#newyear .ny-top .top-img {
	margin: 0 auto;
	text-align: center;
	width: 1260px;
	position: relative;
}
#newyear .ny-top .top-img img {
	display: block;
	margin:  auto;
	padding: 50px 0 10px 0;
}
#newyear .ny-top .top-txt {
	margin: 0 auto;
	width: 1260px;
	text-align: center;
	box-sizing: border-box;
	margin-botto,: 4;
}
#newyear .ny-top .top-txt h1 {
	text-align: center;
	background: #d3b580;
	width: 600px;
	margin: 0 auto;
	color: #fff;
	font-weight: 900;
	font-size: 30px;
}
#newyear .ny-top .top-txt p {
	padding: 10px 0 60px 0;
	color: #fff;
}


#ny-nav {
	background: rgba(212, 182, 130, 0.8);
	border-top: solid 20px #d4b682;
	border-bottom: solid 20px #d4b682;
}
#ny-nav ul {
	width: 1260px;
	display: flex;
	flex-wrap: wrap;
	padding: 0;
	margin: 0 auto;
	justify-content: space-between;
	list-style: none;
	/* リストの・（ポッチ）を念のためリセット */
}
#ny-nav ul li {
	width: 19%;
}
#ny-nav ul li a {
	color: #e00122;
	background: #fff;
	border: solid 5px #e00012;
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	font-size: 1.5rem;
	text-align: center;
	/* 文字を中央揃えに */
	word-break: break-all;
	/* 円の幅に合わせて強制改行 */
	box-sizing: border-box;
	/* paddingを含めて綺麗な円を維持する */
	position: relative;
	padding: 10%;
	font-weight: 900;
}
#ny-nav ul li a::before {
	content: "";
	position: absolute;
	bottom: 15%;
	left: 50%;
	transform: translateX(-50%);
	/* 左右中央にぴったり合わせる */
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 8px 0 8px;
	border-color: #d65942 transparent transparent transparent;
	/* 下向きの白い三角 */
	/* アニメーションを滑らかにする設定 */
	transition: transform 0.2s ease-out;
}
/* マウスオーバー（:hover）時に、三角だけを下に動かす */
#ny-nav ul li a:hover::before {
	/* 元の左右中央寄せ（translateX(-50%)）を維持したまま、下に4px移動（translateY(4px)） */
	transform: translateX(-50%) translateY(4px);
}


/*--- 共通設定 ---*/
.ny-contents .contents-inner {
	width: 1260px;
	margin: 0 auto;
	padding: 50px 0;
}
.ny-contents .contents-inner > p {
	margin-bottom: 20px;
	/* color: #fff; */
}
.ny-contents h2 {
	font-weight: 900;
	font-size: 30px;
	border-bottom: solid 3px #d13019;
	color: #d13019;
	/* text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3); */
	margin-bottom: 30px;
	padding-left: 55px;
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 50px auto;
}
.ny-contents .ny-item-wrapper ul {
	display: flex;
	flex-wrap: wrap;
	row-gap: 16px;
	column-gap: 16px;
}
.ny-contents .ny-item-wrapper ul li {
	display: flex;
	flex-direction: column;
	background: #fff;
	box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);
	width: 24%;
	padding: 20px;
	border-radius: 10px;
	box-sizing: border-box;
}
.ny-contents .ny-item-wrapper ul li ._txt {
	flex-grow: 1;
}
.ny-contents .ny-item-wrapper ul li ._txt ._name {
	font-size: 20px;
	font-weight: bold;
}
.ny-contents .ny-item-wrapper ul li ._btn a {
	background: #cf2b18;
	display: block;
	padding: 10px;
	border-radius: 30px;
	text-align: center;
	color: #fff;
	font-weight: bold;
	margin-top: 10px;
	position: relative;
}
.ny-contents .ny-item-wrapper ul li ._btn a.feature-page {
	background: #004f51;
}
.ny-contents .ny-item-wrapper ul li ._btn a:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-left: 8px solid #fff;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
}
/*--- 個別設定 ---*/
#ny-original h2 {
	background-image: url('/img/lp/event/ny/ny-icon01.png');
}
#ny-recommend h2 {
	background-image: url('/img/lp/event/ny/ny-icon02.png');
}
#how-to-ny h2 {
	background-image: url('/img/lp/event/ny/ny-icon03.png');
}
.xm-contents .xm-item-wrapper ul li ._btn a.btn_black {
	background: #000;
}
.xm-contents .xm-item-wrapper ul li ._btn a.btn_purple {
	background: #910782;
}
.xm-contents .xm-item-wrapper ul li ._btn a.btn_brown {
	background: #2d1411;
}
/*--- 読み物 ---*/
#how-to-ny .how-cont {
	background: #fff;
	margin-bottom: 20px;
	padding: 40px 20px;
	border-radius: 10px;
}
#how-to-ny .how-cont h3 {
	font-weight: 900;
	font-size: 1.2em;
	margin-bottom: 1em;
}
#how-to-ny .how-cont ul li {
	margin-bottom: 1em;
}
#how-to-ny .how-cont ul li h4 {
	font-weight: bold;
	color: #e00012;
}
#how-to-ny .how-cont ul.blog-links li a {
	font-weight: 900;
	background: #1b5e20;
	display: block;
	padding: 15px 50px 15px 15px;
	font-size: 1.2em;
	border-radius: 10px;
	color: #fff;
	position: relative;
	text-decoration: none;
	transition: background-color 0.3s ease;
}
#how-to-ny .how-cont ul.blog-links li a::after {
	content: "→";
	font-weight: bold;
	color: #1b5e20;
	background: #fff;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.9rem;
	transition: right 0.3s ease, color 0.3s ease;
}
#how-to-ny .how-cont ul.blog-links li a:hover {
	background-color: #0a490d;
}
#how-to-ny .how-cont ul.blog-links li a:hover::after {
	right: 8px;
	color: #0a490d;
}
/* 「こちらで詳しく～」周辺だけ余白調整 */
#how-to-ny .how-cont p + h3 {
	margin-top: 25px;
	margin-bottom: 0;
}
#how-to-ny .how-cont p + h3 + ul.blog-links {
	margin: -20px 0 0 !important;
	padding: 0 !important;
}
#how-to-ny .how-cont p + h3 + ul.blog-links li {
	margin: 0 !important;
	padding: 0;
}
/* 最初の読み物ボックスだけ下余白を縮める */
#how-to-ny .how-cont:first-of-type {
	padding-bottom: 20px;
}
/*--- フィルター ---*/
#ny-recommend .ny-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 16px 0 24px;
}
#ny-recommend .filter-btn {
	padding: 8px 16px;
	border: 1px solid #ccc;
	border-radius: 999px;
	background: #fff;
	cursor: pointer;
	font-size: 14px;
	transition: background 0.2s, color 0.2s;
}
#ny-recommend .filter-btn.is-active {
	background: #1b5e20;
	color: #fff;
	border-color: #1b5e20;
}
#ny-recommend .filter-btn:hover {
	background: #1b5e20;
}
@media screen and (max-width: 768px) {
	#newyear .ny-top {
		padding: 10px 0;
	}
	#newyear .ny-top .top-img {
		width: 100%;
	}
	#newyear .ny-top .top-txt {
		width: auto;
		padding: 10px;
		margin: 10px;
	}
	#newyear .ny-top .top-txt h1 {
		width: 100%;
		font-size: 20px;
		padding: 10px;
		box-sizing: border-box;
	}
	#newyear .ny-top .top-txt span {
		font-size: 1.2em;
	}
	#newyear .ny-top .top-txt p {
		font-size: 0.8em;
	}
	#ny-nav ul {
		width: auto;
		justify-content: space-evenly;
	}
	#ny-nav ul li {
		width: 32%;
	}
	#ny-nav ul li a {
		font-size: 1em;
	}
	#ny-nav ul li a::before {
		border-width: 8px 6px 0 6px;
		bottom: 5px;
	}
	#ny-nav {
		padding: 10px 0;
	}
	.ny-contents .contents-inner {
		width: auto;
		padding: 25px 10px;
	}
	.ny-contents h2 {
		font-size: 20px;
		height: auto;
		margin-bottom: 10px;
		background-size: 30px;
		padding-left: 30px;
	}
	.ny-contents .ny-item-wrapper ul li {
		width: 49%;
		padding: 10px;
	}
	.ny-contents .ny-item-wrapper ul {
		row-gap: 5px;
		column-gap: 5px;
	}
	.ny-contents .ny-item-wrapper ul li ._txt ._name {
		font-size: 16px;
	}
	.ny-contents .ny-item-wrapper ul li ._btn a {
		padding: 5px;
		font-size: 12px;
	}
	.ny-contents .ny-item-wrapper ul li ._btn a:after {
		right: 8px;
		border-left: 5px solid #fff;
		border-top: 4px solid transparent;
		border-bottom: 4px solid transparent;
	}
	.ny-contents .ny-item-wrapper ul li ._txt p {
		font-size: 10px;
	}
	/**/
	.sub_genre_list_ {
		display: none;
	}
}
