@charset "UTF-8";

/* breadcrumb */
.breadcrumb {
    max-width: 920px;
    margin-right: auto;
    margin-left: auto;
}

@media screen and (width >= 1220px) {
    .breadcrumb {
        max-width: 1200px;
    }
}

/* entry title */
.entry-title {
    margin: 0 0 10px;
    font-size: 1.875rem;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
}

/* tagline */
.tagline {
    margin: 0 auto 3rem;
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1.5;
    text-align: center;
}

@media screen and (width <= 960px) {
    .tagline {
        font-size: 1.125rem;
    }
}

/* section caselist */
.section-caselist {
    position: relative;
    padding: 3rem 0;
    background: #d9e9e1;
}

.section-caselist .caselist-note {
    margin: 50px 0;
    font-size: 1.5rem;
    font-weight: 400;
}

@media only screen and (width <= 960px) {
    .section-caselist .caselist-note {
        font-size: 1.125rem;
    }
}

/* caselist columns */
.caselist-columns {
    display: grid;
    justify-content: center;
    padding: 0;
    margin-bottom: 3rem;
    gap: 40px;
    grid-template-columns: repeat(auto-fit, 370px);
    list-style: none;
}

@media screen and (width <= 979px) {
    .caselist-columns {
        gap: 30px;
        grid-template-columns: repeat(auto-fit, 45%);
    }
}

@media screen and (width <= 639px) {
    .caselist-columns {
        grid-template-columns: repeat(auto-fit, 100%);
    }
}

/* caselist column */
.caselist-column {
    position: relative;
    display: flex;
    box-sizing: border-box;
    flex-flow: column;
    justify-content: space-between;
    padding: 1.25rem 1.25rem 1.8rem;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 0 4px rgb(0 0 0 / 20%);
    transition: 0.3s all;
}

.caselist-column:hover {
    box-shadow: 0 0 24px rgb(0 0 0 / 20%);
    cursor: pointer;
}

a.caselist-column {
    color: #727975;
}

.caselist-title {
    margin: 1rem 0;
    color: #727975;
    font-size: 1.25rem;
}

.caselist-image {
    vertical-align: bottom;
}

.caselist-btn {
    position: relative;
    display: block;
    padding: 15px 23px;
    border: 2px solid rgb(255 255 255 / 0%);
    border-radius: 10px;
    margin: 0 auto;
    background-color: #3ea966;
    box-shadow: 0 4px 0 rgb(144 144 144 / 20%);
    color: #fff;
    cursor: pointer;
    font-size: 1rem;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
    transition: ease-out 0.3s;
}

a.caselist-column[target='_blank'] .caselist-btn {
    padding-right: 40px;
}

a.caselist-column[target='_blank'] .caselist-btn::after {
    position: absolute;
    top: 50%;
    right: 8px;
    display: inline-block;
    width: 24px;
    height: 24px;
    margin-top: -12px;
    background: url('../img/home/icons/icon_link-blank.svg') no-repeat center
        center / cover;
    content: '';
}

