@charset "utf-8";
/* CSS Document */

#question_wrap{
    margin-left:  0 !important;
}

.common_link_btn a{
	display: flex;
	align-items: center;
	width: 100%;
	height: 55px;
	border: 2px solid #f28e1e;
	border-radius: 28px;
	background-image: url("../images/common/link_ico_col06.svg");
	background-repeat: no-repeat;
	background-size: 1.96em auto;/*26.5*/
	background-position: right 1.07em center;/*14.5*/
	background-color: #fff;
	font-size: 100%;
	line-height: 1.27;
	letter-spacing: 0.1em;
	color: #000000;
	text-align: center;
	text-decoration: none;
	padding-left: 16.60%;/*88*/
	box-sizing: border-box;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.15);
}


/*===================================
	.flowchart_wrap
=====================================*/

#flow-charts-start{
	display: none;
}

.flowchart_wrap{
	margin: 110px 0 54px;
	padding: 43px 0 94px;
	background: #fffbee;
	position: relative;
	isolation: isolate;
}

/* ── 上の装飾（17pxはみ出す） ── */
.flowchart_wrap::before {
    content: '';
    position: absolute;
    
    /* 天辺から17px上に配置 */
    top: -17px; 
    left: 50%;
    width: 100vw;
    height: 34px; /* 円の直径 */
    transform: translateX(-50%);
    z-index: -1;

    background-image: radial-gradient(#fffbee 70%, transparent 71%);
    background-size: 34px 34px;
    background-repeat: repeat-x;
    background-position: center top;
}

/* ── 下の装飾（17pxはみ出す） ── */
.flowchart_wrap::after {
    content: '';
    position: absolute;
    
    /* 底辺から17px下に配置 */
    bottom: -17px; 
    left: 50%;
    width: 100vw;
    height: 34px; /* 円の直径 */
    transform: translateX(-50%);
    z-index: -1;

    background-image: radial-gradient(#fffbee 70%, transparent 71%);
    background-size: 34px 34px;
    background-repeat: repeat-x;
    background-position: center top; 
}

.flowchart_wrap .sec-inner{
	width: 90.28%;/*650*/
}

.flowchart_wrap .sec-inner .front_wrap{
	width: 100%;
}

.flowchart_wrap .sec-inner .front_wrap h2.f_midashi{
	font-size: 148.15%;/*20*/
	line-height: 1;
	letter-spacing: 0.05em;
	color: #754c24;
	text-align: center;
	padding-bottom: 17px;
	position: relative;
}

.flowchart_wrap .sec-inner .front_wrap h2.f_midashi::before{
	content: '';
	background: url("../images/common/tit_parts01.svg")no-repeat;
	background-size: 100% auto;
	width: 11.69%;/*76*/
	height: auto;
	aspect-ratio: 76 / 11;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}

.flowchart_wrap .sec-inner .front_wrap p.start_txt{
	margin-top: 18px;
	font-size: 96.30%;/*13*/
	line-height: 1.54;
	letter-spacing: 0.05em;
	color: #754c24;
	text-align: center;
}

.flowchart_wrap .sec-inner .front_wrap .front_img{
	width: 54.77%;/*356*/
	margin: 25px auto 0;
}

.flowchart_wrap .sec-inner .front_wrap .front_img img{
	width: 100%;
	height: auto;
}

.flowchart_wrap .sec-inner .front_wrap .common_link_btn{
	width: 69.23%;/*450*/
	margin: 13px auto 0;
}

.flowchart_wrap .sec-inner .front_wrap .common_link_btn a{
	justify-content: center;
	padding-left: 0;
}

/**/

/* ★追加：チャート自体が表示（display: blockなど）されていない時は、影を絶対に出さない */
#flow-charts-start[style*="display: none"] .que_wrap::before {
	display: none !important;
}


.flowchart_wrap .sec-inner .que_wrap {
	width: 100%;
	padding: 26px 0 30px;
	background-color: #fff;
	border-radius: 10px;
	position: relative;
	
}

/* ==========================================
   初期状態：影のコンテンツ自体を「無し」にする
   ========================================== */
.flowchart_wrap .sec-inner .que_wrap::before {
	content: none; /* ★最初は影を作らない */
	background: url("../images/flowchart/que_shadow.webp") no-repeat;
	background-size: 100% 100%;
	width: 100vw;
	height: calc(100% + 25px);
	position: absolute;
	top: -3px;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}

/* ==========================================
   【重要】JavaScriptで .is-active がついた瞬間だけ影を出現させる
   ========================================== */
.flowchart_wrap .sec-inner .que_wrap.is-active::before {
	content: ''; /* ★ここで初めて影が出現する */
}

.flowchart_wrap .sec-inner .que_wrap .que_tit_area,
.flowchart_wrap .sec-inner .que_wrap dl.yesno_q{
	text-align: center;
}

.flowchart_wrap .sec-inner .que_wrap .que_tit_area p.head_txt{
	font-size: 85.19%;/*11.5*/
	line-height: 1;
	letter-spacing: 0.05em;
	color: #754c24;
}

.flowchart_wrap .sec-inner .que_wrap .que_tit_area h2.que_midashi,
.flowchart_wrap .sec-inner .que_wrap dl.yesno_q dt{
	font-size: 111.11%;/*15*/
	line-height: 1;
	letter-spacing: 0.05em;
	color: #754c24;
	padding: 14px 0 13px;
	position: relative;
}

.flowchart_wrap .sec-inner .que_wrap .que_tit_area h2.que_midashi::before,
.flowchart_wrap .sec-inner .que_wrap dl.yesno_q dt::after{
	content: '';
	background: url("../images/common/tit_parts01.svg")no-repeat;
	background-size: 100% auto;
	width: 8.62%;/*56*/
	height: auto;
	aspect-ratio: 76 / 11;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}

.flowchart_wrap .sec-inner .que_wrap dl.yesno_q dt::before{
	content: 'お悩みフローチャート';
	display: block;
	width: 100%;
  font-family: "BIZ UDPGothic", sans-serif;
  font-weight: 700;
	font-size: 76.67%;/*11.5*/
	line-height: 1;
	letter-spacing: 0.05em;
	color: #754c24;
	text-align: center;
	padding-bottom: 14px;
	z-index: 1;
}


.flowchart_wrap .sec-inner .que_wrap p.que_txt,
.flowchart_wrap .sec-inner .que_wrap dl.yesno_q dd{
	width: 86.15%;/*560*/
	margin: 14px auto 0;
	font-size: 111.11%;/*15*/
	line-height: 1.5;
	letter-spacing: 0.05em;
	color: #333333;
	text-align: justify;
}

.flowchart_wrap .sec-inner .que_wrap .answ_area,
.flowchart_wrap .sec-inner .que_wrap ul#choices{
	width: 92.31%;/*600*/
	margin: 19px auto 0;
}

