@charset "utf-8";

.l-breadcrumbs__inner{
	padding-block: 20px;
}
.l-section__inner{
	margin-inline: 0;
	max-width: 100%;
	width: 100%;
}
#christmascake_shindan a:hover img{
	opacity: 1;
}

@media screen and (max-width: 599px){
	.p-special__contents{
		margin-inline: 0;
	}
}

.noscroll {
  overflow: hidden;
  height: 98vh;
}
.main{
	max-width: 600px;
  width: 55%;
}

/* 診断 */
.shindan-box .modal {
	display: none;
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	padding: 0px 20px;
	background-color: rgba(0, 0, 0, 0.7);
	z-index: 300000!important;
}
.shindan-box .modal-body {
	width: 70%;
	padding: 0px 0px 50px;
	background: rgb(93, 57, 53);
	border-radius: 30px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
}
.shindan-box .modal-header {
	margin-right: 20px;
	padding-top: 30px;
	display: flex;
	justify-content: flex-end;
	height: 40px;
}
.shindan-box .modal-header > .close-button {
	width: 30px;
	height: 30px;
	background: transparent;
	position: relative;
	transform: translateY(-12px);
	border: none;
}
.shindan-box .modal-header > .close-button span {
	width: 30px;
	height: 2px;
	background: rgb(255, 255, 255);
	display: inline-block;
	position: absolute;
	top: 50%;
}
.shindan-box .modal-header > .close-button span:first-of-type {
	transform: rotate(45deg) translateY(-50%);
	right: 0px;
}
.shindan-box .modal-header > .close-button span:last-of-type {
	transform: rotate(-45deg) translateY(-50%);
	left: 1px;
}
.shindan-box .modal-main {
	padding: 2% 20px;
	text-align: right;
}
.shindan-box .modal-menu_item {
	text-align: center;
}
.shindan-box .modal-menu_title {
	font-weight: 700;
}
.shindan-box .modal-menu_title a {
	color: rgb(255, 255, 255);
	width: 100%;
	display: block;
	padding: 20px 0px;
}
.swiper,.swiper-wrapper,.swiper-slide{
  height: auto;
}
.js-nav.shindan-box {
	width: 100%;
}
.shindan-box .nav-menu_title{
  max-width: 400px;
  padding: 10px 30px;
  margin: 20px auto 0;
  text-align: center;
  border-radius: 100vh;
  font-size: 18px;
  transition: 0.3s;
  background: #ffffff;
  color: #ab111f;
  box-shadow: 0 5px 0 #ab111f;
  border: 2px solid #ab111f;
  cursor:pointer;
}
.shindan-box .nav-menu_title:hover{
	box-shadow:none;
	transform:translateY(5px);
}
.shindan-box .modal-body{
  padding: 0;
  overflow: auto;
  color: #fff;
  background: transparent;
  width: 100%;
  height: 100%;
  overflow-y: hidden;
}
.shindan-box .modal-header{
  position: absolute;
  top: 10px;
  right: 10px;
  padding: 0;
  margin:0;
  height: auto;
}
.shindan-box .modal-header > .close-button {
  transform: translateY(5px) translateX(-21px);
  z-index: 10000000000000;
}
.shindan-box .modal-main {
  width: 100%;
  padding: 0;
  text-align: left;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.shindan-box .modal-header > .close-button {
  transform: translateY(0); 
}
.title-wrap{
  margin: 0 auto 50px;
  max-width: 800px;
}

/* ボックス */
.box.question{
  position: relative;
  opacity: 0;
  display: none;
}
.question.active{
  opacity: 1;
  padding: 0 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  background: #fff;
  height: 80%;
  width: auto;
  max-width: 700px;
  max-height: 700px;
  border-radius: 30px;
  z-index: 3000000;
}
.question.active.first{
  background: url(/d_images/christmascake2026/christmascake_shindan/img/shindan_start_bg.webp) no-repeat center/cover;
	aspect-ratio: 1 / 1;
}
.question.active:nth-of-type(2){
  background: url(/d_images/christmascake2026/christmascake_shindan/img/question_bg_red.png) no-repeat center/cover;

}
.question.active:nth-of-type(3){
  background: url(/d_images/christmascake2026/christmascake_shindan/img/question_bg_yellow.png) no-repeat center/cover;
}
.question.active:nth-of-type(4){
  background: url(/d_images/christmascake2026/christmascake_shindan/img/question_bg_green.png) no-repeat center/cover;
}

@keyframes scroll{
  0%,100%{
    transform: translateY(-5px) translateX(-50%);
  }
  50%{
    transform: translateY(0) translateX(-50%);
  }
}

@media screen and (min-width:600px){
	.shindan-box .nav-menu_title{
		font-size: 21px;
		}	
	.question.active{
		aspect-ratio: 1 / 1;
	}
}

@media screen and (max-width: 599px) {
	.main{
		position: relative;
		width: 100%;
		z-index: -30;
	}
	.shindan-box .sticky .nav-menu_title {
		height: 46px;
	}
	.shindan-box .nav-menu_title span {
		width: 20px;
		margin-bottom: 5px;
		height: 2px;
	}
	.shindan-box .modal-menu_title {
		font-size: 14px;
	}
	.shindan-box .modal-body {
		top: 50%;
		width: 83%;
	}
	.shindan-box .modal-menu_title a {
		padding: 10px 0px;
	}
	.shindan-box .modal-header{
		right: 20px;
	}
  .shindan-box .modal-body{
		height: auto;
		width: 90%
  }
	.title-wrap{
		margin: 0 auto 35px;
		position: relative
  }
	 .question.active{
    height: 97%;
    width: 100%;
    padding: 20px;
  }
	#q2.question.active,
	#q3.question.active{
		aspect-ratio: auto;
	}
}

