@charset "utf-8";
.wrap840 {
		max-width: 840px;
		margin: 0 auto;
		padding: 0 30px;
}
.wrap950 {
		max-width: 950px;
		margin: 0 auto;
		padding: 0 30px;
}
.wrap1180 {
		max-width: 1180px;
		margin: 0 auto;
		padding: 0 30px;
}
@media(max-width: 767px) {
		.wrap840, .wrap950, .wrap1180 {
				padding: 0 20px;
		}
}
/* ================= */
.second_hdr {
		height: 280px;
		display: flex;
		justify-content: center;
		align-items: center;
}
.page_title {
		font-size: 44px;
		font-weight: 700;
		text-align: center;
		margin: 0;
		letter-spacing: 0.05em
}
@media(max-width: 767px) {
		.second_hdr {
				height: 180px;
		}
		.page_title {
				font-size: 30px;
		}
}
/* ================= */
.dot_hd {
		text-align: center;
		background-repeat: repeat-x;
		background-position: left center;
		background-size: 8px;
		margin-bottom: 50px;
}
.dot_hd.wht {
		background-image: url("../images/line_dot_wht.png");
}
.dot_hd .section_hd {
		font-size: 44px;
		font-weight: 500;
}
.section_hd span {
		padding: 0 15px;
}
@media(max-width: 960px) {
		.dot_hd .section_hd {
				font-size: 36px;
		}
}
@media(max-width: 767px) {
		.dot_hd .section_hd {
				font-size: 22px;
		}
}
/* ================= */
.lineup_inner {
		max-width: 1030px;
		margin: 0 auto;
}
.lineup_inner .section_title {
		text-align: center;
		margin: 0 0 60px;
		font-size: 44px;
		font-weight: 600;
}
@media(max-width: 767px) {
		.lineup_inner .section_title {
				margin: 0 0 40px;
				font-size: 22px;
		}
}
.lineup_line {
		text-align: center;
		background-repeat: repeat-x;
		background-position: left center;
		background-size: 8px;
		background-image: url("../images/line_dot.png");
		margin-bottom: 50px;
}
.lineup_line.left {
		width: 670px;
}
.lineup_hd {
		font-size: 32px;
		font-weight: 700;
		color: #867055;
}
.lineup_hd span {
		background: #F9F4E9;
		display: inline-block;
		padding: 0 20px;
}
.lineup_upper {
		display: flex;
		justify-content: space-between;
		max-width: 900px;
		margin: 0 auto 60px;
}
.lineup_bottom {
		display: flex;
		justify-content: space-between;
		max-width: 900px;
		margin: 0 auto 140px;
}
.lineup_bottom_left {
		display: flex;
		justify-content: space-between;
		width: 530px;
}
.lineup_item {
		width: 165px;
		text-align: center;
		position: relative;
}
.lineup_item.new::after {
		content: '';
		display: block;
		position: absolute;
		top: -30px;
		left: 0;
		width: 100%;
		height: 18px;
		background-repeat: no-repeat;
		background-position: center 0;
		background-size: 165px;
		background-image: url("../images/lineup_new_pc.png")
}
.lineup_item a {
		color: #867055;
		text-decoration: none;
}
.lineup_item_thumb {
		width: 160px;
		margin: 0 auto 10px;
		position: relative;
}
.lineup_item_thumb img {
		width: 100%;
		height: auto;
		position: relative;
		z-index: 2
}
.lineup_item_thumb::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		border-radius: 50%;
		transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s;
		box-sizing: border-box;
}
.body .lineup_item_thumb::before {
		background: #E2BAB4;
}
.back .lineup_item_thumb::before {
		background: #C8AEB2;
}
.armleg .lineup_item_thumb::before {
		background: #EBC6B4;
}
.waki .lineup_item_thumb::before {
		background: #EFCAA5;
}
.vio .lineup_item_thumb::before {
		background: #DEBEB8;
}
.bihada .lineup_item_thumb::before {
		background: #EDDFD4;
}
.mayuL .lineup_item_thumb::before {
		background: #EBC6B4;
}
.mayuT .lineup_item_thumb::before {
		background: #C8AEB2;
}
.limited .lineup_item_thumb {
		aspect-ratio: 1 / 1;
		display: flex;
		justify-content: center;
		align-items: center;
}
.limited .lineup_item_thumb p {
		font-size: 22px;
		font-weight: 700;
		transform: translateY(-1px)
}
.limited .lineup_item_thumb::before {
		border: 2px solid #867055;
		height: 100%;
		box-sizing: border-box;
}
.lineup_item p {
		text-align: center;
		font-size: 16px;
		font-weight: 700;
		line-height: 1.3;
}
.lineup_item.limited {
		margin-right: 80px;
}
.lineup_item p span {
		display: inline-block;
		position: relative;
}
.lineup_item p span::before, .lineup_item p span::after {
		content: '';
		display: block;
		position: absolute;
		box-sizing: border-box;
}
.lineup_item p span::before {
		width: 18px;
		height: 18px;
		border-radius: 50%;
		border: 2px solid #867055;
		top: calc(50% - 8px);
		right: -23px;
		transition: background 0.4s;
}
.lineup_item p span::after {
		width: 6px;
		height: 6px;
		transform: rotate(45deg);
		border-top: 2px solid #867055;
		border-right: 2px solid #867055;
		top: calc(50% - 2px);
		right: -16px;
}
@media (hover: hover) {
		.lineup_item a:hover .lineup_item_thumb::before {
				transform: scale(1.12);
				opacity: 0.8
		}
}
@media(max-width: 960px) {
		.lineup_hd {
				font-size: 26px;
		}
		.lineup_item {
				width: 16vw;
		}
		.lineup_item_thumb {
				width: 100%;
		}
		.lineup_item p {
				font-size: 16px;
		}
		.lineup_bottom_left {
				width: 54.4vw;
		}
		.lineup_line.left {
				width: 53vw;
		}
		.lineup_item.limited {
				margin-right: 10vw;
		}
}
@media(max-width: 767px) {
		.lineup_line {
				background-size: 4px;
				margin-bottom: 30px;
		}
		.lineup_line.left {
				margin-bottom: 50px;
		}
		.lineup_hd {
				font-size: 18px;
				margin-bottom: 0;
		}
		.lineup_hd span {
				padding: 0 10px;
		}
		.lineup_upper {
				display: grid;
				grid-template-columns: repeat(3, 1fr);
				gap: 30px 20px;
				margin: 0 auto 40px;
		}
		.lineup_item {
				width: auto;
		}
		.lineup_bottom {
				display: block;
				margin-bottom: 90px;
		}
		.lineup_bottom_left {
				width: 100%;
				display: grid;
				grid-template-columns: repeat(3, 1fr);
				gap: 30px 15px;
				margin: 0 0 40px;
		}
		.lineup_item p {
				font-size: 12px;
				letter-spacing: 0.02em
		}
		.lineup_line.left {
				width: 100%;
		}
		.lineup_item.limited {
				width: calc(calc(100% - 40px) / 3);
		}
		.limited .lineup_item_thumb p {
				font-size: 16px;
		}
		.lineup_item p span::before {
				top: calc(50% - 7px);
				right: -17px;
				border: 1.5px solid #867055;
				width: 14px;
				height: 14px;
		}
		.lineup_item p span::after {
				width: 4px;
				height: 4px;
				top: calc(50% - 2px);
				right: -11.5px;
				border-top: 1.5px solid #867055;
				border-right: 1.5px solid #867055;
		}
}
/* ============== */
.news_item_gr {
		margin-bottom: 60px;
}
.news_item {
		margin-bottom: 30px;
		position: relative;
}
.news_item_gr .news_item:last-child {
		margin-bottom: 0;
}
.news_item a {
		display: flex;
		align-items: flex-start;
		background-color: #fff;
		border-radius: 20px;
		padding: 30px 40px;
		position: relative;
		color: #b96e63;
		text-decoration: none;
		overflow: hidden;
		transition: background 0.4s;
}
.news_item_thumb {
		width: 180px;
		margin-right: 30px;
}
.news_item_thumb img {
		width: 100%;
		height: 135px;
		object-fit: cover;
}
.news_item_caption {
		flex: 1
}
.news_item_category {
		margin: 0 0 10px;
		font-size: 13px;
		font-weight: 700;
		width: 80px;
		border: 2px solid #b96e63;
		border-radius: 60px;
		height: 24px;
		display: flex;
		justify-content: center;
		align-items: center;
		letter-spacing: 0
}
.news_item_category span {
		transform: translateY(-1px)
}
.news_item_title {
		line-height: 1.8;
		font-weight: 500;
		margin-bottom: 10px;
}
.news_item a::before, .news_item::after {
		content: '';
		display: block;
		position: absolute;
}
.news_item a::before {
		bottom: -10px;
		right: -10px;
		width: 50px;
		height: 50px;
		border-radius: 50%;
		background: #ffd7d3;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), background 0.3s;
}
.news_item::after {
		background-image: url(../images/news_item_arw.png);
		background-size: 33px;
		background-repeat: no-repeat;
		width: 33px;
		height: 10px;
		position: absolute;
		right: 13px;
		bottom: 18px;
		pointer-events: none;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
@media (hover: hover) {
		.news_item a:hover {
				background: rgba(255, 255, 255, 0.7);
		}
		.news_item a:hover::before {
				transform: scale(1.2);
				background: #fff;
		}
		.news_item:hover::after {
				transform: translateX(20px)
		}
}
@media(max-width: 960px) {
		.news_item a {
				padding: 20px;
		}
}
@media(max-width: 767px) {
		.news_item_gr {
				margin-bottom: 40px;
		}
		.news_item {
				margin-bottom: 20px;
		}
		.news_item a {
				padding: 15px;
				display: flex;
				align-items: flex-start;
				border-radius: 10px;
		}
		.news_item_thumb {
				width: 90px;
				margin-right: 10px;
		}
		.news_item_thumb img {
				width: 90px;
				height: 60px;
				object-fit: cover;
		}
		.news_item_category {
				margin: 0 0 5px;
				font-size: 12px;
				width: 80px;
				height: 18px;
		}
		.news_item_title {
				line-height: 1.4;
				font-size: 14px;
				margin-bottom: 5px;
				letter-spacing: 0.02em;
		}
		.news_item a .date {
				font-size: 11px;
		}
		.news_item a::before {
				bottom: -14px;
				right: -14px;
				width: 40px;
				height: 40px;
		}
		.news_item::after {
				background-size: 26px;
				width: 26px;
				height: 8px;
				right: 6px;
				bottom: 9px;
		}
}
/* ================= */
.viewmore {
		text-align: center;
		font-size: 22px;
		font-weight: 700;
}
.viewmore a {
		color: #fff;
		text-decoration: none;
		position: relative;
		display: inline-block;
		padding-right: 36px;
}
.viewmore a .linkArw {
		position: absolute;
		right: 0;
		top: calc(50% - 8px)
}
@media(max-width: 767px) {
		.viewmore {
				font-size: 20px;
		}
		.viewmore a .linkArw {
				top: calc(50% - 14px);
		}
}
/* ================= */
.linkArw {
		width: 28px;
		height: 28px;
		transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.linkArw::before, .linkArw::after {
		content: '';
		display: block;
		position: absolute;
		box-sizing: border-box;
}
.linkArw::before {
		top: 0;
		left: 0;
		width: 28px;
		height: 28px;
		border-radius: 50%;
		border: 2px solid #fff;
}
.linkArw::after {
		right: 11px;
		top: calc(50% - 4px);
		width: 8px;
		height: 8px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		transform: rotate(45deg);
}
.linkArw.mid::before {
		width: 23px;
		height: 23px;
}
.linkArw.mid::after {
		right: 14px;
		top: calc(50% - 6px);
		width: 7px;
		height: 7px;
}
.linkArw.wht::before, .linkArw.pnk::before {
		border: 2px solid #fff;
}
.linkArw.wht::after, .linkArw.pnk::after {
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
}
.linkArw.gry::before {
		border: 2px solid #888;
}
.linkArw.gry::after {
		border-top: 2px solid #888;
		border-right: 2px solid #888;
}
@media (hover: hover) {
		a:hover .linkArw {
				transform: translateX(8px)
		}
		a:hover .linkArw.wht::before, a:hover .linkArw.pnk::before {
				background: #fff;
		}
		a:hover .linkArw.gry::before {
				background: #888;
		}
		a:hover .linkArw.gry::after {
				border-top: 2px solid #fff;
				border-right: 2px solid #fff;
		}
		a:hover .linkArw.pnk::after {
				border-top: 2px solid #E2BAB4;
				border-right: 2px solid #E2BAB4;
		}
}
@media(max-width: 767px) {
		.linkArw::before, .linkArw.mid::before {
				width: 18px;
				height: 18px;
				top: calc(50% - 6px);
				left: 0
		}
		.linkArw::after, .linkArw.mid::after {
				right: 17px;
				top: calc(50% - -0.2px);
				width: 6px;
				height: 6px;
		}
}
/* ================= */
@media(min-width: 768px) {
		br.spbr {
				display: none;
		}
}
@media(max-width: 767px) {
		br.pcbr {
				display: none;
		}
}
.anchor {
		margin-top: -100px;
		padding-top: 100px;
		position: relative;
		z-index: 0;
}
@media(max-width: 1440px) {
		.anchor {
				margin-top: -80px;
				padding-top: 80px;
		}
}
@media(max-width: 767px) {
		.anchor {
				margin-top: -60px;
				padding-top: 60px;
		}
}
/* =============== */
.linkbtn_wrap {
		position: relative;
}
.linkbtn_wrap p {
		position: absolute;
		left: 0;
		top: -55px;
		width: 100%;
		text-align: center;
		font-size: 26px;
		font-weight: 700;
		color: #867055;
		letter-spacing: 0.05em
}
.linkbtn_wrap p span {
		display: inline-block;
		position: relative;
}
.linkbtn_wrap p span::before, .linkbtn_wrap p span::after {
		content: '';
		display: block;
		position: absolute;
		width: 2px;
		height: 28px;
		background: #867055;
		top: 5px;
}
.linkbtn_wrap p span::before {
		left: -15px;
		transform: rotate(-20deg)
}
.linkbtn_wrap p span::after {
		right: -15px;
		transform: rotate(20deg)
}
.linkbtn {
		width: 600px;
		font-size: 40px;
		font-weight: 700;
}
.linkbtn a {
		text-decoration: none;
		display: flex;
		justify-content: center;
		align-items: center;
		color: #fff;
		background: #E2BAB4;
		transition: background 0.4s;
		border: 2px solid #E2BAB4;
		height: 140px;
		border-radius: 30px;
}
.linkbtn a span {
		display: inline-block;
		transform: translateY(-1px);
		position: relative;
		padding-right: 40px;
}
.linkbtn a span::before, .linkbtn a span::after {
		content: '';
		display: block;
		position: absolute;
		box-sizing: border-box;
		transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.linkbtn a span::before {
		width: 28px;
		height: 28px;
		border-radius: 50%;
		border: 2px solid #fff;
		right: 0;
		top: calc(50% - 11px);
}
.linkbtn a span::after {
		right: 11px;
		top: calc(50% - 2px);
		width: 10px;
		height: 10px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		transform: rotate(45deg)
}
@media (hover: hover) {
		.linkbtn a:hover {
				background: #fff;
				color: #E2BAB4;
		}
		.linkbtn a:hover span::before {
				background: #E2BAB4;
				transform: translateX(10px)
		}
		.linkbtn a:hover span::after {
				border-top: 2px solid #fff;
				border-right: 2px solid #fff;
				transform: translateX(10px) rotate(45deg)
		}
}
@media(max-width: 960px) {
		.linkbtn {
				width: 480px;
				font-size: 30px;
		}
		.linkbtn a {
				height: 110px;
				border-radius: 20px;
		}
}
@media(max-width: 767px) {
		.linkbtn_wrap {
				width: 100%;
		}
		.linkbtn {
				width: 100%;
				font-size: 20px;
		}
		.linkbtn a {
				height: 70px;
				border-radius: 12px;
		}
		.linkbtn a span {
				padding-right: 26px;
		}
		.linkbtn a span::before {
				width: 18px;
				height: 18px;
				top: calc(50% - 7px);
		}
		.linkbtn a span::after {
				right: 7px;
				top: calc(50% - 1px);
				width: 6px;
				height: 6px;
		}
		.linkbtn_wrap p {
				top: -40px;
				font-size: 16px;
		}
		.linkbtn_wrap p span::before, .linkbtn_wrap p span::after {
				width: 1px;
				height: 20px;
				top: 5px;
		}
		.linkbtn_wrap p span::before {
				left: -15px;
				transform: rotate(-20deg)
		}
		.linkbtn_wrap p span::after {
				right: -15px;
				transform: rotate(20deg)
		}
}
/* =============== */
.hrCenter {
		display: flex;
		justify-content: center;
		align-items: center;
}
/* =============== */
.underL {
		position: relative;
}
.underL::after {
		content: '';
		display: block;
		position: absolute;
		bottom: -4px;
		left: 0;
		width: 100%;
		height: 2px;
		background: #fff;
		transform-origin: left center;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
		transform: scaleX(0);
}
.underL.bgWht::after {
		background: #fff;
}
.underL.bgBrwn::after {
		background: #867055;
}
@media (hover: hover) {
		a:hover .underL::after {
				transform: scaleX(1);
		}
}
/* ================= */
.fWht {
		color: #fff;
}
.fPnk {
		color: #E2BAB4;
}
.fRose {
		color: #c68284;
}
.fBrwn {
		color: #867055;
}
.dot_hd span.bgWht {
		background: #fff;
}
.dot_hd span.bgPnk {
		background: #E2BAB4;
}
.dot_hd span.bgRose {
		background: #c68284;
}
.dot_hd span.bgBrwn {
		background: #867055;
}
/* =============== */
.mb00 {
		margin-bottom: 0px !important;
}
.mb05 {
		margin-bottom: 5px !important;
}
.mb10 {
		margin-bottom: 10px !important;
}
.mb15 {
		margin-bottom: 15px !important;
}
.mb20 {
		margin-bottom: 20px !important;
}