@charset "UTF-8";
/* ==================================================
* term-mv
=====================================================*/
.term-mv {
    padding: 10px 10px 0;
    background: linear-gradient(135deg, #67D55A, #AEDC82,#67D55A);
}

.m .term-mv,
.l .term-mv {
    padding: 40px 40px 0;
    border-radius: 0 0 32px 32px;
}

.term-mv .term-mv-item {
    /* background: url(../img/term-mv-bg.png); */
    background-position: right -130px center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 140px;
    position: relative;
    border-radius: 24px 24px 0 0 ;
}
.m .term-mv .term-mv-item {
    background-position: center center;
}

.m .term-mv .term-mv-item,
.l .term-mv .term-mv-item {
    height: 235px;
    border-radius: 32px 32px 0 0;
}

.term-mv .term-mv-item .term-mv-item-title {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.term-mv-item-title {
    font-family: "M PLUS 2", sans-serif;
    font-weight: 700;
    color: #fff;
    font-size: 36px;
    line-height: 24px;
}

.m .term-mv-item-title,
.l .term-mv-item-title {
    font-size: 56px;
    line-height: 58px;
}


/* ==================================================
* term-content
=====================================================*/
.term-content {
    margin: 0;
    padding: 50px 15px 100px;
    background-image: linear-gradient(180deg, rgba(223, 243, 219, 1) 70%, rgba(247, 252, 232, 1));
}
.m .term-content,
.l .term-content {
    margin: 0 40px;
    padding: 80px 95px 160px;
}

.m .term-content-wrapper,
.l .term-content-wrapper{
    max-width: 1170px;
    margin: 0 auto;
}

/* 用語絞り込み */
.termSort h3 {
    font-family: "M PLUS 2", sans-serif;
    font-weight: 500;
    font-size: 24px;
}
.m .termSort h3,
.l .termSort h3 {
    font-size: 26px;
}

.termSort-list {
    margin-top: 20px;
    display: flex;
    gap: 10px 5px;
    flex-wrap: wrap;
}
.m .termSort-list,
.l .termSort-list {
    margin-top: 40px;
    gap: 15px;
}

.termSort-list li {
    border-radius: 5px;
    border: 1px #D5D5D5 solid;
    color: #000;
    font-weight: 300;
    background-image: linear-gradient(180deg, rgba(248, 248, 248, 1) 30%, rgba(221, 221, 221, 1));
    position: relative;
    cursor: pointer;    
}
.termSort-list li a {
    padding: 10px 8px;
    display: block;
}
.termSort-list li._disabled {
    pointer-events: none;
    opacity: .5;
}
.m .termSort-list li a,
.l .termSort-list li a {
    padding: 10px 20px;
}
.termSort-list li::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 4px;
    content: "";
    transition-duration: 0.3s;
    opacity: 0;
    background-image: linear-gradient(240deg, rgba(147, 213, 99, 1) 50%, rgba(0, 132, 102, 1));
}
.m .termSort-list li:hover::after,
.l .termSort-list li:hover::after {
    opacity: 1;
}

.termSort-list a {
    position: relative;
    z-index: 5;
    font-size: 18px;
    color: #000;
    font-weight: 400;
    transition: 0.3s;
}
.m .termSort-list a,
.l .termSort-list a {
    font-size: 20px;
}
.m .termSort-list li:hover a,
.l .termSort-list li:hover a {
    color: #fff;
}

.termSort-list a span {
    font-size: 15px;
}
.m .termSort-list a span,
.l .termSort-list a span {
    font-size: 18px;
}

/* テーマ絞り込み */
.themeSort {
    margin-top: 40px;
    position: relative;
    overflow: hidden;
}
.m .themeSort,
.l .themeSort {
    margin-top: 55px;
}

.themeSort h3 {
    font-family: "M PLUS 2", sans-serif;
    font-weight: 500;
    font-size: 24px;
}
.m .themeSort h3,
.l .themeSort h3 {
    font-size: 26px;
}

.themeSort-list {
    margin-top: 20px;
    display: flex;
}
.m .themeSort-list,
.l .themeSort-list {
    flex-wrap: wrap;
    gap: 15px 20px;
}

.themeSort-list li {
    width: fit-content;
    padding: 10px 20px;
    border-radius: 5px;
    border: 1px #D5D5D5 solid;
    font-size: 18px;
    color: #000;
    font-weight: 400;
    background-image: linear-gradient(180deg, rgba(248, 248, 248, 1) 30%, rgba(221, 221, 221, 1));
    position: relative;
    cursor: pointer;
    transition: 0.3s;
}
.m .themeSort-list li,
.l .themeSort-list li {
    padding: 10px 20px;
    font-size: 20px;
}

.themeSort-list li::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 4px;
    content: "";
    transition-duration: 0.3s;
    opacity: 0;
    background-image: linear-gradient(240deg, rgba(147, 213, 99, 1) 50%, rgba(0, 132, 102, 1));
}
.m .themeSort-list li:hover::after,
.l .themeSort-list li:hover::after {
    opacity: 1;
}
.m .themeSort-list li:hover span,
.l .themeSort-list li:hover span {
    color: #fff;
    position: relative;
    z-index: 5;
}

.themeSort-list li.__active {
    background-image: linear-gradient(240deg, rgba(147, 213, 99, 1) 50%, rgba(0, 132, 102, 1))
}
.themeSort-list li.__active span{
    color: #fff;
}
.themeSort-list li.__active:hover::after {
    opacity: 0;
}