/* 見出し */
#berubara_shindan h3{
  margin-bottom: 30px;
  text-align: center;
  font-size: 30px;
  font-weight: 600;
  line-height: 0.7;
}
#a1 h3{
	color: #717171;
}
#a2 h3{
	color: #da7d97;
}
#a3 h3{
	color: #8969b5;
}
#a4 h3{
	color: #cba533;
}
#berubara_shindan h3 span{
  margin-bottom: 30px;
  text-align: center;
  font-size: 15px;
}

@media screen and (max-width: 599px){
  #berubara_shindan h3{
  margin-bottom: 20px;
  text-align: center;
  font-size: 25px;
  line-height: 0.8;
  }
  #berubara_shindan h3 span{
   font-size: 12px;
  }
}

/* 選択肢 */
 .box .title {
  font-size: 23px;
  text-align: center;
  position: relative;
  line-height: 1.6;
  font-family: "zen-kaku-gothic-antique", sans-serif;
  font-weight: 900;
  font-style: normal;
	 color: #333;
}
 .box .title .num {
  font-size: 41px;
  font-family: "futura-pt", sans-serif;
  font-weight: 800;
  font-style: italic;
}

@media screen and (max-width: 599px){
   .box .title {
    font-size: 17px;
  }
   .box .title .num {
  font-size: 28px;
  }
}
 .box .select-wrap {
  margin: 40px 0 45px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 25px
}

@media screen and (max-width: 599px){
   .box .select-wrap {
    margin: 20px 0;
    gap:13px
  }
	.box .select-wrap .select{
		line-height: 1.6;
	}
}
 .box .select-wrap .select {
  border-radius: 50px;
  padding: 9px 20px;
  text-align: center;
  position: relative;
  width: 100%;
  box-shadow: 0px 6px 5px #0000006e;
  background: #fff;
  font-family: "zen-kaku-gothic-antique", sans-serif;
  font-weight: 900;
  font-size: clamp(15px,2.8vw,17px);
}
.question.active:nth-of-type(2) .select-wrap .select {
  color: #b76057;
}
.question.active:nth-of-type(3) .select-wrap .select {
  color: #a88c42;
}
.question.active:nth-of-type(4) .select-wrap .select {
  color: #709149;
}
 .box .select-wrap .select.is-inactive, .box .select-wrap .select:hover {
  transform: translateY(2px);
  box-shadow: none;
}
 .box .select-wrap .select.is-inactive {
  color: #fff;
  box-shadow: 2.8285px 2.8285px 5px 0px rgba(0, 0, 0, 0.2) inset, -2.8285px -2.8285px 5px 0px rgb(93 93 93 / 28%) inset;
}
.question.active:nth-of-type(2) .select-wrap .select:hover,.question.active:nth-of-type(2) .select-wrap .select.is-inactive {
  background: #b76057;
  color: #fff;
}
.question.active:nth-of-type(3) .select-wrap .select:hover,.question.active:nth-of-type(3) .select-wrap .select.is-inactive {
  background: #a88c42;
  color: #fff;
}
.question.active:nth-of-type(4) .select-wrap .select:hover,.question.active:nth-of-type(4) .select-wrap .select.is-inactive {
  background: #709149;
  color: #fff;
}
 .box .select-wrap .select:hover {
  box-shadow: none;
}
#berubara_shindan .deside,
#berubara_shindan .finish{
  width: 60%;
  margin: 0 auto;
  padding: 6px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background: rgb(87 87 87);
  color: rgb(255, 255, 255);
  position: relative;
  font-size: 17px;
  border-radius: 100vh;
  letter-spacing: 0.2em;
  font-family: "zen-kaku-gothic-antique", sans-serif;
  font-weight: 900;
  font-style: normal;
  border: none;
}

