@charset "utf-8";
/*-----------------------------------
ページ共通
-----------------------------------*/
.l-breadcrumbs__inner{
	padding-block: 20px;
}
.l-section__inner{
	margin-inline: 0;
	max-width: 100%;
	width: 100%;
}
.l-footer{
	margin-top: 0;
}
#osechi_shindan{
	padding: 50px 0 80px;
	font-family: "Noto Serif JP", "Hiragino Mincho ProN", YuMincho, "Yu Mincho", "BIZ UDPMincho", serif;
	background: url(/d_images/Cosechi2027/osechi_shindan/img/osechi_shindan_bg.png) repeat center / 130px;
}
#osechi_shindan section{
	max-width: 1240px;
	margin: 0 auto;
}
#osechi_shindan img{
	width: 100%;
}

/*-----------------------------------
タイトル
-----------------------------------*/
#osechi_shindan .title-wrap{
	text-align: center;
	font-weight: 600;
	line-height: 1.8;
}
#osechi_shindan .title-wrap h1{
	max-width: 580px;
	margin: 0 auto 22px;
}
#osechi_shindan .title-wrap .lead{
	font-size: 17px;
}

/*-----------------------------------
診断コンテンツ
-----------------------------------*/
#osechi_shindan .box-wrap .box{
	background: #fff8eb;
  border-radius: 22px;
}
#osechi_shindan .box-wrap .box h2{
  font-weight: 700;
	text-align: center;
}

/* 質問 */
#osechi_shindan .box-wrap .box.question{
  position: relative;
	padding: 36px 40px 48px;
	text-align: center;
}
#osechi_shindan .box-wrap #q1.box{
	margin: 60px auto 70px;
}
#osechi_shindan .box-wrap .box.question .q-num{
	position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: baseline;
  justify-content: center;
	font-family: "richmond-text", sans-serif;
	font-size: 48px;
  font-weight: 500;
	font-style: italic;
	letter-spacing: 0.08em;
  color: #492c08;
	filter: drop-shadow(3px 3px 3px #d1bea6);
}
#osechi_shindan .box-wrap .box.question .q-num .q-num-small{
	font-size: 66px;
}
#osechi_shindan .box-wrap .box.question h2{
	font-size: 24px;
}
#osechi_shindan .box-wrap .box .select-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
	gap: 20px;
	margin-top: 15px;
}
#osechi_shindan .box-wrap #q1.box .select-wrap{
	flex-direction: column;
}
#osechi_shindan .box-wrap #q1.box .select-wrap .select-inner{
	display: flex;
	flex-wrap: wrap;
  gap: 20px;
	width: 100%;
}
#osechi_shindan .box-wrap #q1.box .select-wrap .select-inner.two{
	width: 58%;
}
#osechi_shindan .box-wrap .box .select-wrap .select {
  padding: 6px;
  font-size: 17px;
  font-weight: 700;
  color: #492c08;
  background: #fff;
  border-radius: 100vh;
  border: 1px solid #492c08;
  transition: 0.3s all;
}
#osechi_shindan .box-wrap #q1.box .select-wrap .select-inner.four .select,
#osechi_shindan .box-wrap #q2.box .select-wrap .select{
	width: calc((100% - 60px) / 4);
}
#osechi_shindan .box-wrap #q1.box .select-wrap .select-inner.two .select{
	width: calc((100% - 20px) / 2);
}
#osechi_shindan .box-wrap .box .select-wrap .select.is-inactive {
  color: #fff;
  background: #a87e66;
}
#osechi_shindan .box-wrap .box .select-wrap .select:hover::after {
  opacity: 1;
}
#osechi_shindan .box-wrap .box .select-wrap .select.is-inactive:hover::after {
  opacity: 0;
}

/* 結果 */
#osechi_shindan .box-wrap .box.result {
  display: none;
	margin-top: 45px;
	padding: 35px 50px 70px;
}
#osechi_shindan .box-wrap .box.is-inactive.result {
  display: block;
}
#osechi_shindan .box-wrap .box.result h2{
	font-size: 28px;
}
#osechi_shindan .box-wrap .box.result h2 .h2-inner{
	position: relative;
	display: inline-block;
  padding: 0 35px;
}
#osechi_shindan .box-wrap .box.result h2 .h2-inner::before,
#osechi_shindan .box-wrap .box.result h2 .h2-inner::after{
  position: absolute;
	content: "";
  width: 26px;
  height: 26px;
  top: 40%;
}
#osechi_shindan .box-wrap .box.result h2 .h2-inner::before{
  left: -10px;
	border-right: 2px solid;
  transform: rotate(-25deg);
}
#osechi_shindan .box-wrap .box.result h2 .h2-inner::after{
  right: -10px;
	border-left: 2px solid;
  transform: rotate(25deg);
}
#osechi_shindan .result-wrap{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
	margin-top: 20px;
}
#osechi_shindan .result-wrap .result-item{
  box-shadow: 0 0 14px #d8c49d9c;
	transition: 0.3s all;
}
#osechi_shindan .result-wrap .result-item a{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  padding: 15px 20px 15px 15px;
  align-items: center;
	line-height: 1.6;
	background: #fff;
}
#osechi_shindan .result-wrap .item-info .brand{
  padding-bottom: 4px;
  margin-bottom: 4px;
  font-weight: 700;
  font-size: 17px;
	border-bottom: 1px solid;
}
#osechi_shindan .result-wrap .item-info .name{
  font-size: 17px;
}
#osechi_shindan .result-wrap .item-info .comment{
	font-size: 15px;
}
#osechi_shindan .result-wrap .item-info .price{
  margin-top: 10px;
	text-align: right;
  font-weight: 700;
  font-size: 14px;
}
#osechi_shindan .result-wrap .item-info .price .emphasis{
  margin: 0 3px;
	font-size: 20px;
}

