/* common */
.case {
    color: #222;
}

.case .inner {
    width: min(calc(100% - 2em), 1000px);
    margin: 0 auto;
    box-sizing: border-box;
}

.case .inner-s {
    width: min(calc(100% - 2em), 900px);
    margin: 0 auto;
    box-sizing: border-box;
}

.case .btn_submit {
    display: inline-block;
    font-weight: 500;
    font-size: 14px;
    padding: 1em 2em;
    color: #FFF;
    border-radius: 4px;
    background: #E61717;
    border: none;
    line-height: 1;
}

.case .case_grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, 315px);
    justify-content: center;
    gap: 25px;
}

.case .case_card {
    border-radius: 8px;
    border: 2px solid transparent;
    outline: 1px solid #E5E5E5;
    box-sizing: border-box;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    cursor: pointer;
    opacity: 1
}

.case .case_card.active,
.case .case_card:hover {
    border: 2px solid #E61717;
    box-shadow: 0px 10px 24px 0px #1F050533;
}

.case .case_card .cont {
    flex-grow: 1;
    box-sizing: border-box;
    padding: 1em;
}

.case .tags {
    display: flex;
    gap: 10px;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 10px;
}

.case .tags .tag {
    background: #FFF0F0;
    padding: .5em 1em;
    border-radius: 9999px;
    font-weight: 500;
    font-size: 11px;
    line-height: 1;
    color: #E61717;
}

.case .case_card .company {
    font-weight: Bold;
    font-size: 17px;
    line-height: 1.25;
    margin-bottom: 1em;
}

.case .case_card.active .company,
.case .case_card:hover .company {
    color: #E61717;
}

.case .case_card .desc {
    font-size: 13px;
    line-height: 1.5;
    color: #666;
    margin-bottom: 1em;
}

.case .case_card .link_wrap {
    padding: 1em;
    padding-top: 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 5px;
}