@media screen and (max-width: 599px){
   .box .select-wrap {
		width: 95%;
  }
	#berubara_shindan .deside, 
	#berubara_shindan .finish{
		width: 75%;
		font-size: 15px;
	}
}
  
/* 結果 */
 .box.result {
  border-radius: 20px;
  margin: auto;
  padding: 0 0 40px;
  display: none;
  background: #fff;
  color: #333;
  overflow-x: hidden;
  overflow-y: scroll;
  width: 56%;
  height: 90vh;
  max-width: 500px;
}
.box.result .result-osusume{
	text-align: center;
}
.box.result .result-osusume .result-lead{
	display: inline-block;
  position: relative;
  line-height: 1.6;
  padding: 0 4px;
  margin-bottom: 20px;
}
#a1.box.result .result-osusume .result-lead{
	color: #717171;
}
#a2.box.result .result-osusume .result-lead{
	color: #da7d97;
}
#a3.box.result .result-osusume .result-lead{
	color: #8969b5;
}
#a4.box.result .result-osusume .result-lead{
	color: #cba533;
}
.box.result .result-osusume .result-lead::before{
	content: "";
  display: block;
  position: absolute;
  width: 30px;
  height: 30px;
  border-right: 2px solid;
  bottom: -30%;
  left: 0px;
  transform: translateY(-50%) translateX(-129%) rotate(-25deg);
}
.box.result .result-osusume .result-lead::after{
	content: "";
  display: block;
  position: absolute;
  width: 30px;
  height: 30px;
  border-right: 2px solid;
  top: 70%;
  right: 0px;
  transform: translateY(-50%) translateX(45%) rotate(25deg);
}
#a1.box.result .result-osusume .result-lead::before{
	bottom: -48%;
}
#a1.box.result .result-osusume .result-lead::after{
	top: 62%;
}

@media screen and (max-width: 599px){
   .box.result {
  width: 95%;
 }
	.box.result .result-osusume .result-lead{
		margin-bottom: 15px;
		font-size: 13px;
	}
	.box.result .result-osusume .result-lead::before{
		bottom: -40%;
	}
	#a1.box.result .result-osusume .result-lead::before{
		bottom: -61%;
	}
}

.swiper.item-slider {
  padding-bottom: 54px;
  width: 54%;
  margin: 0 auto;
}
.shindan-box .item-info {
  padding: 15px 10px 0;
}
.shindan-box .item-info .brand {
  margin-bottom: 5px;
  display: block;
  border: none;
}
.shindan-box .item-info .name {
  margin-bottom: 14px;
  font-weight:500;
}
.shindan-box .item-info .item-price {
  text-align:right;
	font-size:16px;
}
.shindan-box .item-info .item-price span{
  font-size:12px;
}
li.shindan_item.swiper-slide {
  background: #fff;
  border-radius: 20px;
  padding: 15px 25px 20px;
}
 .shindan-box .acount {
  position:relative;
  padding-left: 56px;
  height: 45px;
  display: flex;
  align-items: center;
}

@media screen and (max-width: 599px){
  .shindan-box #berubara_shindan .item-info {
    font-size:13px;
    padding: 15px 0 0;
  }
  .shindan-box .swiper.item-slider {
    padding-bottom: 54px;
    width: 80%;
    margin: 0 auto;
  }
   .shindan-box .acount {
    padding-left: 45px;
    height: 34px;
    font-size: 13px;
    margin-bottom: 4px;
  }
  .shindan-box .acount::before{
    width: 34px;
  }
}

