@charset "UTF-8";
/* 企業方針 PC/SP共通（構造・配色） */
#policy main{ margin-left:auto; margin-right:auto; }
#policy .policy-list{ border-top:1px solid #CBC8B6; }
#policy .policy-item{ border-bottom:1px solid #CBC8B6; background:#fff; }
#policy .policy-ttl{ position:relative; display:block; cursor:pointer; font-weight:700; color:#2F2F2F; letter-spacing:0.05em; }
#policy .policy-ttl::before,
#policy .policy-ttl::after{ content:""; position:absolute; top:50%; background:#B1945F; transition:transform .3s; }
#policy .policy-item.is-open .policy-ttl::after{ transform:translateY(-50%) rotate(90deg); opacity:0; }
#policy .policy-ttl:focus-visible{ outline:2px solid #B1945F; outline-offset:-2px; }
#policy .policy-txt{ display:none; margin:0; }
#policy .policy-txt__inner{ min-width:0; margin-bottom:0; border-top:1px dashed #CBC8B6; }
#policy .policy-none{ text-align:center; }

/* PC */
@media screen and (min-width: 768px), print {
#policy main{ width:1100px; margin-bottom:100px; }
#policy .policy-wrap{ margin-top:40px; }
#policy .policy-ttl{ padding:26px 70px 26px 30px; font-size:18px; line-height:1.6; }
#policy .policy-ttl::before{ right:30px; width:18px; height:2px; transform:translateY(-50%); }
#policy .policy-ttl::after{ right:38px; width:2px; height:18px; transform:translateY(-50%); }
#policy .policy-txt__inner{ margin:0 30px; padding:26px 0 34px; }
#policy .policy-none{ padding:40px 0; }
}

/* SP */
@media screen and (max-width: 767px) {
#policy main{ margin-bottom:14vw; }
#policy .policy-wrap{ margin:6vw 4vw 0; }
#policy .policy-ttl{ padding:4.5vw 12vw 4.5vw 4vw; font-size:3.865vw; line-height:1.6; letter-spacing:0.24vw; }
#policy .policy-ttl::before{ right:4vw; width:3.865vw; height:2px; transform:translateY(-50%); }
#policy .policy-ttl::after{ right:calc(4vw + 1.932vw - 1px); width:2px; height:3.865vw; transform:translateY(-50%); }
#policy .policy-txt__inner{ margin:0 4vw; padding:4.5vw 0 6vw; font-size:3.4vw; letter-spacing:0.24vw; }
#policy .policy-none{ padding:8vw 0; font-size:3.4vw; }
}