/* 矢印 */
.termSwiper-button {
    display: flex;
    justify-content: space-between;
    height: 25px;
    z-index: 10;
    position: absolute;
    top: 0;
    right: 0;
}
.m .themeSort .termSwiper-button,
.l .themeSort .termSwiper-button {
    display: none;
}

.termGroup-item-link  .termSwiper-button {
    top: -7px;
}

.termSwiper-button-prev,
.termSwiper-button-next {
    position: relative;
    width: 25px;
}
.termSwiper-button-prev:after,
.termSwiper-button-next:after {
    content: "矢印";
    background-repeat: no-repeat;
    background-size: contain;
    height: 30px;
    width: 30px;
    margin: auto;
    font-size: 0 !important;
    position: absolute;
  top: 0px;
}
.termSwiper-button-prev._isDisabled:after,
.termSwiper-button-next._isDisabled:after{
    opacity: 0.3;
}
.termSwiper-button-prev:after {
    background-image: url(../img/articleCard-pagenationRight.png);
    transform: rotate(180deg);
}
.termSwiper-button-next:after {
    content: "矢印";
    background-image: url(../img/articleCard-pagenationRight.png);
}

/* 用語 */
.termGroup {
    margin-top: 60px;
}

/* 見出し */
.termGroup-headline {
    font-size: 28px;
    font-weight: 700;
    display: flex;
    column-gap: 15px;
    align-items: center;
}
.termGroup-headline span {
    width: 5px;
    height: 36px;
    display: block;
    border-radius: 6px;
    background-image: linear-gradient(180deg, rgba(147, 213, 99, 1) 30%, rgba(0, 132, 102, 1))
}

/*リストが0件*/
.termGroup-empty {
    margin-top: 30px;
}
/* 一覧 */
.termGroup-list {
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    row-gap: 20px;
}
.m .termGroup-list,
.l .termGroup-list {
    row-gap: 40px;
}

.termGroup-item {
    background-color: #fff;
    border-radius: 20px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    row-gap: 20px;
}
.m .termGroup-item,
.l .termGroup-item {
    padding: 45px 40px;
    row-gap: 25px;
}

.termGroup-item-title {
    display: flex;
    flex-direction: column;
    row-gap: 15px;
}
.m .termGroup-item-title,
.l .termGroup-item-title {
    flex-direction: row;
    column-gap: 25px;
    align-items: center;
}

.termGroup-item-title h4 {
    font-size: 20px;
    font-weight: 500;
    flex-shrink: 0;
}
.m .termGroup-item-title h4,
.l .termGroup-item-title h4 {
    font-size: 24px;
}

/* タグ */
.termGroup-item-tag {
    display: flex;
    gap: 8px 5px;
    flex-wrap: wrap;
}
.m .termGroup-item-tag,
.m .termGroup-item-tag {
    gap: 8px 10px;
}
.termGroup-item-tag li {
    padding: 7px 15px;
    color: #05962C;
    font-size: 16px;
    border-radius: 20px;
    background-image: linear-gradient(90deg, rgba(220, 245, 218, 1), rgba(234, 247, 226, 1));
}
.termGroup-item-tag li a {
    color: #05962C;
}

/* 注記 */
.termGroup-item-note {
    font-size: 14px;
    color: #888;
    line-height: 1.3;
}

/* 見出し */
.termGroup-item-headline {
    font-size: 16px;
    display: flex;
    column-gap: 10px;
    align-items: center;
}
.termGroup-item-headline span {
    width: 5px;
    height: 30px;
    display: block;
    border-radius: 6px;
    background-image: linear-gradient(180deg, rgba(147, 213, 99, 1) 30%, rgba(0, 132, 102, 1))
}

/* テキスト */
.termGroup-item-text {
    margin-top: 8px;
    font-size: 16px;
    line-height: 1.5;
}

.termGroup-item-border {
    width: 98%;
    height: 1px;
    margin: 0 auto;
    background-color: #D5D5D5;
}

/* 関連リンク */
.termGroup-item-link {
    position: relative;
    overflow: hidden;
}

.termGroup-item-link h5 {
    font-size: 16px;
    font-weight: normal;
}

.termGroup-item-linkList {
    display: flex;
    align-items: baseline;
    margin-top: 15px;
}
.m .termGroup-item-linkList,
.l .termGroup-item-linkList {
    margin-top: 20px;
}

.termGroup-item-linkList li {
    cursor: pointer;
    width: fit-content;
}
.termGroup-item-linkList li a {
    display: flex;
    column-gap: 10px;
    align-items: center;
    font-size: 16px;
    color: #088866;
    transition: 0.3s;
}
.termGroup-item-linkList li a:hover {
    opacity: 0.7;
}
.termGroup-item-linkList li span {
    width: 16px;
    height: 16px;
    display: inline-block;
    mask-position: center center;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-image: url("../img/term_link_arrow.svg");
    background-color: #047D45;
    transform: rotate(-90deg);
}
.termGroup-item-linkList li a.external span {
    mask-image: url("../img/term_exlink_arrow.svg");
    transform: rotate(0deg);
}
.termGroup-item-linkList-border {
    width: 1px !important;
    height: 15px !important;
    background-color: #000;
    margin-top: 2px;
}

/* ==================================================
* フッター
=====================================================*/
.c-footer {
    margin-top: 0 !important;
}