.flowchart_wrap .sec-inner .que_wrap ul#choices{
	list-style: none;
}

.flowchart_wrap .sec-inner .que_wrap .answ_area .answ_btn,
.flowchart_wrap .sec-inner .que_wrap ul#choices li{
	width: 100%;
}

.flowchart_wrap .sec-inner .que_wrap ul#choices li#back{
	display: none !important;
}

.flowchart_wrap .sec-inner .que_wrap .answ_area .answ_btn + .answ_btn,
.flowchart_wrap .sec-inner .que_wrap ul#choices li + li{
	margin-top: 14px;
}

.flowchart_wrap .sec-inner .que_wrap .answ_area .answ_btn a,
.flowchart_wrap .sec-inner .que_wrap ul#choices li button{
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 77px;
	border: 2px solid #f28e1e;
	border-radius: 20px;
	background-color: #fff;
	background-image: url("../images/common/link_ico_col06.svg");
	background-repeat: no-repeat;
	background-size: 7.0% auto;/*42*/
	background-position: right 4.83% center;/*29*/
	font-size: 100%;
	line-height: 1.30;
	letter-spacing: 0.05em;
	color: #333333;
	text-align: justify;
	text-decoration: none;
	padding: 10px 15.0% 10px 6.67%;/*90 40*/
	box-sizing: border-box;
	position: relative;
}