/* ボタン */
#osechi_shindan .btn-wrap {
  margin-top: 70px;
}
#osechi_shindan button.vl-bt{
  position: relative;
  display: flex;
  justify-content: center;
	width: 450px;
	margin: 50px auto 0;
  padding: 7px 30px;
  font-size: 22px;
  font-weight: 700;
  text-align: center;
  color: #fff;
  background: #7f1313;
  border-radius: 100vh;
	box-shadow: 0 4px 0 #5d0d0d;
	transition: 0.3s all;
}
#osechi_shindan button.vl-bt::after{
	position: absolute;
  content: "";
  top: 50%;
  right: 20px;
  width: 10px;
  height: 10px;
  border-top: 2px solid;
  border-right: 2px solid;
  transform: translateY(-50%) rotate(45deg);
}
#osechi_shindan .vl-bt.is-inactive {
	display: none;
  pointer-events: none;
  background: #999;
  border-color: #999;
}

@media screen and (min-width: 600px){
	.sp-only{
		display: none;
	}
	#osechi_shindan a:hover img{
		opacity: 1;
	}
	#osechi_shindan .result-wrap .result-item:hover,
	#osechi_shindan button.vl-bt:hover{
		box-shadow: none;
		transform: translateY(4px);
	}
}

@media screen and (max-width: 599px){
	/*-----------------------------------
	ページ共通
	-----------------------------------*/
	.p-special__contents{
		margin-inline: 0;
	}
	#osechi_shindan{
		padding: 30px 20px 50px;
		background-size: 85px;
		font-size: 15px;
	}
	
	/*-----------------------------------
	タイトル
	-----------------------------------*/
	#osechi_shindan .title-wrap h1{
		width: 80%;
		margin: 0 auto 14px;
	}
	#osechi_shindan .title-wrap .lead{
		font-size: 15px;
	}
	
	/*-----------------------------------
	診断コンテンツ
	-----------------------------------*/
	/* 質問 */
	#osechi_shindan .box-wrap .box.question{
		padding: 28px 20px 40px;
	}
	#osechi_shindan .box-wrap #q1.box{
		margin: 40px auto 50px;
	}
	#osechi_shindan .box-wrap .box.question .q-num{
		font-size: 35px;
	}
	#osechi_shindan .box-wrap .box.question .q-num .q-num-small{
		font-size: 50px;
	}
	#osechi_shindan .box-wrap .box.question h2{
		font-size: 18px;
	}
	#osechi_shindan .box-wrap .box .select-wrap{
		gap: 12px;
	}
	#osechi_shindan .box-wrap .box .select-wrap .select{
		font-size: 16px;
	}
	#osechi_shindan .box-wrap #q1.box .select-wrap .select-inner{
		gap: 12px;
		width: 100%;
	}
	#osechi_shindan .box-wrap #q1.box .select-wrap .select-inner.four .select, 
	#osechi_shindan .box-wrap #q2.box .select-wrap .select{
		width: 100%;
	}
	#osechi_shindan .box-wrap #q1.box .select-wrap .select-inner.two{
		flex-direction: column;
		width: 100%;
	}
	#osechi_shindan .box-wrap #q1.box .select-wrap .select-inner.two .select{
		width: 100%;
	}
	
	/* 結果 */
	#osechi_shindan .box-wrap .box.result {
		margin-top: 28px;
		padding: 20px 20px 40px;
	}
	#osechi_shindan .box-wrap .box.result h2{
		font-size: 20px;
		line-height: 1.6;
	}
	#osechi_shindan .box-wrap .box.result h2 .h2-inner{
		padding: 0px 35px;
	}
	#osechi_shindan .box-wrap .box.result h2 .h2-inner::before, 
	#osechi_shindan .box-wrap .box.result h2 .h2-inner::after{
		top: 48%;
		width: 38px;
    height: 38px;
	}
	#osechi_shindan .box-wrap .box.result h2 .h2-inner::before{
		left: -12px;
	}
	#osechi_shindan .box-wrap .box.result h2 .h2-inner::after{
		right: -12px;
	}
	#osechi_shindan .result-wrap{
		grid-template-columns: 1fr;
		gap: 20px;
		margin-top: 16px;
	}
	#osechi_shindan .result-wrap .result-item a{
		grid-template-columns: 1fr;
		gap: 15px;
		padding: 15px;
	}
	#osechi_shindan .result-wrap .item-info .brand,
	#osechi_shindan .result-wrap .item-info .name{
		font-size: 16px;
	}
	
	/* ボタン */
	#osechi_shindan button.vl-bt{
		width: 85%;
		margin: 30px auto 0;
		font-size: 19px;
	}
	#osechi_shindan .result-box button.vl-bt{
		margin: 25px auto 0;
	}
	
	

}