/* ボタン */
.shindan-box .btn-wrap {
  margin-top: 30px;
}

@media screen and (max-width: 599px){
	.shindan-box .btn-wrap {
  margin-top: 20px;
  }
}

/*おすすめ商品*/
.swiper.item-slider {
	padding-bottom: 54px;
	width: 73%;
}
/* 前へ次への矢印カスタマイズ */
#christmascake_shindan .swiper-button-next, 
#christmascake_shindan .swiper-button-prev{
  z-index: 200;
  top: auto;
  bottom: 0;
  color: #000;
}
#christmascake_shindan .swiper-button-next{
  right: 18%;
}
#christmascake_shindan .swiper-button-prev{
  left: 18%;
}
#christmascake_shindan .swiper-button-next::after, 
#christmascake_shindan .swiper-button-prev::after{
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  position: absolute;
  bottom: 50%;
  right: 50%;
  z-index: 2;
  border-top: 2px solid;
  border-left: 2px solid;
}
#christmascake_shindan .swiper-button-prev::after{
  transform: translateX(65%) translateY(44%) rotate(-45deg);
}
#christmascake_shindan .swiper-button-next::after{
  transform: translateX(36%) translateY(50%) rotate(135deg);
}
.swiper-pagination{
  bottom: 8px;
  top:auto;
  right: 0;
  left: auto;
  width: calc(100% - 100px);
}
.swiper-horizontal>.swiper-pagination-bullets, 
.swiper-pagination-bullets.swiper-pagination-horizontal, 
.swiper-pagination-custom, 
.swiper-pagination-fraction{
	bottom: var(--swiper-pagination-bottom,10px);
}
.swiper-pagination .swiper-pagination-bullet{
  border-radius:0;
  height:3px;
  margin: 0!important;
  width: var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,5%));
}
.swiper-pagination .swiper-pagination-bullet-active{
  background: #1c1c1c;
}
.item-wrap.swiper-slide{
	position: relative;
	border-radius: 10px;
	height: auto;
}
.osusume .item-wrap.swiper-slide a{
	display: block;
  padding: 16px 15px 20px;
  height: 100%;
	transition: 0.3s all;
}

@media screen and (min-width: 600px){
	.osusume .item-wrap.swiper-slide a:hover{
		opacity: 0.7;
	}
}

#marie .item-wrap.swiper-slide a,
#a2 .item-wrap.swiper-slide a{
	color: #471221;
}
#fersen .item-wrap.swiper-slide a,
#a3 .item-wrap.swiper-slide a{
	color: #211238;
}
#andre .item-wrap.swiper-slide a,
#a4 .item-wrap.swiper-slide a{
	color: #382d0e;
}
.item-wrap.swiper-slide img{
	border-radius: 10px;
}
#a1 .item-wrap.swiper-slide{
	background: #d6d6d6;
}
#a1 .swiper-slide.item-wrap.swiper-slide-active {
	background: #e7e7e7;
}
#a2 .item-wrap.swiper-slide{
	background: #e8aabb;
}
#a2 .swiper-slide.item-wrap.swiper-slide-active {
	background: #eeb5c5;
}
#a3 .item-wrap.swiper-slide{
	background: #b5a0d2;
}
#a3 .swiper-slide.item-wrap.swiper-slide-active {
  background: #c5b0e2;
}
#a4 .item-wrap.swiper-slide{
	background: #eccd77;
}
#a4 .swiper-slide.item-wrap.swiper-slide-active {
	background: #f8db8a;
}
.l-footer{
	margin:0
}
/* 診断 */
#christmascake_shindan{
	font-weight: 600;
	font-size: 15px;
	line-height: 1.8;
	position: relative;
	background: linear-gradient(270deg, rgba(255, 248, 217, 1) 0%, rgba(255, 253, 243, 1) 50%, rgba(255, 248, 217, 1) 100%);
	z-index: 700;
}
#christmascake_shindan img{
	width: 100%;
}
#christmascake_shindan .item-wrap img {
	border-radius: 50%;
}
.flex-wrap,
.sp-only.flex-wrap{
	display: flex;
	flex-wrap: wrap;
}
.ikemen-bt{
	width: 80%;
	margin: 0 auto;
	text-align: center;
	border-radius: 100vh;
	font-size: 16px;
	transition: 0.3s;
	background: #ffffff;
	color: #ab111f;
	box-shadow: 0 5px 0 #ab111f;
	border: 1px solid #ab111f;
}
.ikemen-bt a{
	position: relative;
	display: block;
	padding: 13px 35px;
}
#christmascake_shindan .ikemen-bt:hover{
	box-shadow: none;
	transform: translateY(5px);
}
#foodsite #christmascake_shindan .ikemen-bt a{
  height: 100%;
  display: block;
  width: 100%;
  text-decoration: none;
  padding: 13px 0;
  color: #d82525;
}
.ikemen-bt a::after{
  content: "";
  display: block;
  position: absolute;
  width: 8px;
  height: 8px;
  border-top: 2px solid;
  border-right: 2px solid;
  top: 50%;
  right: 25px;
  transform: translateY(-50%) rotate(45deg);
  z-index: 20;
  transition: all 0.3s ease 0s;
  color: #ab111f;
}