.flowchart_wrap .sec-inner .que_wrap ul#choices li button{
  font-family: "BIZ UDPGothic", sans-serif;
  font-weight: 700;
}

/**/

.flowchart_wrap .sec-inner .result_wrap {
	width: 100%;
	padding: 34px 0 46px;
	background-color: #fff;
	border-radius: 10px;
	position: relative;
	
}

.flowchart_wrap .sec-inner .result_wrap::before {
	content: '';
	background: url("../images/flowchart/sp_result_shadow.webp") no-repeat;
	background-size: 100% 100%;
	width: 100vw;
	height: calc(100% + 6px);
	position: absolute;
	top: 19px;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}

.flowchart_wrap .sec-inner .result_wrap h2.result_midashi{
	font-size: 122.22%;/*16.5*/
	line-height: 1;
	letter-spacing: 0.05em;
	color: #754c24;
	text-align: center;
	padding: 59px 0 15px;
	position: relative;
}

.flowchart_wrap .sec-inner .result_wrap h2.result_midashi::before{
	content: '';
	background: url("../images/common/tit_parts01.svg")no-repeat;
	background-size: 100% auto;
	width: 8.62%;/*56*/
	height: auto;
	aspect-ratio: 76 / 11;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}

.flowchart_wrap .sec-inner .result_wrap h2.result_midashi::after{
	content: '';
	background: url("../images/flowchart/midashi_ico.webp")no-repeat;
	background-size: 100% auto;
	width: 15.08%;/*98*/
	height: auto;
	aspect-ratio: 98 / 80;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}

.flowchart_wrap .sec-inner .result_wrap p.result_txt{
	width: 81.54%;/*530*/
	margin: 16px auto 0;
	font-size: 100%;
	line-height: 1.67;
	letter-spacing: 0.05em;
	color: #333333;
	text-align: justify;
}

.flowchart_wrap .sec-inner .result_wrap .result_area{
	width: 84.62%;/*550*/
	margin: 26px auto 0;
}

.flowchart_wrap .sec-inner .result_wrap .result_area .common_link_btn{
	width: 100%;
}

.flowchart_wrap .sec-inner .result_wrap .result_area .common_link_btn + .common_link_btn{
	margin-top: 15px;
}

.flowchart_wrap .sec-inner .result_wrap .result_area .common_link_btn a{
	text-align: left;
}

.flowchart_wrap .sec-inner .result_wrap .result_area .reset_btn{
	width: 76.36%;/*420*/
	margin: 38px auto 0;
}

.flowchart_wrap .sec-inner .result_wrap .result_area .reset_btn a{
	display: flex;
	align-items: center;
	width: 100%;
	height: 40px;
	border-radius: 20px;
	border: 1px solid rgba(161,124,82,0.8);
	background-color: #fff;
	font-size: 88.89%;/*12*/
	line-height: 1;
	letter-spacing: 0.1em;
	color: #000000;
	text-decoration: none;
	padding-left: 30.24%;/*127*/
	box-sizing: border-box;
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.15);
	position: relative;
}

.flowchart_wrap .sec-inner .result_wrap .result_area .reset_btn a::before{
	content: '';
	background: url("../images/flowchart/return_ico.svg") no-repeat;	
	background-size: 100% auto;
	width: 8.33%; /*35*/
	height: auto;
	aspect-ratio: 29 / 32;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 6.67%; /*28*/
	transition: opacity 0.3s ease;
}

