#faq {
    .wrap {
        .contents {
            ul {
                &.link {
                    display:flex;
                    flex-wrap:wrap;
                    justify-content:center;
                    gap:1em;
                    li {
                        .btn {
                            font-size:1.5rem;
                            &::after {
                                transform:translateY(-50%) rotate(90deg);
                            }
                        }
                    }
                }
            }
			.faq_box {
				& > dl {
					&:not(:last-child) {
						border-bottom:2px solid #cccccc;
					}
					& > dt {
						font-size:1.8rem;
						font-weight:500;
						line-height:1.5;
						display:grid;
						grid-template-columns:2em 1fr 1.5em;
						grid-column-gap:1em;
						padding:1em;
						align-items:center;
						cursor:pointer;
						&::before {
							content:'Q';
							color:var(--color_main);
							font-size:2em;
							font-weight:600;
							line-height:1;
						}
						.icon {
							height:1.5em;
							background:url(../assets/img/common/icon-down.svg) no-repeat center center/contain;
							transition-duration:.3s;
						}
						&.open {
							.icon {
								transform:rotate(180deg);
							}
						}
					}
					& > dd {
						font-size:1.8rem;
						padding:0 1.25em 1.5em;
						display:none;
						& > div {
							font-size:1.6rem;
							display:grid;
							grid-template-columns:2em 1fr;
							grid-column-gap:1em;
							line-height:1.5;
							&::before {
								content:'A';
								color:var(--color_sub4);
								font-size:2em;
								font-weight:600;
								transform:translateY(-.15em);
								line-height:1;
							}
							a {
								color:var(--color_main);
								text-decoration:underline;
							}
						}
					}
				}
			}
        }
    }
}

@media screen and (max-width:768px){
	
	#faq {
		.wrap {
			.contents {
	            ul {
	                &.link {
	                    display:grid;
						grid-template-columns:repeat(2,1fr);
						grid-gap:1em .5em;
	                    li {
	                        .btn {
	                            font-size:1.3rem;
								line-height:1.2;
								height:3em;
								width:100%;
								padding:0 1.75em 0 1em;
	                        }
	                    }
	                }
	            }
				.faq_box {
					& > dl {
						&:not(:last-child) {
						}
						& > dt {
							font-size:min(var(--vw16),1.8rem);
							grid-column-gap:.5em;
							padding:1em .5em;
						}
						& > dd {
							font-size:min(var(--vw16),1.8rem);
							padding:0 .66em 1.5em;
							& > div {
								font-size:min(var(--vw15),1.6rem);
								grid-column-gap:.5em;
							}
						}
					}
				}
			}
		}
	}

}