@media screen and (max-width: 599px){
	.main-wrap{
		padding: 40px 30px;
		background: linear-gradient(270deg, rgba(255, 248, 217, 1) 0%, rgba(255, 253, 243, 1) 50%, rgba(255, 248, 217, 1) 100%);
	}
}

#christmascake_shindan .lead-title{
	max-width: 500px;
	margin: 0 auto;
}
.lead-message{
	margin: 24px auto 0;
	text-align: center;
	line-height: 2.3;
}

@media screen and (max-width: 599px){
	.lead-message{
		margin: 0;
	}
}

/*アンカーリンク*/
.which-text{
	text-align: center;
	position: relative;
	font-size: 18px;
}
@media screen and (max-width: 599px){
	.which-text{
		margin-top: 50px;
	}
}

.which-text::before{
	content: "";
	display: block;
	position: absolute;
	width: 7px;
	height: 7px;
	border-top: 2px solid;
	border-right: 2px solid;
	bottom: -5%;
	left: 50%;
	transform: rotate(135deg) translateX(50%);
	z-index: 20;
	transition: all 0.3s ease 0s;
	animation: down 1s ease-in infinite;
}

@keyframes down{
	 0%, 100% {
    bottom: -5%;
  }
  50% {
    bottom: -20%;
  }
}

.ank-link{
	margin: 30px 0 0;
	gap: 20px;
	max-width: 450px;
}
.chara-bt{
	width: calc((100% - 20px) / 2);
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 50%;
	border: 3px solid #fff;
}
.chara-bt a{
	display: block;
	transition: 0.3s all;
}
#christmascake_shindan .chara-bt img{
	height:100%;
	object-fit:cover;
	object-position: center bottom;
}

@media screen and (max-width: 1239px){
	.ank-wrap{
		margin-top: 40px;
	}
}

.chara-wrap{
	padding: 40px 30px 45px;
	overflow: hidden;
	position: relative;
	z-index: -20;
	color: #fff;
}
.chara-wrap::before{
	position: absolute;
  content: "";
	top: 30px;
	z-index: -10;
}
.chara-wrap#oscar{
	background: #dfdcdc;
	color: #202020;
}
.chara-wrap#oscar::before{
	right: -52px;
  width: 54%;
  height: 82%;
  background: url(/d_images/christmascake2026/christmascake_shindan/img/oscar_illust.webp) no-repeat center / contain;
}
.chara-wrap#marie{
	background: #e699ae;
}
.chara-wrap#marie::before{
  left: -50px;
  width: 55%;
  height: 66%;
  background: url(/d_images/christmascake2026/christmascake_shindan/img/marie_illust.webp) no-repeat center / contain;
}
.chara-wrap#fersen{
	background: #a990cd;
}
.chara-wrap#fersen::before{
  right: 10px;
  width: 50%;
  height: 79%;
	background: url(/d_images/christmascake2026/christmascake_shindan/img/fersen_illust.webp) no-repeat center / contain;
  transform: rotate(15deg);
}
.chara-wrap#andre{
	background: #e6c564;
}
.chara-wrap#andre::before{
  left: -30px;
  width: 47%;
  height: 83%;
  background: url(/d_images/christmascake2026/christmascake_shindan/img/andre_illust.webp) no-repeat center / contain;
}
.osusume{
	margin-top: 34px;
	text-align: center;
}
.osusume h3{
  margin-bottom: 16px;
  font-size: 20px;
  position: relative;
  line-height: 1.0;
  display: inline-block;
}
#marie .osusume h3{
	-webkit-text-stroke: 4px #e699ae;
  paint-order: stroke fill;
}
.osusume h3::before{
	content: "";
	display: block;
	position: absolute;
	width: 30px;
	height: 30px;
	border-right: 2px solid;
	top: 50%;
	right: 0px;
	transform: translateY(-50%) translateX(45%) rotate(25deg);
	z-index: 20;
}
.osusume h3::after{
	content: "";
	display: block;
	position: absolute;
	width: 30px;
	height: 30px;
	border-right: 2px solid;
	bottom: -60%;
	left: 0px;
	transform: translateY(-50%) translateX(-129%) rotate(-25deg);
	z-index: 20;
}
.osusume h3 span{
  text-align: center;
  font-size: 12px;
}
@media screen and (max-width: 599px){
	#fersen .osusume h3{
		-webkit-text-stroke: 4px #a990cd;
		paint-order: stroke fill;
	}
}

