main { background: #f8f9fd; padding: 3rem 0; min-height: calc(100vh - 5.6rem);} 
.contents_wrap h2 { font-size: 2.2rem; font-weight: 600; padding: 0 1.5rem;}
.contents_wrap ul li { padding: 2rem 1.5rem; margin: 1.5rem; background: #fff; border-radius: 1.5rem; box-shadow: rgba(149, 157, 165, 0.3) 0px 8px 24px;}
.contents_wrap ul li .question { display: flex; align-items: baseline; gap: 1rem;}
.contents_wrap ul li .question:before { content: 'Q'; font-size: 1.8rem; background: #42bfc1; padding: .5rem; border-radius: 50%; display: block; width: 1.5rem; height: 1.5rem; line-height: 1.5rem;color: #fff; text-align: center;}
.contents_wrap ul li .question p { width: 80%; font-size: 1.8rem; font-weight: 600; line-height: 1.3; }
.contents_wrap ul li .question:after { content: '▼'; font-size: 1.8rem; }
.contents_wrap ul li.on .question:after { content: '▲'; }
.contents_wrap ul li .answer { max-height: 0; overflow: hidden;  padding: 0 1rem; border-radius: 1rem; background: #f4f4f4; display: flex;align-items: baseline; gap: 1rem;}
.contents_wrap ul li.on .answer { padding: 1rem; max-height: 100rem;margin-top: 1.5rem;}
.contents_wrap ul li .answer:before { content: 'A'; font-size: 1.8rem; background: #ed3c56; padding: .5rem; border-radius: 50%; display: block; width: 1.5rem; height: 1.5rem; line-height: 1.5rem;color: #fff; text-align: center;}
.contents_wrap ul li .answer pre { width: 80%;font-size: 1.6rem;line-height: 1.3;}