@charset "utf-8";
/* CSS Document */

#question_wrap{
    margin-left:  0 !important;
}

.common_link_btn a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 75px;
	border: 3px solid #f28e1e;
	border-radius: 38px;
	background-image: url("../images/common/link_ico_col06.svg");
	background-repeat: no-repeat;
	background-size: 2.25em auto;/*36*/
	background-position: right 1.25em center;/*20*/
	background-color: #fff;
	font-size: 112.5%;/*18*/
	line-height: 1.33;
	letter-spacing: 0.1em;
	color: #000000;
	text-decoration: none;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
}

.common_link_btn a:hover,
.common_link_btn a:focus-visible{
	opacity: 1;
	background-color: #f28e1e;
	color: #fff;
}


/*===================================
	.flowchart_wrap
=====================================*/

#flow-charts-start{
	display: none;
}

.flowchart_wrap{
	margin: 200px 0 80px;
	padding: 110px 0 100px;
	background: #fffbee;
	position: relative;
	isolation: isolate;
}

/* ── 上の装飾（48pxはみ出す） ── */
.flowchart_wrap::before {
    content: '';
    position: absolute;
    
    /* 天辺から48px上に配置 */
    top: -48px; 
    left: 50%;
    width: 100vw;
    height: 68px; /* 円の直径 */
    transform: translateX(-50%);
    z-index: -1;

    background-image: radial-gradient(#fffbee 70%, transparent 71%);
    background-size: 68px 68px;
    background-repeat: repeat-x;
    background-position: center top;
}

/* ── 下の装飾（31pxはみ出す） ── */
.flowchart_wrap::after {
    content: '';
    position: absolute;
    
    /* 底辺から31px下に配置 */
    bottom: -31px; 
    left: 50%;
    width: 100vw;
    height: 68px; /* 円の直径 */
    transform: translateX(-50%);
    z-index: -1;

    background-image: radial-gradient(#fffbee 70%, transparent 71%);
    background-size: 68px 68px;
    background-repeat: repeat-x;
    background-position: center top; 
}

.flowchart_wrap .sec-inner .front_wrap{
	width: 90.91%;/*1000*/
	margin: 0 auto;
}

.flowchart_wrap .sec-inner .front_wrap h2.f_midashi{
	font-size: 218.75%;/*35*/
	line-height: 1;
	letter-spacing: 0.05em;
	color: #754c24;
	text-align: center;
	padding-bottom: 35px;
	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: 7.6%;/*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: 37px;
	font-size: 125%;/*20*/
	line-height: 1;
	letter-spacing: 0.05em;
	color: #754c24;
	text-align: center;
}

.flowchart_wrap .sec-inner .front_wrap .front_img{
	width: 23.7%;
	margin: 40px 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: 25.3%;
	margin: 17px auto 0;
}

/**/

/* ★追加：チャート自体が表示（display: blockなど）されていない時は、影を絶対に出さない */
#flow-charts-start[style*="display: none"] .que_wrap::before {
	display: none !important;
}

.flowchart_wrap .sec-inner .que_wrap {
	width: 81.82%;/*900*/
	margin: 0 auto;
	padding: 42px 0 56px;
	background-color: #fff;
	border-radius: 20px;
	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: 106.44%;
	height: calc(100% + 13px);
	position: absolute;
	top: 22px;
	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: 112.5%;/*18*/
	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: 156.25%;/*25*/
	line-height: 1;
	letter-spacing: 0.2em;
	color: #754c24;
	padding: 17px 0;
	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: 4.89%;/*44*/
	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: 72.0%;/*18*/
	line-height: 1;
	letter-spacing: 0.05em;
	color: #754c24;
	text-align: center;
	padding-bottom: 18px;
	z-index: 1;
}

.flowchart_wrap .sec-inner .que_wrap p.que_txt,
.flowchart_wrap .sec-inner .que_wrap dl.yesno_q dd{
	margin-top: 23px;
	font-size: 143.75%;/*23*/
	line-height: 1.74;
	letter-spacing: 0.05em;
	color: #333333;
	text-align: center;
}

.flowchart_wrap .sec-inner .que_wrap .answ_area,
.flowchart_wrap .sec-inner .que_wrap ul#choices{
	width: 89.44%;/*805*/
	margin: 30px 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: 27px;
}

.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%;
	height: 80px;
	border: 3px solid #f28e1e;
	border-radius: 40px;
	background-color: #fff;
	background-image: url("../images/common/link_ico_col06.svg");
	background-repeat: no-repeat;
	background-size: 4.47% auto;/*36*/
	background-position: right 2.24% center;/*18*/
	font-size: 125%;/*20*/
	line-height: 1.4;
	letter-spacing: 0.05em;
	color: #333333;
	text-align: justify;
	text-decoration: none;
	padding: 0 9.94% 0 4.60%;/*80 37*/
	box-sizing: border-box;
	position: relative;
	transition: background-color 0.3s ease;
}