/*キャラ紹介*/
.chara-explanation {
	display: flex;
}
#marie .chara-explanation,
#andre .chara-explanation{
	justify-content: flex-end;
}
.chara-explanation .lead-wrap {
  width: 60%;
  font-size: 14px;
}
#marie .chara-explanation .lead-wrap{
	-webkit-text-stroke: 4px #e699ae;
	paint-order: stroke fill;
}
.charaname {
  padding-bottom: 5px;
  margin-bottom: 8px;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", YuMincho, "Yu Mincho", "BIZ UDPMincho", serif;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: 0.08em;
	font-size: 28px;
  border-bottom: 1px solid;
}
.charaname .charaname-small{
  margin-left: 6px;
	font-size: 22px;
  letter-spacing: 0;
}
.charatype {
  font-size: 68px;
  position: absolute;
  writing-mode: vertical-lr;
  top: 20px;
  left: -8px;
  letter-spacing: 0.05em;
  color: #ffffff33;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", YuMincho, "Yu Mincho", "BIZ UDPMincho", serif;
  font-weight: 700;
  line-height: 1.0;
	z-index: -10;
}
#marie .charatype,
#andre .charatype{
	right: -12px;
  left: auto;
}
#fersen .charaname span {
  left: -52px;
}

@media screen and (min-width: 600px){
	.chara-bt a:hover{
		opacity: 0.7;
	}
}

/*おすすめ商品*/
.swiper.item-slider,
.swiper.result-slider {
    padding-bottom: 60px;
    width: 95%;
    max-width:300px;
    z-index: 200;
}
.swiper.result-slider{
	width: 95%;
    max-width:100%;
}
@media screen and (max-width: 599px){
	.chara-wrap{
		padding: 35px 20px 40px;
	}
	.chara-wrap#oscar::before{
		right: -61px;
		width: 64%;
		height: 58%;
	}
	.chara-wrap#marie::before{
		left: -56px;
    width: 62%;
    height: 45%;
	}
	.chara-wrap#fersen::before{
		right: -18px;
    width: 58%;
    height: 57%;
	}
	.chara-wrap#andre::before{
		left: -32px;
		width: 55%;
	  height: 58%;
	}
	.chara-explanation .lead-wrap{
		width: 66%;
	}
	#oscar .chara-explanation .lead-wrap{
		-webkit-text-stroke: 4px #dfdcdc;
		paint-order: stroke fill;
	}
	#fersen .chara-explanation .lead-wrap{
		-webkit-text-stroke: 4px #a990cd;
		paint-order: stroke fill;
	}
	#andre .chara-explanation .lead-wrap{
		-webkit-text-stroke: 4px #e6c564;
		paint-order: stroke fill;
	}
	.charaname{
		font-size: 22px;
	}
	.charaname .charaname-small{
		margin-left: 4px;
		font-size: 18px;
	}
	.charatype{
		font-size: 55px;
	}
	.swiper.item-slider {
    padding-bottom: 54px;
    width: 86%;
  }
}