/* caselist tag */
.tag-group {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.tag {
    display: inline-block;
    padding: 0.3rem 0.5rem;
    border: 1px solid #3ea966;
    border-radius: 5px;
    background: #f2f9f7;
    color: #3ea966;
    font-size: 0.875rem;
    line-height: 1.5;
}

/* search columns */
.search-columns {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 3rem;
    gap: 15px;
}

@media screen and (width <= 767px) {
    .search-columns {
        flex-direction: column;
        justify-content: center;
    }
}

/* search column */
.search-column {
    width: 100%;
    margin: 0;
}

.search-column .search-select {
    position: relative;
    width: 100%;
}

.search-column .search-select::after {
    position: absolute;
    top: 50%;
    right: 20px;
    width: 6px;
    height: 14px;
    background: url('../img/ml4sf/case/btn_primary.svg') no-repeat 50% 50% /
        contain;
    content: '';
    pointer-events: none;
    transform: translateY(-50%) rotate(90deg);
}

.search-column .search-select select {
    display: inline-block;
    width: 100%;
    height: 72px;
    box-sizing: border-box;
    padding: 0 1rem;
    border: 3px solid #3ea966;
    border-radius: 5px;
    appearance: none;
    background-color: #fff;
    box-shadow: 0 4px 0 rgb(144 144 144 / 20%);
    color: #2f3e36;
    cursor: pointer;
    font-size: 1.125rem;
    line-height: 1.5rem;
    outline: none;
    vertical-align: middle;
}

.search-column.search-button {
    width: 190px;
    flex-shrink: 0;
}

.search-column.search-button .button-search {
    display: flex;
    width: 100%;
    height: 72px;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    padding: 18px 23px;
    border: 3px solid #3ea966;
    border-radius: 10px;
    background: #3ea966;
    box-shadow: 0 4px 0 rgb(144 144 144 / 20%);
    color: #fff;
    cursor: pointer;
    font-size: 1.125rem;
    line-height: 1.4;
    transition: ease-out 0.3s;
}

.search-column.search-button .button-search::before {
    display: block;
    width: 19px;
    height: 19px;
    margin-right: 8px;
    background: url('../img/ml4sf/case/btn_search.svg') no-repeat 50% 50% /
        contain;
    content: '';
    transition: ease-out 0.3s;
}

.search-column.search-button .button-search:hover {
    background-color: #fff;
    color: #3ea966;
}

.search-column.search-button .button-search:hover::before {
    background-image: url('../img/ml4sf/case/btn_search_hover.svg');
}

@media screen and (width <= 767px) {
    .search-column .search-select select {
        height: 58px;
        padding: 0 17px;
        border-width: 3px;
    }
}

/* case introduce */
.case-introduce {
    padding: 4rem 0;
}

.case-introduce .landing-section-title strong {
    display: inline-block;
}

.case-introduce .case-introduce-lead {
    margin: 0;
    font-size: 1.25rem;
}

.case-introduce .case-introduce-text {
    margin: 0;
    font-size: 1.125rem;
    font-weight: bold;
}

.case-introduce .case-introduce-block {
    box-sizing: border-box;
    padding: 2rem;
    background: url('../img/ml4sf/case/bg_dots.png') #e4f7ee 50% 50% / cover;
}

.case-introduce .case-introduce-block .heading-with-line {
    color: #3ea966;
}

.case-introduce .case-introduce-block-text {
    font-size: 1.125rem;
    font-weight: bold;
}

@media screen and (width <= 991px) {
    .case-introduce .case-introduce-block .heading-with-line {
        font-size: 1.25rem;
    }

    .case-introduce .case-introduce-lead,
    .case-introduce .case-introduce-text,
    .case-introduce .case-introduce-block-text {
        font-size: 1rem;
    }
}

/* case introduce columns */
.case-introduce-columns {
    display: flex;
    margin: 2rem 0;
}

@media screen and (width <= 639px) {
    .case-introduce-columns {
        flex-direction: column;
    }
}

/* case introduce column */
.case-introduce-column {
    width: calc((100% - 4px) / 3);
    padding: 1.25rem;
}

.case-introduce-column:nth-child(n + 2) {
    border-left: 2px solid #3ea966;
}

.case-introduce-column .case-introduce-image {
    display: flex;
    height: 113px;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.25rem;
}

@media screen and (width <= 639px) {
    .case-introduce-column {
        width: 100%;
        margin: 0 auto;
    }

    .case-introduce-column:nth-child(n + 2) {
        border-top: 2px solid #3ea966;
        border-left: none;
    }
}

/* case guide */
.case-guide {
    padding: 4rem 0;
    background: url('../img/ml4sf/case/bg_pattern.png') 100% 0 / cover;
}

.case-guide .landing-section-title {
    margin-bottom: 3rem;
}

.case-guide .landing-section-title strong {
    border-color: #fff;
    color: #fff;
}

/* case guide columns */
.case-guide-columns {
    display: grid;
    justify-content: space-between;
    gap: 40px;
    grid-template-columns: repeat(2, 1fr);
}

@media only screen and (width <= 767px) {
    .case-guide-columns {
        grid-template-columns: repeat(auto-fit, 100%);
    }
}

/* case guide column */
.case-guide-column {
    display: flex;
    box-sizing: border-box;
    flex-flow: column;
    justify-content: space-between;
    padding: 3rem 2rem;
    border-radius: 10px;
    background: #f2f9f7;
}

.case-guide-column .case-guide-title {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    text-align: left;
}

.case-guide-column .case-guide-title span {
    padding-left: 1rem;
    font-size: 1.5rem;
}

.case-guide-column .case-guide-text {
    font-size: 1.125rem;
}

@media only screen and (width <= 991px) {
    .case-guide-column .case-guide-title span {
        font-size: 1.125rem;
    }
}

@media only screen and (width <= 767px) {
    .case-guide-column {
        padding: 1.5rem;
    }

    .case-guide-column .case-guide-title .icon-svg {
        width: 22px;
    }
}

/* WordPress pagination */
.page-numbers {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0 -4% 2rem;
    color: #2f3e36;
    list-style: none;
}

.page-numbers li {
    padding: 0;
    margin: 0;
}

.page-numbers a.page-numbers,
.page-numbers span.page-numbers {
    display: inline-block;
    min-width: 42px;
    height: 42px;
    padding: 0 0.5rem;
    border: 1px solid transparent;
    border-radius: 4px;
    margin: 0.5rem 0.3rem;
    background-color: #3ea966;
    color: #fff;
    line-height: 42px;
    text-align: center;
    text-decoration: none;
    transition: 0.3s;
    white-space: nowrap;
}

.page-numbers a.page-numbers:hover,
.page-numbers span.page-numbers:hover {
    border-color: #3ea966;
    background-color: #fff;
    color: #3ea966;
    text-decoration: none;
}

.page-numbers span.page-numbers.dots,
.page-numbers span.page-numbers.current,
.page-numbers span.page-numbers.dots:hover,
.page-numbers span.page-numbers.current:hover {
    border-color: transparent;
    margin-right: 0;
    margin-left: 0;
    background-color: transparent;
    color: #2f3e36;
}

.page-numbers span.page-numbers.dots {
    min-width: 20px;
    padding: 0;
}

@media only screen and (width <= 767px) {
    .page-numbers a.page-numbers,
    .page-numbers span.page-numbers {
        min-width: 36px;
        height: 36px;
        line-height: 36px;
    }
}