.case .case_card .link_wrap::after {
    content: "";
    background-image: url(../img/icon/icon-arrow.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100%;
    display: inline-block;
    width: 13px;
    height: 21px;
}

.case .case_card.active .link_wrap::after,
.case .case_card:hover .link_wrap::after {
    background-image: url(../img/icon/icon-arrow-active.svg);
}

.case .case_card .link_wrap a {
    font-weight: 500;
    font-size: 13px;
    color: #999;
}

.case .case_card.active .link_wrap a,
.case .case_card:hover .link_wrap a {
    color: #E61717;
    opacity: 1;
}

/* archive */
.case_archive .case_h2 {
    text-align: center;
    font-weight: Bold;
    font-size: 32px;
    margin-bottom: .5em;
}

.case_archive .ttl_sec {
    padding-block: 60px;
    background: #F5F5F5;
}

.case_archive .ttl_sec h1 {
    text-align: center;
    font-weight: Bold;
    font-size: 40px;
    line-height: 1.25;
}

.case_archive .pickup_sec {
    padding-block: 60px;
}

.case_archive .pickup_sec .case_lead {
    font-size: 16px;
    text-align: center;
    margin: 0;
    padding-bottom: 60px;
}

.case_archive .search_sec {
    padding-block: 60px;
}

.case_archive .keyword_box {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 20px;
}

.case_archive .keyword_label {
    font-weight: 500;
    font-size: 14px;
}

.case_archive .keyword_input {
    width: 100%;
    max-width: 360px;
    padding: 10px;
    border: 1px solid #CCC;
    border-radius: 4px;
    font-size: 13px;
    line-height: 1.5;
}

.case_archive .keyword_input::placeholder {
    color: #AAA;
}

.case_archive .search_box {
    background: #FAFAFA;
    border: 1px solid #E3E3E3;
    padding: 1em;
    border-radius: 8px;
    margin-bottom: 20px;
}

.case_archive .search_box .ttl {
    font-weight: 700;
    font-size: 14px;
}

.case_archive .search_grid {
    display: grid;
    grid-template-columns: 90px 1fr;
    justify-content: center;
    gap: 1em;
    margin-block: 1em;
}

.case_archive .tax_flex {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.case_archive .tax_label {
    cursor: pointer;
}

.case_archive .tax_label input {
    display: none;
}

.case_archive .tax_label span {
    display: inline-block;
    padding: .5em 1em;
    border: 1px solid #CCC;
    border-radius: 9999px;
    background: #FFF;
    color: #777;
    font-size: 11px;
    line-height: 1;
    transition: .2s;
}

.case_archive .tax_label:hover span,
.case_archive .tax_label input:checked+span {
    color: #E61717;
    border-color: currentColor;
    background: #FFF0F0;
}

/* single */
.case_single h1 {
    font-weight: Bold;
    font-size: 23px;
    margin-bottom: .25em;
}

.case_single h2 {
    font-weight: Bold;
    font-size: 23px;
    margin-top: 1em;
}

.case_single .box-gray {
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 20px;
}

.case_single .head_flex {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
}

.case_single .head_flex .tags {
    margin-bottom: 0;
}

.case_single .date_venue {
    font-weight: 400;
    font-size: 13px;
    color: #777;
    display: flex;
    gap: 1em;
    align-items: center;
}

.case_single .info_sec .img_wrap {
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 30px;
}

.case_single .box-gray {
    background: #FAFAFA;
    border: 1px solid #E3E3E3;
    padding: 1em;
    border-radius: 8px;
    margin-bottom: 30px;
}

.case_single .summary_headline {
    font-weight: 700;
    font-size: 20px;
    margin-bottom: 1em;
    line-height: 1;
}

.case_single .summary_ttl {
    font-weight: 700;
    font-size: 16px;
    line-height: 1;
    margin-bottom: .5em;
}

.case_single .heading_line,
.case_single .content_sec h2 {
    display: flex;
    align-items: center;
    gap: 8px;
}

.case_single .heading_line::before,
.case_single .content_sec h2::before {
    content: "";
    width: 0.26em;
    height: 1.22em;
    background: #E61717;
    border-radius: 0.17em;
}

.case_single .summary_box {
    padding: 2em;
}

.case_single .summary_box ul li {
    font-weight: 400;
    font-size: 15px;
    color: #333333;
    text-indent: -1em;
    padding-left: 1em;
    line-height: 1.5;
    margin-bottom: .5em;
}

.case_single .summary_box ul {
    margin-bottom: 1.5em;
}

.case_single .summary_note {
    font-weight: 400;
    font-size: 12px;
    color: #777777;
}

.case_single .content_sec {
    font-weight: 400;
    font-size: 16px;
    line-height: 1.75;
    color: #333333;
}

.case_single .content_sec h2 {
    font-weight: 700;
    font-size: 23px;
    line-height: 1.25;
    color: #222;
    margin-bottom: .25em;
}

.case_single .content_sec img {
    border-radius: 8px;
}

.case_single .content_sec a {
    font-weight: 500;
    color: #E61717;
    font-size: 15px;
    text-decoration: underline;
}

.case_single #ez-toc-container {
    background: #FAFAFA;
    border: 1px solid #E3E3E3;
    padding: 1em;
    border-radius: 8px;
    width: 100%;
    font-size: 16px;
    padding: 1em;
}

.case_single div#ez-toc-container .ez-toc-title {
    font-weight: 700;
    font-size: 16px;
}

.case_single #ez-toc-container a {
    font-weight: 400;
    font-size: 14px;
    color: #E61717;
    margin-bottom: .5em;
}

.case_single .qa_note {
    font-weight: 400;
    font-size: 14px;
    color: #777777;
    margin-bottom: 1em;
}

.case_single .qa_sec .q {
    font-weight: 700;
    font-size: 15px;
    color: #E61717;
    margin-bottom: .5em;
}

.case_single .qa_sec .a {
    font-weight: 400;
    font-size: 15px;
    color: #333;
}

.case_single .connect_sec {
    padding-bottom: 60px;
}

.case_single .connect_sec .case_grid {
    margin-top: 1em;
}