/* 前へ次への矢印カスタマイズ */
#christmascake_shindan .swiper-button-next, 
#christmascake_shindan .swiper-button-prev{
  z-index: 200;
  bottom: 0;
  width: 40px;
  height: 40px;
  color: #442b1c;
  border: 2px solid;
  border-radius: 50%;
  background: #ffffff;
}
#christmascake_shindan .shindan-box .swiper-button-next, 
#christmascake_shindan .shindan-box .swiper-button-prev{
  color: #000;
}
#christmascake_shindan .swiper-button-next{
  right: 12%;
}
#christmascake_shindan .swiper-button-prev{
  left: 12%;
}
#christmascake_shindan #berubara_shindan .swiper-button-next{
	right: 16%;
}
#christmascake_shindan #berubara_shindan .swiper-button-prev{
	left: 16%;
}
#christmascake_shindan .swiper-button-next::after, 
#christmascake_shindan .swiper-button-prev::after{
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  position: absolute;
  bottom: 50%;
  right: 50%;
  z-index: 2;
  border-top: 2px solid;
  border-left: 2px solid;
}
#christmascake_shindan .swiper-button-prev::after{
  transform: translateX(65%) translateY(44%) rotate(-45deg);
}
#christmascake_shindan .swiper-button-next::after{
  transform: translateX(36%) translateY(50%) rotate(135deg);
}
.swiper-pagination{
  bottom: 8px;
  top:auto;
  right: 0;
  left: auto;
  width: calc(100% - 100px);
}
.swiper-pagination .swiper-pagination-bullet{
  border-radius:0;
  height:3px;
  margin: 0!important;
  width: var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,5%));
}
.swiper-pagination .swiper-pagination-bullet-active{
  background: #ffffff;
}
.shindan-box .swiper-pagination .swiper-pagination-bullet-active{
  background: #000;
}
.result-slider .item-wrap.swiper-slide{
	position: relative;
	background: #000;
	border-radius: 20px;
	height: auto;
}
.result-slider .item-wrap.swiper-slide a{
	display: block;
  padding: 10px 15px 20px;
  height: 100%;
}
.chara-wrap#oscar .item-wrap.swiper-slide{
	background: #d6d6d6;
}
.chara-wrap#oscar .swiper-slide.item-wrap.swiper-slide-active {
    background: #e7e7e7;
}
.chara-wrap#marie .item-wrap.swiper-slide{
	background: #e8aabb;
}
.chara-wrap#marie .swiper-slide.item-wrap.swiper-slide-active {
    background: #eeb5c5;
}
.chara-wrap#fersen .item-wrap.swiper-slide{
	background: #b5a0d2;
}
.chara-wrap#fersen .swiper-slide.item-wrap.swiper-slide-active {
  background: #c5b0e2;
}
.chara-wrap#andre .item-wrap.swiper-slide{
	background: #eccd77;
}
.chara-wrap#andre .swiper-slide.item-wrap.swiper-slide-active {
    background: #f8db8a;
}
.acount {
 margin-bottom: 8px;
 position:relative;
 padding-left: 48px;
	text-align: left;
}
.acount::before{
 content:"";
 display:block;
 border-radius:50%;
 position:absolute;
 top:50%;
 left:0;
 width: 39px;
 aspect-ratio:1/1;
 border: 1px solid #fff;
	transform: translateY(-50%);
}
#oscar .acount::before,
#a1 .acount::before{
 background:url(/d_images/christmascake2026/christmascake_shindan/img/oscar_btn.png) no-repeat center/cover;
}
#marie .acount::before,
#a2 .acount::before{
 background:url(/d_images/christmascake2026/christmascake_shindan/img/marie_btn.png) no-repeat center/cover;
}
#fersen .acount::before,
#a3 .acount::before{
 background:url(/d_images/christmascake2026/christmascake_shindan/img/fersen_btn.png) no-repeat center/cover;
}
#andre .acount::before,
#a4 .acount::before{
 background:url(/d_images/christmascake2026/christmascake_shindan/img/andre_btn.png) no-repeat center/cover;
}
.item-info{
	text-align: left;
	padding: 15px 10px 0;
	font-size: 14px;
	line-height: 1.5;
}
.item-info .name{
	margin: 4px 0 14px;
	font-weight: 500;
}
.item-info .item-price,
.item-info .price{
	font-size: 16px;
	line-height: 1.2;
	text-align: right;
}
.item-info .item-price span,
.item-info .price span{
	margin-left: 2px;
	font-size: 12px;
}
.sp-only,
.sp-only.flex-wrap{
	display: none;
}

@media screen and (max-width: 599px){
	.pc-only{
		display: none;
	}
	.sp-only{
		display: block;
	}
  .sp-only.flex-wrap {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
		width: 80%;
    margin: 25px auto 0;
    gap: 10px;
  }
	.chara-bt{
		width: calc((100% - 10px) / 2);
	}
}

