main > .flexBox {
max-width:880px;
width: 90%;
margin: 8rem auto 0;
}
main > .flexBox dl {
padding: 2rem;
background: #fff;
margin-bottom: 2rem;
width: 100%;
}

main > .flexBox .open + dd{
display: block;
}

main > .flexBox dl dt {
font-weight: 700;
display: block;
width: 100%;
position: relative;
cursor: pointer;
}

main > .flexBox dt:after {
position: absolute;
content: "OPEN";
right: 20px;
top: -2rem;
width: 20%;
max-width: 80px;
display: block;
background: #D01F1F;
color: #fff;
padding: .1rem;
text-align: center;
font-size: 70%;
font-weight: 600;
font-family: 'FuturaMedium', 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'Yu Mincho Light', 'YuMincho', 'Yu Mincho', '游明朝体', sans-serif;
}

main > .flexBox dt.open:after {
content: "CLOSE";
}

main > .flexBox dl dt > span:first-of-type {
display: inline-block;
font-size: 80%;
padding:.3rem 1rem;
background: #0f0f0f;
color: #fff;
text-align: center;
border-radius: 20px;
font-weight: 400;
margin-right: 1rem;
}

main > .flexBox dl dd {
margin-top: 2rem;
padding: 0 2rem;
display: none;
}

@media screen and (max-width: 480px) {
main > .flexBox {
margin-top: 4rem;
}
main > .flexBox dl dt > span:first-of-type {
display: block;
width: 45%;
padding: .3rem;
margin-bottom: .8rem;
}
main > .flexBox dl dd {
padding: 0;
margin-top: .8rem;
}
}