.flowchart_wrap .sec-inner .que_wrap ul#choices li button{
  font-family: "BIZ UDPGothic", sans-serif;
  font-weight: 700;
}

.flowchart_wrap .sec-inner .que_wrap .answ_area .answ_btn a::before,
.flowchart_wrap .sec-inner .que_wrap ul#choices li button::before{
	content: '';
	border: 3px solid #f28e1e;
	border-radius: 40px;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.flowchart_wrap .sec-inner .que_wrap .answ_area .answ_btn a:hover::before,
.flowchart_wrap .sec-inner .que_wrap .answ_area .answ_btn a:focus-visible::before,
.flowchart_wrap .sec-inner .que_wrap ul#choices li button:hover::before,
.flowchart_wrap .sec-inner .que_wrap ul#choices li button:focus-visible::before{
	opacity: 1;
}

.flowchart_wrap .sec-inner .que_wrap .answ_area .answ_btn a:hover,
.flowchart_wrap .sec-inner .que_wrap .answ_area .answ_btn a:focus-visible,
.flowchart_wrap .sec-inner .que_wrap ul#choices li button:hover,
.flowchart_wrap .sec-inner .que_wrap ul#choices li button:focus-visible{
	opacity: 1;
	background-color: #fcf7e6;
}

/**/

.flowchart_wrap .sec-inner .result_wrap {
	width: 81.82%;/*900*/
	margin: 0 auto;
	padding: 47px 0 62px;
	background-color: #fff;
	border-radius: 20px;
	position: relative;
	
}

.flowchart_wrap .sec-inner .result_wrap::before {
	content: '';
	
	/* ▼ 2. 【超重要】) と no-repeat の間に必ず「半角スペース」を空けます */
	background: url("../images/flowchart/que_shadow.webp") no-repeat;
	
	background-size: 100% 100%;
	width: 106.44%;/*958*/
	height: calc(100% + 13px);
	position: absolute;
	top: 22px;
	left: 50%;
	transform: translateX(-50%);
	
	/* ▼ 3. これで白い背景の真後ろにピタッと影が配置されます */
	z-index: -1;
}

.flowchart_wrap .sec-inner .result_wrap h2.result_midashi{
	font-size: 156.25%;/*25*/
	line-height: 1;
	letter-spacing: 0.2em;
	color: #754c24;
	text-align: center;
	padding: 114px 0 19px;
	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: 4.89%;/*44*/
	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: 10.89%;/*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{
	margin-top: 32px;
	font-size: 112.5%;/*18*/
	line-height: 1;
	letter-spacing: 0.05em;
	color: #333333;
	text-align: center;
}

.flowchart_wrap .sec-inner .result_wrap .result_area{
	width: 59.44%;/*535*/
	margin: 70px 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: 30px;
}

.flowchart_wrap .sec-inner .result_wrap .result_area .reset_btn{
	width: 48.97%;/*262*/
	margin: 86px auto 0;
}

.flowchart_wrap .sec-inner .result_wrap .result_area .reset_btn a{
	display: flex;
	align-items: center;
	width: 100%;
	height: 50px;
	border-radius: 25px;
	border: 1px solid #a17c52;
	background-color: #fff;
	font-size: 112.5%;/*18*/
	line-height: 1;
	letter-spacing: 0.1em;
	color: #000000;
	text-decoration: none;
	padding-left: 26.72%;/*73*/
	box-sizing: border-box;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
	position: relative;
}

.flowchart_wrap .sec-inner .result_wrap .result_area .reset_btn a::before,
.flowchart_wrap .sec-inner .result_wrap .result_area .reset_btn a::after {
	content: '';
	background-size: 100% auto;
	width: 11.07%; /*29*/
	height: auto;
	aspect-ratio: 29 / 32;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 6.49%; /*17*/
	transition: opacity 0.3s ease;
}

.flowchart_wrap .sec-inner .result_wrap .result_area .reset_btn a::before {
	background: url("../images/flowchart/return_ico.svg") no-repeat;
	z-index: 2;
	opacity: 1;
}

.flowchart_wrap .sec-inner .result_wrap .result_area .reset_btn a::after {
	background: url("../images/flowchart/hov_return_ico.svg") no-repeat;
	z-index: 1;
	opacity: 0;
}

.flowchart_wrap .sec-inner .result_wrap .result_area .reset_btn a:hover::before {
	opacity: 0;
}

.flowchart_wrap .sec-inner .result_wrap .result_area .reset_btn a:hover::after {
	opacity: 1;
}


.flowchart_wrap .sec-inner .result_wrap .result_area .reset_btn a:hover {
	color: #fff;
	background-color: #a17c52; 
	opacity: 1;
}