@media screen and (min-width: 600px){
	#nav-section{
	  display: none;
	}
	#christmascake_shindan{
		display: flex;
		align-items: center;
	}
	.main{
		background: #e6c564;
		box-shadow: 0 0 30px #c0b693ba;
		z-index: 5;
	}
	.pc-only{
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		height: 73vh;
		flex: 1;
		flex-shrink: 0;
		overflow: hidden;
		position: sticky;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
	}
	.pc-only.is-scrolled{
		height: 100vh;
	}
  #christmascake_shindan .pc-only {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 0 30px;
    flex: 1;
    flex-shrink: 0;
    overflow: hidden;
    position: sticky;
    bottom: 0;
    left: 0;
    right: 0;
  }
}

@media screen and (min-width: 1240px){
	.left-section .ank-wrap{
		display: none;
	}
	#christmascake_shindan .pc-only{
		width: calc((100% - 600px) / 2);
	}
	#christmascake_shindan .pc-only > div{
		max-width: 94%;
	}
}

@media screen and (max-width: 1239px){
	#christmascake_shindan .pc-only{
		height: 100vh;
	}
	#christmascake_shindan .right-section{
		display: none;
	}
	#christmascake_shindan .lead-title{
		max-width: 420px;
	}
	.ank-link{
		gap: 15px;
		max-width: 520px;
	}
	.chara-bt{
		width: calc((100% - 10px) / 2);
	}
}

@media screen and (min-width: 599px) and (max-width: 1239px){
	.chara-bt{
		width: calc((100% - 45px) / 4);
	}
}

#christmascake_shindan .btn-area{
	padding: 35px 30px 50px;
	background: #fffcf3;
}
#christmascake_shindan .btn-area .collabo-cake{
	margin-bottom: 40px;
}
#christmascake_shindan .btn-area .collabo-cake h2{
  margin-bottom: 15px;
	font-size: 24px;
  text-align: center;
	font-family: "Noto Serif JP", "Hiragino Mincho ProN", YuMincho, "Yu Mincho", "BIZ UDPMincho", serif;
  font-weight: 700;
}
#christmascake_shindan .btn-area .collabo-cake a{
	transition: 0.3s all;
}
#christmascake_shindan .btn-area .ikemen-bt{
	color: #fff;
  background: #ab111f;
  box-shadow: 0 5px 0 #810b15;
	border: none;
}
#christmascake_shindan .btn-area .ikemen-bt.go-lp{
	margin: 40px auto;
}
#christmascake_shindan .btn-area .ikemen-bt:hover{
	box-shadow: none;
}
#christmascake_shindan .btn-area .ikemen-bt a::after{
	color: #fff;
}

@media screen and (min-width: 600px){
	#christmascake_shindan .btn-area .collabo-cake a:hover{
		opacity: 0.7;
	}
}

@media screen and (max-width: 599px){
	#christmascake_shindan .btn-area{
		padding: 35px 20px 50px;
	}
	#christmascake_shindan .btn-area .collabo-cake{
		margin-bottom: 30px;
	}
	#christmascake_shindan .btn-area .collabo-cake h2{
		font-size: 20px;
	}
	#christmascake_shindan .btn-area .ikemen-bt{
		width: 85%;
	}
	#christmascake_shindan .btn-area .ikemen-bt.go-lp{
		margin: 30px auto;
	}
	#christmascake_shindan .btn-area .ikemen-bt a{
		line-height: 1.5;
	}
	#christmascake_shindan .btn-area .ikemen-bt a::after{
		right: 20px;
	}
}

/*公開前*/
#christmascake_shindan.before{
	justify-content: center;
	z-index: 0;
}
#christmascake_shindan.before .comingsoon{
	position: relative;
}
#christmascake_shindan.before .comingsoon::before{
  position: absolute;
  content: "";
	top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #00000052;
}
#christmascake_shindan.before .comingsoon .comingsoon-tx{
	position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  color: #fff;
  font-size: 34px;
  transform: translateY(-50%);
  text-align: center;
}

@media screen and (max-width: 599px){
	#christmascake_shindan.before .lead-title{
		max-width: 100%;
	}
	#christmascake_shindan.before .comingsoon .comingsoon-tx{
		font-size: 28px;
	}
}



