@charset "UTF-8";

/* --------------------------------------------------------------------- */
/* reset */
/* --------------------------------------------------------------------- */

.l-w {
    padding: 66px 0 0 0;
}

.l-b {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 4vw 60px 4vw;
    position: relative;
    box-sizing: unset;
}

.l-c {
    width: 69%;
}

.l-s {
    width: 25%;
}

.c-shareBtns {
    margin: 2em 0;
}

.p-breadcrumb__text .__home::before {
    display: none;
}

.c-pagination {
    width: 100%;
}

#breadcrumb {
    display: none;
}

#fix_header {
    visibility: hidden;
    height: 66px;
}

.l-header {
    visibility: hidden;
    height: 66px;
    position: absolute;
    top: 0;
    left: 0;
}

a.lightbox {
    pointer-events: none;
}

body.imobile-on .p-fixBtnWrap {
    bottom: 120px;
}

.blocks-gallery-caption {
    color: inherit;
    display: block !important;
    font-size: 0.8em;
    line-height: 1.4;
    margin-bottom: 0;
    margin-top: 0.75em;
    opacity: 0.8;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .l-w {
        padding: 77px 0 0 0;
    }

    .l-b {
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 0 60px 0;
        position: relative;
        box-sizing: unset;
    }

    .l-c {
        width: 100%;
    }

    .l-s {
        width: 100%;
        padding: 40px 0 0 0;
    }

    #fix_header {
        visibility: hidden;
        height: 50px;
    }

    .l-header {
        visibility: hidden;
        height: 50px;
        position: absolute !important;
        top: 0;
        left: 0;
    }

    .c-shareBtns {
        margin: 2em 16px;
    }

    .post_content {
        margin: 0 16px !important;
    }

    .post_content > h2 {
        margin-left: 0;
        margin-right: 0;
    }

    body.imobile-on .p-fixBtnWrap {
        bottom: 150px;
    }
}

/* --------------------------------------------------------------------- */
/* header */
/* --------------------------------------------------------------------- */

.l-h {
    width: 100%;
    height: 66px;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    background: #fff;
}

.l-h-b {
    max-width: 1200px;
    margin: 0 auto;
    height: 66px;
    padding: 0 4vw;
    position: relative;
    box-sizing: unset;
}

.l-h-logo {
    margin: 16px 0 0 0;
    max-width: 130px;
}

.l-h-logo a {
    display: block;
    transition: 0.2s;
}

@media (hover: hover) and (pointer: fine) {
    .l-h-logo a:hover {
        opacity: 0.6;
    }
}

.l-h-description {
    position: relative;
    top: 23px;
    left: 10px;
    font-weight: bold;
}
.l-h-gn {
    position: absolute;
    top: 26px;
    right: calc(4vw + 117px);
    font-size: 0;
}

.l-h-gn li {
    display: inline-block;
    margin: 0 20px 0 0;
    font-size: 16px;
    line-height: 1;
    font-weight: 700;
}

.l-h-gn li:last-child {
    margin: 0 0 0 0;
}

.l-h-gn li a {
    color: #000;
    transition: 0.2s;
}

@media (hover: hover) and (pointer: fine) {
    .l-h-gn li a:hover {
        color: #019e3b;
    }
}

.l-h-s {
    padding: 0 50px 0 0;
    margin: 0 0 0 auto;
}

.l-h-s-member {
    margin: 18px 0 0 0;
}

.l-h-s-member ul {
    font-size: 0;
}

.l-h-s-member ul li {
    display: inline-block;
    margin: 0 10px 0 0;
}

.l-h-s-member ul li:last-child {
    margin: 0;
}

.l-h-s-member ul li p a {
    display: block;
}

.l-h-s-member ul li .login,
.l-h-s-member ul li .regist {
    font-size: 12px;
    line-height: 1;
    font-weight: 700;
}

.l-h-s-member ul li .login a {
    padding: 6px 10px 8px 10px;
    border: 1px solid #019e3b;
    color: #019e3b;
    border-radius: 6px;
    display: block;
    box-sizing: border-box;
}

.l-h-s-member ul li .regist a {
    padding: 6px 10px 8px 10px;
    border: 1px solid #019e3b;
    background: #019e3b;
    color: #fff;
    border-radius: 6px;
    display: block;
    box-sizing: border-box;
}

.l-h-s-ms {
    padding: 0 0px 0 0;
}

.media-heading.item-body {
    display: none;
}

@media screen and (max-width: 768px) {
    #fix_header {
        visibility: hidden;
        height: 50px;
    }

    .l-header {
        visibility: hidden;
        height: 50px;
        position: absolute;
        top: 0;
        left: 0;
    }

    .l-h {
        width: 100%;
        height: 77px;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 99;
        background: #fff;
    }

    .l-h-b {
        max-width: 1200px;
        margin: 0 auto;
        height: 60px;
        padding: 0 4vw;
        position: relative;
        box-sizing: unset;
    }

    .l-h-logo {
        margin: 0;
        max-width: 87px;
        position: absolute;
        top: 12px;
        left: 0;
        right: 0;
        margin: auto;
    }

    .l-h-logo a {
        display: block;
        transition: 0.2s;
    }

    .l-h-description {
        position: absolute;
        width: 100%;
        top: 43px;
        left: 50%;
        transform: translateX(-50%);
        text-align: center;
    }

    .l-h-gn {
        display: none;
    }

    .l-h-s {
        padding: 0 60px 0 0;
        margin: 0 0 0 auto;
    }

    .l-h-s-member {
        display: none;
    }

    .l-h-s-ms {
        padding: 0 10px 0 0;
    }
}

/* --------------------------------------------------------------------- */
/* footer */
/* --------------------------------------------------------------------- */

.l-f {
    padding: 40px 0 130px 0;
    background: #019e3b;
}

.l-f-copy {
    font-size: 10px;
    line-height: 1;
    font-weight: 700;
    color: #fff;
    text-align: center;
}

.l-f-logo {
    max-width: 130px;
    margin: 0.8% auto 0 auto;
}

.l-f-logo a {
    display: block;
    transition: 0.2s;
}

@media (hover: hover) and (pointer: fine) {
    .l-f-logo a:hover {
        opacity: 0.6;
    }
}

.l-f-fu-ttl {
    font-size: 10px;
    line-height: 1;
    font-weight: 700;
    color: #fff;
    text-align: center;
    margin: 2% auto 0 auto;
}

.l-f-fu-sns {
    margin: 0.6% auto 0 auto;
}

.l-f-fu-sns ul {
    font-size: 0;
    text-align: center;
}

.l-f-fu-sns ul li {
    display: inline-block;
    width: 38px;
    margin: 0 24px 0 0;
}

.l-f-fu-sns ul li a {
    display: block;
    transition: 0.2s;
}

.l-f-fu-sns ul li:last-child {
    margin: 0;
}

@media (hover: hover) and (pointer: fine) {
    .l-f-fu-sns ul li a:hover {
        opacity: 0.6;
    }
}

.l-f-c-ttl {
    font-size: 10px;
    line-height: 1;
    font-weight: 700;
    color: #fff;
    text-align: center;
    margin: 2% auto 0 auto;
}

.l-f-c-navi {
    max-width: 660px;
    margin: 0.7% auto 0 auto;
}

.l-f-c-navi ul li {
    font-size: 14px;
    line-height: 2.2;
    font-weight: 400;
}

.l-f-u-navi {
    margin: 2% auto 0 auto;
}

.l-f-u-navi ul {
    font-size: 0;
    text-align: center;
}

.l-f-u-navi ul li {
    font-size: 10px;
    line-height: 1;
    font-weight: 400;
    position: relative;
    display: inline-block;
    padding: 0 10px 2px 0;
    margin: 0 10px 0 0;
    border-right: 1px solid #fff;
}

.l-f-u-navi ul li:last-child {
    margin: 0;
    padding: 0 0 2px 0;
    border-right: none;
}

.l-f-u-navi ul li a {
    transition: 0.2s;
    color: #fff;
}

@media (hover: hover) and (pointer: fine) {
    .l-f-u-navi ul li a:hover {
        opacity: 0.6;
    }
}

.l-f-cr {
    font-size: 10px;
    line-height: 1;
    font-weight: 400;
    color: #fff;
    text-align: center;
    margin: 2% 0 0 0;
}

@media screen and (max-width: 768px) {
    .l-f {
        padding: 40px 0 150px 0;
        background: #019e3b;
    }

    .l-f-copy {
        font-size: 10px;
        line-height: 1;
        font-weight: 700;
        color: #fff;
        text-align: center;
    }

    .l-f-logo {
        max-width: 130px;
        margin: 3% auto 0 auto;
    }

    .l-f-logo a {
        display: block;
        transition: 0.2s;
    }

    @media (hover: hover) and (pointer: fine) {
        .l-f-logo a:hover {
            opacity: 0.6;
        }
    }

    .l-f-fu-ttl {
        font-size: 10px;
        line-height: 1;
        font-weight: 700;
        color: #fff;
        text-align: center;
        margin: 8% auto 0 auto;
    }

    .l-f-fu-sns {
        margin: 2% auto 0 auto;
    }

    .l-f-fu-sns ul {
        font-size: 0;
        text-align: center;
    }

    .l-f-fu-sns ul li {
        display: inline-block;
        width: 38px;
        margin: 0 24px 0 0;
    }

    .l-f-fu-sns ul li a {
        display: block;
        transition: 0.2s;
    }

    .l-f-fu-sns ul li:last-child {
        margin: 0;
    }

    .l-f-c-ttl {
        font-size: 10px;
        line-height: 1;
        font-weight: 700;
        color: #fff;
        text-align: center;
        margin: 8% auto 0 auto;
    }

    .l-f-c-navi div {
        max-width: 100%;
        margin: 0.7% auto 0 auto;
        width: 100%;
    }

    .l-f-c-navi div ul {
        width: 100%;
        padding: 10px 30px 0 30px;
        box-sizing: border-box;
        text-align: center;
    }

    .l-f-c-navi div ul li {
        font-size: 12px;
        line-height: 2.2;
        font-weight: 400;
        /* width: calc(50% - 10px); */
    }

    .l-f-u-navi {
        margin: 4% auto 0 auto;
    }

    .l-f-u-navi ul {
        font-size: 0;
        text-align: center;
    }

    .l-f-u-navi ul li {
        font-size: 10px;
        line-height: 2;
        font-weight: 400;
        position: relative;
        display: block;
        padding: 0 0 2px 0;
        margin: 0 0 0 0;
        border-right: none;
        text-align: center;
    }

    .l-f-u-navi ul li:last-child {
        margin: 0;
        padding: 0 0 2px 0;
        border-right: none;
    }

    .l-f-u-navi ul li a {
        transition: 0.2s;
        color: #fff;
    }

    .l-f-cr {
        font-size: 10px;
        line-height: 1;
        font-weight: 400;
        color: #fff;
        text-align: center;
        margin: 4% 0 0 0;
    }
}

/* --------------------------------------------------------------------- */
/* hm */
/* --------------------------------------------------------------------- */

.m-hm {
    width: 66px;
    height: 66px;
    z-index: 300;
    cursor: pointer;
    position: absolute;
    right: calc(3vw);
    top: 0;
    transition: 0.2s;
    display: block;
    z-index: 300;
}

.m-hm p.line {
    display: block;
    position: relative;
    width: 66px;
    height: 66px;
    margin: 0px auto 0px auto;
    text-decoration: none;
    transition: 0.2s;
}

.m-hm p.line span {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    width: 30px;
    height: 2px;
    transition: 0.2s;
    background: #000;
}

.m-hm p.line span::before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 30px;
    height: 2px;
    transition: 0.2s;
    pointer-events: none;
    background: #000;
}

.m-hm p.line span::after {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 30px;
    height: 2px;
    transition: 0.2s;
    pointer-events: none;
    background: #000;
}

.m-hm p.line span:before {
    margin-top: 9px;
}

.m-hm p.line span:after {
    margin-top: -9px;
}

.m-hm.open {
    background: #717171;
}

.m-hm.open p.line span {
    background: transparent;
}

.m-hm.open p.line span::before {
    transform: translateY(-10px) rotate(45deg);
    margin-top: 9px;
    background: #fff;
}

.m-hm.open p.line span::after {
    transform: translateY(-10px) rotate(-45deg);
    margin-top: 9px;
    background: #fff;
}

@media screen and (max-width: 768px) {
    .m-hm {
        width: 50px;
        height: 77px;
        z-index: 300;
        cursor: pointer;
        position: absolute;
        right: 0;
        left: 0px;
        top: 0px;
        transition: 0.2s;
        display: block;
        z-index: 300;
    }

    .m-hm p.line {
        display: block;
        position: relative;
        width: 50px;
        height: 77px;
        margin: 0px auto 0px auto;
        text-decoration: none;
        transition: 0.2s;
    }
}

/* --------------------------------------------------------------------- */
/* gn */
/* --------------------------------------------------------------------- */

.m-gn {
    position: fixed;
    top: 66px;
    left: 0;
    right: 0;
    max-width: calc(1200px + 2vw);
    height: auto;
    margin: 0 auto;
    z-index: 200;
    display: block;
    transition: 0.2s;
    visibility: hidden;
}

.m-gn.open {
    pointer-events: auto;
    overflow: auto;
    visibility: visible;
}

.m-gn-b {
    transition: 0.2s;
    background: rgba(1, 158, 59, 0.94);
    opacity: 0;
    height: 100%;
}

.m-gn.open .m-gn-b {
    opacity: 1;
}

.m-gn-i {
    width: 100%;
}

.m-gn-c {
    margin: 0 auto;
    padding: 40px 50px 50px 50px;
}

.m-gn-c-ttl {
    font-size: 10px;
    line-height: 1;
    font-weight: 700;
    color: #fff;
    text-align: center;
    margin: 0 auto 0 auto;
}

.m-gn-c-navi {
    max-width: 800px;
    margin: 3% auto 0 auto;
}

.m-gn-c-navi ul li {
    font-size: 16px;
    line-height: 2.2;
    font-weight: 400;
}

.m-gn-c-navi ul li a {
    padding: 0 0 0 22px;
}

.m-gn-c-navi ul li a::before {
    width: 13px;
    height: 12px;
    content: "";
    background: url(/cp/wp-content/themes/swell_child/images/i-next-w.svg) no-repeat;
    position: absolute;
    left: 0;
    top: 7px;
}

@media (hover: hover) and (pointer: fine) {
    .m-gn-c-navi ul li a:hover {
        opacity: 0.6;
    }
}

@media screen and (max-width: 768px) {
    .m-gn {
        position: fixed;
        top: 77px;
        left: 0;
        right: 0;
        max-width: calc(1200px + 2vw);
        height: calc(100svh - 60px);
        margin: 0 auto;
        z-index: 200;
        display: block;
        transition: 0.2s;
        visibility: hidden;
        overflow: scroll;
    }

    .m-gn.open {
        pointer-events: auto;
        overflow: auto;
        visibility: visible;
    }

    .m-gn-b {
        transition: 0.2s;
        background: rgba(1, 158, 59, 0.94);
        opacity: 0;
        height: auto;
    }

    .m-gn.open .m-gn-b {
        opacity: 1;
    }

    .m-gn-i {
        width: 100%;
    }

    .m-gn-c {
        margin: 0 auto;
        padding: 0px 0px 80px 0px;
    }

    body.imobile-on .m-gn-c {
        margin: 0 auto;
        padding: 0px 0px 230px 0px;
    }

    .m-gn-c-ttl {
        font-size: 10px;
        line-height: 1;
        font-weight: 700;
        color: #fff;
        text-align: center;
        margin: 0 auto 0 auto;
        padding: 10px 0;
    }

    .m-gn-c-navi {
        max-width: 800px;
        width: 100%;
        margin: 0 auto 0 auto;
    }

    .m-gn-c-navi ul {
        position: relative;
        border-top: 1px solid #fff;
        width: 100%;
    }

    .m-gn-c-navi ul::after {
        width: 100%;
        height: 1px;
        content: "";
        background: #fff;
        position: absolute;
        bottom: 0;
        left: 0;
    }

    .m-gn-c-navi ul li {
        font-size: 14px;
        line-height: 1;
        font-weight: 400;
        display: inline-block;
        width: 50%;
        border-bottom: 1px solid #fff;
    }

    .m-gn-c-navi ul li a {
        padding: 12px 10px 13px 16px;
        display: block;
    }

    .m-gn-c-navi ul li a::before {
        width: 13px;
        height: 12px;
        content: "";
        background: url(/cp/wp-content/themes/swell_child/images/i-next-w.svg) no-repeat;
        position: absolute;
        left: auto;
        right: 12px;
        top: 13px;
    }

    .m-gn-c-status ul {
        display: none !important;
    }

    .m-gn-c-status ul li {
        font-size: 14px;
        line-height: 1;
        font-weight: 400;
        border-top: 1px solid #019e3b;
        text-align: center;
    }

    .m-gn-c-status ul li a {
        background: #fff;
        color: #019e3b;
        padding: 12px 10px 13px 22px;
        display: block;
        position: relative;
    }

    .m-gn-c-status ul li a::after {
        width: 13px;
        height: 12px;
        content: "";
        background: url(/cp/wp-content/themes/swell_child/images/i-next-g.svg) no-repeat;
        position: absolute;
        left: auto;
        right: 12px;
        top: 13px;
    }
}

/* --------------------------------------------------------------------- */
/* s */
/* --------------------------------------------------------------------- */

.m-s {
    width: 49px;
    height: 66px;
    cursor: pointer;
    transition: 0.2s;
    position: relative;
}

.m-s p {
    width: 28px;
    margin: 0 auto 0 auto;
    transition: 0.2;
}

.m-s p img {
    width: 28px;
    /* margin: 16px auto 0 auto; */
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
}

.m-s.open {
    background: #717171;
}

.m-s.open p {
    opacity: 0;
}

.m-s.open::before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 30px;
    height: 2px;
    pointer-events: none;
    transform: rotate(45deg);
    background: #fff;
}

.m-s.open::after {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 30px;
    height: 2px;
    pointer-events: none;
    transform: rotate(-45deg);
    background: #fff;
}

@media screen and (max-width: 768px) {
    .m-s {
        width: 50px;
        height: 77px;
        cursor: pointer;
        transition: 0.2s;
        position: relative;
        position: absolute;
        right: 0;
        top: 0px;
    }

    .m-s p img {
        width: 24px;
        /* margin: 12px auto 0 auto; */
    }
}

/* --------------------------------------------------------------------- */
/* sn */
/* --------------------------------------------------------------------- */

.m-sn {
    position: fixed;
    top: 66px;
    left: 0;
    right: 0;
    /*max-width: calc(760px + 2vw);*/
    max-width: calc(1200px + 2vw);
    height: auto;
    margin: 0 auto;
    z-index: 200;
    display: block;
    transition: 0.2s;
    visibility: hidden;
}

.m-sn.open {
    pointer-events: auto;
    overflow: auto;
    visibility: visible;
}

.m-sn-b {
    transition: 0.2s;
    background: rgba(1, 158, 59, 0.94);
    opacity: 0;
    height: 100%;
}

.m-sn.open .m-sn-b {
    opacity: 1;
}

.m-sn-i {
    width: 100%;
}

.m-sn-c {
    max-width: 700px;

    margin: 0 auto;
    padding: 40px 50px 50px 50px;
}

.m-sn-search {
    width: auto;
    background: #fff;
    padding: 0 10px;
    margin: 0 0 0 0;
    border-radius: 50px;
}

.m-sn-search button {
    background: none;
    width: 32px;
    height: 60px;
    padding: 0;
    border: none;
    margin: 0 10px 0 0;
}

.m-sn-search-i {
    flex: 1;
}

.m-sn-search-i input {
    background: none;
    border: none;
    border-radius: 0;
    color: #333;
    padding: 0;
    box-sizing: border-box;
    width: 100%;
    padding: 10px;
    height: 60px;
    outline: none;
    font-size: 16px;
}

.m-sn-tag {
    padding: 40px 0 20px 0;
}

.m-sn-tag p {
    font-size: 16px;
    line-height: 1;
    font-weight: 400;
    color: #fff;
    text-align: center;
}

.m-sn-tag ul {
    font-size: 0;
    gap: 10px 10px;
    flex-wrap: wrap;
    display: flex;
    margin: 20px 0 0 0;
}

.m-sn-tag ul li {
    font-size: 11px;
    line-height: 1.6;
    font-weight: 400;
    color: #fff;
    display: inline-flex;
    align-items: baseline;
    overflow-wrap: break-word;
    min-width: 0;
}

.m-sn-tag ul li a {
    color: #fff;
    padding: 6px 10px 7px 10px;
    border: 1px solid #fff;
    border-radius: 50px;
    transition: 0.2s;
}

@media (hover: hover) and (pointer: fine) {
    .m-sn-tag ul li a:hover {
        background: #fff;
        color: #019e3b;
    }
}

@media screen and (max-width: 768px) {
    .m-sn {
        position: fixed;
        top: 77px;
        left: 0;
        right: 0;
        max-width: calc(760px + 2vw);
        height: calc(100svh - 60px);
        margin: 0 auto;
        z-index: 200;
        display: block;
        transition: 0.2s;
        visibility: hidden;
    }

    .m-sn.open {
        pointer-events: auto;
        overflow: auto;
        visibility: visible;
    }

    .m-sn-b {
        transition: 0.2s;
        background: rgba(1, 158, 59, 0.94);
        opacity: 0;
        height: auto;
    }

    .m-sn.open .m-sn-b {
        opacity: 1;
    }

    .m-sn-i {
        width: 100%;
    }

    .m-sn-c {
        margin: 0 auto;
        padding: 30px 20px 80px 20px;
    }

    body.imobile-on .m-sn-c {
        padding: 30px 20px 230px 20px;
    }

    .m-sn-search {
        width: auto;
        background: #fff;
        padding: 0 10px;
        margin: 0 0 0 0;
        border-radius: 50px;
    }

    .m-sn-search button {
        background: none;
        width: 32px;
        height: 60px;
        padding: 0;
        border: none;
        margin: 0 10px 0 0;
    }

    .m-sn-search-i {
        flex: 1;
    }

    .m-sn-search-i input {
        background: none;
        border: none;
        border-radius: 0;
        color: #333;
        padding: 0;
        box-sizing: border-box;
        width: 100%;
        padding: 10px;
        height: 60px;
        outline: none;
        font-size: 16px;
    }

    .m-sn-tag {
        padding: 40px 0 20px 0;
    }

    .m-sn-tag p {
        font-size: 16px;
        line-height: 1;
        font-weight: 400;
        color: #fff;
        text-align: center;
    }

    .m-sn-tag ul {
        font-size: 0;
        gap: 10px 10px;
        flex-wrap: wrap;
        display: flex;
        margin: 20px 0 0 0;
    }

    .m-sn-tag ul li {
        font-size: 11px;
        line-height: 1.6;
        font-weight: 400;
        color: #fff;
        display: inline-flex;
        align-items: baseline;
        overflow-wrap: break-word;
        min-width: 0;
    }

    .m-sn-tag ul li a {
        color: #fff;
        padding: 6px 10px 7px 10px;
        border: 1px solid #fff;
        border-radius: 50px;
        transition: 0.2s;
    }
}

/* --------------------------------------------------------------------- */
/* mm */
/* --------------------------------------------------------------------- */

.m-m-copy {
    font-size: 10px;
    line-height: 1;
    font-weight: 700;
    color: #fff;
    text-align: center;
    margin: 40px 0 0 0;
}

.m-m-logo {
    max-width: 130px;
    margin: 10px auto 0 auto;
}

.m-m-logo a {
    display: block;
    transition: 0.2s;
}

@media (hover: hover) and (pointer: fine) {
    .m-m-logo a:hover {
        opacity: 0.6;
    }
}

.m-m-fu-ttl {
    font-size: 10px;
    line-height: 1;
    font-weight: 700;
    color: #fff;
    text-align: center;
    margin: 30px auto 0 auto;
}

.m-m-fu-sns {
    margin: 10px auto 0 auto;
}

.m-m-fu-sns ul {
    font-size: 0;
    text-align: center;
}

.m-m-fu-sns ul li {
    display: inline-block;
    width: 38px;
    margin: 0 24px 0 0;
}

.m-m-fu-sns ul li a {
    display: block;
    transition: 0.2s;
}

.m-m-fu-sns ul li:last-child {
    margin: 0;
}

@media (hover: hover) and (pointer: fine) {
    .m-m-fu-sns ul li a:hover {
        opacity: 0.6;
    }
}

/* --------------------------------------------------------------------- */
/* m-e */
/* --------------------------------------------------------------------- */

.m-e-box {
    width: 100%;
}

.m-e-box a {
    display: block;
    transition: 0.2s;
}

@media (hover: hover) and (pointer: fine) {
    .m-e-box a:hover {
        opacity: 0.6;
    }
}

.m-e-box-thumb figure {
    aspect-ratio: 640 / 360;
}

.m-e-box-thumb.special figure {
    aspect-ratio: 640 / 480;
}

.m-e-box-thumb.serialization figure {
    aspect-ratio: 640 / 320;
}

.m-e-box-thumb figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.m-e-box-label {
    margin: 2% 0 0 0;
}

.m-e-box-label-ss {
    font-size: 16px;
    line-height: 1.7;
    font-weight: 400;
}

.m-e-box-meta {
    margin: 2% 0 0 0;
    display: flex;
}

.m-e-box-meta-cat {
    font-size: 12px;
    line-height: 1.7;
    font-weight: 700;
    color: #019e3b;
}

.m-e-box-meta-times {
    font-size: 12px;
    line-height: 1.7;
    font-weight: 400;
    color: #717171;
    padding: 0 0 0 10px;
}

.m-e-box-meta-pr {
    font-size: 10px;
    line-height: 1;
    font-weight: 700;
    color: #000;
    padding: 2px 8px 3px 8px;
    margin: 0 0 0 10px;
    border: 1px solid #000;
    border-radius: 50px;
}

.m-e-box-ttl {
    font-size: 18px;
    line-height: 1.6;
    font-weight: 400;
    color: #000;
    margin: 2% 0 0 0;
}

.m-e-box-authors {
    margin: 3% 0 0 0;
    display: flex;
    gap: 20px;
}

.m-e-box-authors-box {
    display: inline-flex;
    align-items: baseline;
}

.m-e-box-authors-box-tn p {
    max-width: 30px;
    aspect-ratio: 50 / 50;
    border-radius: 50%;
    border: 1px solid #ccc;
    overflow: hidden;
    position: relative;
}

.m-e-box-authors-box-tn p img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.m-e-box-authors-box-name {
    flex: 1;
    padding: 0 0 0 10px;
}

.m-e-box-authors-box-name p {
    font-size: 10px;
    line-height: 1.6;
    font-weight: 400;
    color: #000;
}

.m-e-box-ttl-ss {
    font-size: 18px;
    line-height: 1.6;
    font-weight: 700;
    color: #000;
    margin: 2% 0 0 0;
}

.m-e-box-desc {
    font-size: 14px;
    line-height: 1.8;
    font-weight: 400;
    color: #000;
    margin: 2% 0 0 0;
}

@media screen and (max-width: 768px) {
    .m-e-box a {
        display: block;
        transition: 0.2s;
    }

    @media (hover: hover) and (pointer: fine) {
        .m-e-box a:hover {
            opacity: 0.6;
        }
    }

    .m-e-box-thumb figure {
        aspect-ratio: 640 / 360;
    }

    .m-e-box-thumb figure img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .m-e-box-label-ss {
        font-size: 14px;
        line-height: 1.7;
        font-weight: 400;
    }

    .m-e-box-meta {
        margin: 2% 0 0 0;
        display: flex;
    }

    .m-e-box-meta-cat {
        font-size: 11px;
        line-height: 1.7;
        font-weight: 700;
        color: #019e3b;
    }

    .m-e-box-meta-times {
        font-size: 11px;
        line-height: 1.7;
        font-weight: 400;
        color: #717171;
        padding: 0 0 0 10px;
    }

    .m-e-box-meta-pr {
        font-size: 9px;
        line-height: 1;
        font-weight: 700;
        color: #000;
        padding: 2px 8px 3px 8px;
        margin: 0 0 0 10px;
        border: 1px solid #000;
        border-radius: 50px;
    }

    .m-e-box-ttl {
        font-size: 18px;
        line-height: 1.6;
        font-weight: 400;
        color: #000;
        margin: 2% 0 0 0;
    }

    .m-e-box-authors {
        margin: 3% 0 0 0;
        display: flex;
        gap: 20px;
    }

    .m-e-box-authors-box {
        display: inline-flex;
        align-items: baseline;
    }

    .m-e-box-authors-box-tn p {
        max-width: 30px;
        aspect-ratio: 50 / 50;
        border-radius: 50%;
        border: 1px solid #ccc;
        overflow: hidden;
        position: relative;
    }

    .m-e-box-authors-box-tn p img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .m-e-box-authors-box-name {
        flex: 1;
        padding: 0 0 0 10px;
    }

    .m-e-box-authors-box-name p {
        font-size: 10px;
        line-height: 1.6;
        font-weight: 400;
        color: #000;
    }

    .m-e-box-ttl-ss {
        font-size: 14px;
        line-height: 1.6;
        font-weight: 700;
        color: #000;
        margin: 2% 0 0 0;
    }

    .m-e-box-desc {
        font-size: 12px;
        line-height: 1.8;
        font-weight: 400;
        color: #000;
        margin: 2% 0 0 0;
    }
}

/* --------------------------------------------------------------------- */
/* sb ad embed */
/* --------------------------------------------------------------------- */

.m-sb-embed-1 {
    margin: 0 0 40px 0;
}

.m-sb-embed-2 {
    margin: 40px 0 0 0;
}

@media screen and (max-width: 768px) {
    .m-sb-embed-1 {
        margin: 0 16px 30px 16px;
    }

    .m-sb-embed-2 {
        margin: 30px 16px 0 16px;
    }
}

/* --------------------------------------------------------------------- */
/* sb rank */
/* --------------------------------------------------------------------- */

.m-sb-rank-ttl {
    font-size: 20px;
    line-height: 1.6;
    font-weight: 700;
    color: #019e3b;
    text-align: center;
}

.m-sb-rank-l {
    gap: 10px 0;
    margin: 14px 0 0 0;
}

.m-sb-rank-box {
    width: 100%;
}

.m-sb-rank-box a {
    display: block;
}

.m-sb-rank-box-number {
    font-size: 22px;
    line-height: 1.6;
    font-weight: 700;
    color: #019e3b;
}

.m-sb-rank-box-thumb {
    width: 41%;
}

.m-sb-rank-box-thumb figure {
    aspect-ratio: 130 / 74;
}

.m-sb-rank-box-thumb figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.m-sb-rank-box-c {
    flex: 1;
    padding: 0 0 0 10px;
}

.m-sb-rank-box-ttl {
    font-size: 14px;
    line-height: 1.6;
    font-weight: 400;
    color: #000;
}

.m-sb-rank-box-meta {
    width: 100%;
    margin: 6px 0 0 0;
}

.m-sb-rank-box-authors {
    font-size: 11px;
    line-height: 1.6;
    font-weight: 400;
    color: #000;
}

.m-sb-rank-box-pr {
    font-size: 11px;
    line-height: 1.6;
    font-weight: 700;
    color: #000;
    flex: 1;
    padding: 0 0 0 10px;
}

@media screen and (max-width: 768px) {
    .m-sb-rank-ttl {
        font-size: 20px;
        line-height: 1.6;
        font-weight: 700;
        color: #019e3b;
        text-align: center;
    }

    .m-sb-rank-l {
        gap: 20px 0;
        margin: 14px 0 0 0;
    }

    .m-sb-rank-box {
        width: 100%;
    }

    .m-sb-rank-box a {
        display: block;
    }

    .m-sb-rank-box-number {
        font-size: 18px;
        line-height: 1;
        font-weight: 700;
        color: #019e3b;
    }

    .m-sb-rank-box-thumb {
        width: 41%;
    }

    .m-sb-rank-box-thumb figure {
        aspect-ratio: 130 / 74;
    }

    .m-sb-rank-box-thumb figure img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .m-sb-rank-box-c {
        flex: 1;
        padding: 0 16px 0 18px;
    }

    .m-sb-rank-box-ttl {
        font-size: 14px;
        line-height: 1.6;
        font-weight: 400;
        color: #000;
        margin: 10px 0 0 0;
    }

    .m-sb-rank-box-meta {
        width: 100%;
        margin: 6px 0 0 0;
    }

    .m-sb-rank-box-authors {
        font-size: 11px;
        line-height: 1.6;
        font-weight: 400;
        color: #000;
    }

    .m-sb-rank-box-pr {
        font-size: 11px;
        line-height: 1.6;
        font-weight: 700;
        color: #000;
        flex: 1;
        padding: 0 0 0 10px;
    }
}

/* --------------------------------------------------------------------- */
/* sb pickup */
/* --------------------------------------------------------------------- */

.m-sb-pickup {
    box-sizing: border-box;
    padding: 14px;
    background: #f0f0f0;
    margin: 40px 0 0 0;
}

.m-sb-pickup-ttl {
    font-size: 20px;
    line-height: 1.6;
    font-weight: 700;
    color: #019e3b;
    text-align: center;
}

.m-sb-pickup-l {
    gap: 30px 0;
    margin: 14px 0 0 0;
}

@media screen and (max-width: 768px) {
    .m-sb-pickup {
        box-sizing: border-box;
        padding: 24px 16px;
        background: #f0f0f0;
        margin: 30px 0 0 0;
    }

    .m-sb-pickup-ttl {
        font-size: 18px;
        line-height: 1.6;
        font-weight: 700;
        color: #019e3b;
        text-align: center;
    }

    .m-sb-pickup-l {
        gap: 30px 0;
        margin: 14px 0 0 0;
    }
}

/* --------------------------------------------------------------------- */
/* sb bn */
/* --------------------------------------------------------------------- */

.m-sb-bn {
    margin: 40px 0 0 0;
}

.m-sb-bn.head {
    margin: 0 0 40px 0;
}

.m-sb-bn-l {
    gap: 30px 0;
    font-size: 0;
}

.m-sb-bn-l li a {
    display: block;
    transition: 0.2s;
}

@media (hover: hover) and (pointer: fine) {
    .m-sb-bn-l li a:hover {
        opacity: 0.6;
    }
}

.m-sb-bns {
    margin: 0 0 40px 0;
}

.m-sb-bns-l {
}

.m-sb-bns-l li {
    background: #fff;
}

.m-sb-bns-l li a {
    display: block;
    transition: 0.2s;
}

.swiper {
    /*スライダーの幅と高さを調整*/
    width: 100%;
    height: auto;
}

.swiper-slide {
    /*スライド要素の幅と高さを調整*/
    width: 100%;
    height: 100%;
}

@media (hover: hover) and (pointer: fine) {
    .m-sb-bns-l li a:hover {
        opacity: 0.6;
    }
}

@media screen and (max-width: 768px) {
    .m-sb-bn {
        margin: 30px 16px 0 16px;
    }

    .m-sb-bn ul li {
        width: 100%;
    }
    .m-sb-bn ul li img {
        width: 100%;
    }

    .m-sb-bn.head {
        margin: 0px 16px 30px 16px;
    }

    .m-sb-bn-l {
        gap: 20px 0;
        font-size: 0;
    }

    .m-sb-bn-l li a {
        display: block;
        transition: 0.2s;
    }

    .m-sb-bns {
        margin: 0 16px 30px 16px;
    }

    .bnr_s {
        margin-top: 30px;
    }
    .bnr_s li {
        width: 100%;
    }

    .bnr_s li img {
        width: 100%;
    }
}

/* --------------------------------------------------------------------- */
/* sb sn */
/* --------------------------------------------------------------------- */

.m-sb-sn {
    margin: 40px 0 0 0;
    border: dotted 2px #019e3b;
}

.m-sb-sn-cttl {
    font-size: 16px;
    line-height: 1.6;
    font-weight: 700;
    color: #019e3b;
    text-align: center;
    padding: 10px;
    border-bottom: dotted 2px #019e3b;
}

.m-sb-sn-b {
    padding: 20px;
}

.m-sb-sn-issue {
    font-size: 20px;
    line-height: 1.6;
    font-weight: 700;
    color: #019e3b;
    text-align: center;
}

.m-sb-sn-ttl {
    font-size: 20px;
    line-height: 1.6;
    font-weight: 700;
    color: #019e3b;
    text-align: center;
}

.m-sb-sn-cover {
    width: 60%;
    margin: 20px auto 0 auto;
}

.m-sb-sn-cover a {
    transition: 0.2s;
}

.m-sb-sn-btn {
    margin: 20px auto 0 auto;
    font-size: 14px;
    line-height: 1.6;
    font-weight: 400;
    text-align: center;
}

.m-sb-sn-btn a {
    display: block;
    position: relative;
    border: 1px solid #019e3b;
    padding: 12px 14px 14px 14px;
    border-radius: 60px;
    transition: 0.2s;
}

@media (hover: hover) and (pointer: fine) {
    .m-sb-sn-cover a:hover {
        opacity: 0.6;
    }
    .m-sb-sn-btn a:hover {
        background: #019e3b;
        color: #fff;
    }
}

@media screen and (max-width: 768px) {
    .m-sb-sn {
        margin: 30px 16px 0 16px;
        border: dotted 1px #019e3b;
    }

    .m-sb-sn-cttl {
        font-size: 14px;
        line-height: 1.6;
        font-weight: 700;
        color: #019e3b;
        text-align: center;
        padding: 10px;
        border-bottom: dotted 1px #019e3b;
    }

    .m-sb-sn-b {
        padding: 20px;
    }

    .m-sb-sn-issue {
        font-size: 18px;
        line-height: 1.6;
        font-weight: 700;
        color: #019e3b;
        text-align: center;
    }

    .m-sb-sn-ttl {
        font-size: 18px;
        line-height: 1.6;
        font-weight: 700;
        color: #019e3b;
        text-align: center;
    }

    .m-sb-sn-cover {
        width: 60%;
        margin: 20px auto 0 auto;
    }

    .m-sb-sn-cover a {
        transition: 0.2s;
    }

    .m-sb-sn-btn {
        margin: 20px auto 0 auto;
        font-size: 14px;
        line-height: 1.6;
        font-weight: 400;
        text-align: center;
    }

    .m-sb-sn-btn a {
        display: block;
        position: relative;
        border: 1px solid #019e3b;
        padding: 12px 14px 14px 14px;
        border-radius: 60px;
        transition: 0.2s;
    }
}

/* --------------------------------------------------------------------- */
/* sb sns */
/* --------------------------------------------------------------------- */

.m-sb-sns {
    margin: 40px 0 0 0;
}

.m-sb-sns-ttl {
    font-size: 16px;
    line-height: 1.6;
    font-weight: 700;
    color: #019e3b;
    text-align: center;
}

.m-sb-sns nav {
    margin: 20px 0 0 0;
}

.m-sb-sns nav ul {
    gap: 14px 0;
}

.m-sb-sns nav ul li {
    width: 100%;
}

.m-sb-sns nav ul li a {
    padding: 10px 14px;
    transition: 0.2s;
}

.s-x a {
    border: 1px solid #000000;
    background: #000000;
}

.s-fb a {
    border: 1px solid #0066ff;
    background: #0066ff;
}

.s-ig a {
    border: 1px solid #000000;
    background: #fff;
}

.m-sb-sns-i {
    width: 32px;
    font-size: 0;
}

.m-sb-sns-desc {
    flex: 1;
    padding: 0 0 0 10px;
    font-size: 12px;
    line-height: 1.6;
    font-weight: 700;
    color: #fff;
    margin: -4px 0 0 0;
}

.s-ig a .m-sb-sns-desc {
    color: #000;
}

@media (hover: hover) and (pointer: fine) {
    .m-sb-sns nav ul li a:hover {
        opacity: 0.6;
    }
}

@media screen and (max-width: 768px) {
    .m-sb-sns {
        margin: 30px 16px 0 16px;
    }

    .m-sb-sns-ttl {
        font-size: 16px;
        line-height: 1.6;
        font-weight: 700;
        color: #019e3b;
        text-align: center;
    }

    .m-sb-sns nav {
        margin: 20px 0 0 0;
    }

    .m-sb-sns nav ul {
        gap: 14px 0;
    }

    .m-sb-sns nav ul li {
        width: 100%;
    }

    .m-sb-sns nav ul li a {
        padding: 10px 14px;
        transition: 0.2s;
    }

    .s-x a {
        border: 1px solid #000000;
        background: #000000;
    }

    .s-fb a {
        border: 1px solid #0066ff;
        background: #0066ff;
    }

    .s-ig a {
        border: 1px solid #000000;
        background: #fff;
    }

    .m-sb-sns-i {
        width: 32px;
        font-size: 0;
    }

    .m-sb-sns-desc {
        flex: 1;
        padding: 0 0 0 10px;
        font-size: 12px;
        line-height: 1.6;
        font-weight: 700;
        color: #fff;
        margin: -4px 0 0 0;
    }

    .s-ig a .m-sb-sns-desc {
        color: #000;
    }
}

/* --------------------------------------------------------------------- */
/* index */
/* --------------------------------------------------------------------- */

/* v */

.i-v {
    width: 100vw;
    position: relative;
    overflow: hidden;
    padding: 0 0 2% 0;
}

.i-vs {
    position: relative;
    z-index: 5;
}

.i-vs .splide__pagination {
    bottom: 0;
    left: 0;
    padding: 0 1em;
    width: 100%;
    margin: 30px auto 0 auto;
    position: relative;
    right: 0;
    z-index: 1;
}

.i-vs .splide__pagination__page {
    background: #d1d0d0;
    border: 0;
    border-radius: 0;
    display: inline-block;
    height: 4px;
    margin: 0 6px;
    opacity: 0.7;
    padding: 0;
    position: relative;
    transition: 0.2s;
    width: 20px;
}

.i-vs .splide__pagination__page.is-active {
    background: #019e3b;
    z-index: 1;
    width: 30px;
    transform: scale(1);
}

.i-v .m-e-box-ttl {
    font-size: 26px;
}

@media screen and (max-width: 768px) {
    .i-vs .m-e-box-b {
        padding: 10px 16px 0 16px;
    }
    .i-v .m-e-box-ttl {
        font-size: 20px;
    }

    .i-vs .splide__pagination {
        bottom: 0;
        left: 0;
        padding: 0 1em 20px 1em;
        width: 100%;
        margin: 20px auto 0 auto;
        position: relative;
        right: 0;
        z-index: 1;
    }

    .i-vs .splide__pagination__page {
        background: #d1d0d0;
        border: 0;
        border-radius: 0;
        display: inline-block;
        height: 3px;
        margin: 0 4px;
        opacity: 0.7;
        padding: 0;
        position: relative;
        transition: 0.2s;
        width: 10px;
    }

    .i-vs .splide__pagination__page.is-active {
        background: #019e3b;
        z-index: 1;
        width: 20px;
        transform: scale(1);
    }
}

/* vub */

.vub {
    max-width: 1200px;
    margin: 0 auto;
    padding: 30px 4vw 60px 4vw;
    position: relative;
    box-sizing: unset;
}

.vub-l {
    font-size: 0;
    gap: 20px 20px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.vub-l li {
    font-size: 0;
}

@media screen and (max-width: 768px) {
    .vub {
        max-width: 1200px;
        margin: 0 auto;
        padding: 30px 16px 60px 16px;
        position: relative;
        box-sizing: unset;
    }

    .vub-l {
        font-size: 0;
        gap: 20px 0;
        display: flex;
        flex-wrap: wrap;
    }

    .vub-l li {
        font-size: 0;
        width: calc(100%);
    }
}

/* new */

.i-new-l {
    gap: 40px 0;
    margin: 30px 0 0 0;
}

.i-new-l .m-e-box {
    width: calc(50% - 20px);
}

.i-new-ttl {
    font-size: 22px;
    line-height: 1.6;
    font-weight: 700;
    color: #019e3b;
    text-align: center;
}

.i-new-more {
    margin: 50px 0 0 0;
    text-align: center;
}

.i-new-more p {
    font-size: 14px;
    line-height: 1.6;
    font-weight: 400;
    max-width: 300px;
    margin: auto;
}

.i-new-more p a {
    border: 1px solid #019e3b;
    padding: 14px 0 15px 0;
    color: #019e3b;
    display: block;
    border-radius: 100px;
    position: relative;
    transition: 0.2s;
}

.i-new-more p a::before {
    width: 13px;
    height: 12px;
    content: "";
    background: url(/cp/wp-content/themes/swell_child/images/i-next-g.svg) no-repeat;
    position: absolute;
    right: 26px;
    top: 0;
    bottom: 0;
    margin: auto;
    transition: 0.2s;
}

.i-new-more p a::after {
    width: 13px;
    height: 12px;
    content: "";
    background: url(/cp/wp-content/themes/swell_child/images/i-next-w.svg) no-repeat;
    position: absolute;
    right: 26px;
    top: 0;
    bottom: 0;
    margin: auto;
    opacity: 0;
    transition: 0.2s;
}

.i-movie-ttl {
    font-size: 22px;
    margin-top: 50px;
    line-height: 1.6;
    font-weight: 700;
    color: #019e3b;
    text-align: center;
}

@media (hover: hover) and (pointer: fine) {
    .i-new-more p a:hover {
        background: #019e3b;
        color: #fff;
    }
    .i-new-more p a:hover::before {
        opacity: 0;
    }
    .i-new-more p a:hover::after {
        opacity: 1;
    }
}

@media screen and (max-width: 768px) {
    .i-new-l {
        gap: 40px 0;
        margin: 20px 0 0 0;
    }

    .i-new-l .m-e-box {
        width: calc(100%);
    }

    .i-new .m-e-box-b {
        padding: 7px 16px 0 16px;
    }

    .i-new-ttl {
        font-size: 18px;
        line-height: 1.6;
        font-weight: 700;
        color: #019e3b;
        text-align: center;
    }

    .i-new-more {
        margin: 30px 0 0 0;
        text-align: center;
    }
}

/* --------------------------------------------------------------------- */
/* special */
/* --------------------------------------------------------------------- */

.m-special {
    background: #019e3b;
    padding: 30px 50px 50px 50px;
    margin: 60px 0 0 0;
}

.m-special-ttl {
    font-size: 22px;
    line-height: 1.6;
    font-weight: 700;
    color: #fff;
    text-align: center;
}

.m-special-l {
    gap: 40px 0;
    margin: 30px 0 0 0;
}

.m-special-l .m-special-box {
    width: calc(100%);
}

.m-special-box a {
    display: block;
    transition: 0.2s;
}

.m-special-box-tn {
    width: 50%;
}

.m-special-box-tn figure {
    aspect-ratio: 640 / 480;
}

.m-special-box-tn figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.m-special-box-c {
    flex: 1;
    padding: 0 0 0 30px;
}

.m-special-box-time {
    font-size: 12px;
    line-height: 1.6;
    font-weight: 400;
    color: #fff;
}

.m-special-box-ttl {
    font-size: 18px;
    line-height: 1.6;
    font-weight: 400;
    color: #fff;
}

.m-special-box-ex {
    font-size: 13px;
    line-height: 1.6;
    font-weight: 400;
    color: #fff;
    margin: 10px 0 0 0;
}

.m-special-box-next {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid #fff;
    margin: 20px auto 0 auto;
    position: relative;
    transition: 0.2s;
}

.m-special-box-next::before {
    width: 13px;
    height: 12px;
    content: "";
    background: url(/cp/wp-content/themes/swell_child/images/i-next-w.svg) no-repeat;
    position: absolute;
    right: 0;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    transition: 0.2s;
}

.m-special-box-next::after {
    width: 13px;
    height: 12px;
    content: "";
    background: url(/cp/wp-content/themes/swell_child/images/i-next-g.svg) no-repeat;
    position: absolute;
    right: 0;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    transition: 0.2s;
    opacity: 0;
}

@media (hover: hover) and (pointer: fine) {
    .m-special-box a:hover {
        opacity: 0.6;
    }
    .m-special-box a:hover .m-special-box-next {
        background: #fff;
    }
    .m-special-box a:hover .m-special-box-next::before {
        opacity: 0;
    }
    .m-special-box a:hover .m-special-box-next::after {
        opacity: 1;
    }
}

.m-special-more {
    margin: 50px 0 0 0;
    text-align: center;
}

.m-special-more p {
    font-size: 14px;
    line-height: 1.6;
    font-weight: 400;
    max-width: 300px;
    margin: auto;
}

.m-special-more p a {
    border: 1px solid #fff;
    padding: 14px 0 15px 0;
    color: #fff;
    display: block;
    border-radius: 100px;
    position: relative;
    transition: 0.2s;
}

.m-special-more p a::before {
    width: 13px;
    height: 12px;
    content: "";
    background: url(/cp/wp-content/themes/swell_child/images/i-next-w.svg) no-repeat;
    position: absolute;
    right: 26px;
    top: 0;
    bottom: 0;
    margin: auto;
    transition: 0.2s;
}

.m-special-more p a::after {
    width: 13px;
    height: 12px;
    content: "";
    background: url(/cp/wp-content/themes/swell_child/images/i-next-g.svg) no-repeat;
    position: absolute;
    right: 26px;
    top: 0;
    bottom: 0;
    margin: auto;
    opacity: 0;
    transition: 0.2s;
}

@media (hover: hover) and (pointer: fine) {
    .m-special-more p a:hover {
        background: #fff;
        color: #019e3b;
    }
    .m-special-more p a:hover::before {
        opacity: 0;
    }
    .m-special-more p a:hover::after {
        opacity: 1;
    }
}

@media screen and (max-width: 768px) {
    .m-special {
        background: #019e3b;
        padding: 40px 44px 50px 44px;
        margin: 60px 0 0 0;
    }

    .m-special-ttl {
        font-size: 18px;
        line-height: 1.6;
        font-weight: 700;
        color: #fff;
        text-align: center;
    }

    .m-special-l {
        gap: 30px 0;
        margin: 20px 0 0 0;
    }

    .m-special-l .m-special-box {
        width: calc(100%);
    }

    .m-special-box a {
        display: block;
        transition: 0.2s;
    }

    .m-special-box-tn {
        width: calc(100%);
    }

    .m-special-box-tn figure {
        aspect-ratio: 640 / 480;
    }

    .m-special-box-tn figure img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .m-special-box-c {
        flex: none;
        width: calc(100%);
        padding: 10px 0 0 0;
    }

    .m-special-box-next {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        border: 1px solid #fff;
        margin: 14px auto 0 auto;
        position: relative;
        transition: 0.2s;
    }

    .m-special-more {
        margin: 30px 0 0 0;
        text-align: center;
    }

    .m-special-more p {
        font-size: 14px;
        line-height: 1.6;
        font-weight: 400;
        max-width: 300px;
        margin: auto;
    }

    .m-special-more p a {
        border: 1px solid #fff;
        padding: 14px 0 15px 0;
        color: #fff;
        display: block;
        border-radius: 100px;
        position: relative;
        transition: 0.2s;
    }

    .m-special-more p a::before {
        width: 13px;
        height: 12px;
        content: "";
        background: url(/cp/wp-content/themes/swell_child/images/i-next-w.svg) no-repeat;
        position: absolute;
        right: 26px;
        top: 0;
        bottom: 0;
        margin: auto;
        transition: 0.2s;
    }

    .m-special-more p a::after {
        width: 13px;
        height: 12px;
        content: "";
        background: url(/cp/wp-content/themes/swell_child/images/i-next-g.svg) no-repeat;
        position: absolute;
        right: 26px;
        top: 0;
        bottom: 0;
        margin: auto;
        opacity: 0;
        transition: 0.2s;
    }
}

/* --------------------------------------------------------------------- */
/* serialization */
/* --------------------------------------------------------------------- */

.m-serialization {
    background: #f0f0f0;
    padding: 30px 50px 50px 50px;
    margin: 0px 0 0 0;
}

.m-serialization-ttl {
    font-size: 22px;
    line-height: 1.6;
    font-weight: 700;
    color: #019e3b;
    text-align: center;
}

.m-serialization-l {
    gap: 40px 0;
    margin: 30px 0 0 0;
}

.m-serialization-l .m-serialization-box {
    width: calc(50% - 20px);
}

.m-serialization-box-tn {
    width: 100%;
}

.m-serialization-box-tn a {
    display: block;
    transition: 0.2s;
}

.m-serialization-box-img {
    aspect-ratio: 640 / 320;
}

.m-serialization-box-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.m-serialization-box-ttl {
    font-size: 16px;
    line-height: 1.6;
    font-weight: 700;
    color: #000;
    display: block;
    position: relative;
    margin: 4px 0 0 0;
}

.m-serialization-box-ttl::after {
    width: 13px;
    height: 12px;
    content: "";
    background: url(/cp/wp-content/themes/swell_child/images/i-next-g.svg) no-repeat;
    position: absolute;
    right: 0;
    top: 8px;
    margin: auto;
    transition: 0.2s;
}

.m-serialization-box-c {
    width: 100%;
    padding: 10px 0 0 0;
}

.m-serialization-box-et {
    border-left: 1px solid #707070;
    padding: 0 0 0 14px;
}

.m-serialization-box-et-ttl {
    font-size: 18px;
    line-height: 1.6;
    font-weight: 400;
    color: #000;
}

.m-serialization-box-meta {
    width: 100%;
}

.m-serialization-box-number {
    font-size: 18px;
    line-height: 1.6;
    font-weight: 700;
    color: #019e3b;
}

.m-serialization-box-time {
    font-size: 12px;
    line-height: 1.6;
    font-weight: 400;
    color: #717171;
    flex: 1;
    padding: 0 0 0 10px;
}

.m-serialization-box-next {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid #fff;
    margin: 20px auto 0 auto;
    position: relative;
    transition: 0.2s;
}

.m-serialization-box-next::before {
    width: 13px;
    height: 12px;
    content: "";
    background: url(/cp/wp-content/themes/swell_child/images/i-next-w.svg) no-repeat;
    position: absolute;
    right: 0;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    transition: 0.2s;
}

.m-serialization-box-next::after {
    width: 13px;
    height: 12px;
    content: "";
    background: url(/cp/wp-content/themes/swell_child/images/i-next-g.svg) no-repeat;
    position: absolute;
    right: 0;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    transition: 0.2s;
    opacity: 0;
}

@media (hover: hover) and (pointer: fine) {
    .m-serialization-box a:hover {
        opacity: 0.6;
    }
    .m-serialization-box a:hover .m-serialization-box-next {
        background: #fff;
    }
    .m-serialization-box a:hover .m-serialization-box-next::before {
        opacity: 0;
    }
    .m-serialization-box a:hover .m-serialization-box-next::after {
        opacity: 1;
    }
}

.m-serialization-more {
    margin: 50px 0 0 0;
    text-align: center;
}

.m-serialization-more p {
    font-size: 14px;
    line-height: 1.6;
    font-weight: 400;
    max-width: 300px;
    margin: auto;
}

.m-serialization-more p a {
    border: 1px solid #019e3b;
    padding: 14px 0 15px 0;
    color: #019e3b;
    display: block;
    border-radius: 100px;
    position: relative;
    transition: 0.2s;
}

.m-serialization-more p a::before {
    width: 13px;
    height: 12px;
    content: "";
    background: url(/cp/wp-content/themes/swell_child/images/i-next-g.svg) no-repeat;
    position: absolute;
    right: 26px;
    top: 0;
    bottom: 0;
    margin: auto;
    transition: 0.2s;
}

.m-serialization-more p a::after {
    width: 13px;
    height: 12px;
    content: "";
    background: url(/cp/wp-content/themes/swell_child/images/i-next-w.svg) no-repeat;
    position: absolute;
    right: 26px;
    top: 0;
    bottom: 0;
    margin: auto;
    opacity: 0;
    transition: 0.2s;
}

@media (hover: hover) and (pointer: fine) {
    .m-serialization-more p a:hover {
        background: #019e3b;
        color: #fff;
    }
    .m-serialization-more p a:hover::before {
        opacity: 0;
    }
    .m-serialization-more p a:hover::after {
        opacity: 1;
    }
}

@media screen and (max-width: 768px) {
    .m-serialization {
        background: #f0f0f0;
        padding: 30px 16px 50px 16px;
        margin: 0px 0 0 0;
    }

    .m-serialization-ttl {
        font-size: 18px;
        line-height: 1.6;
        font-weight: 700;
        color: #019e3b;
        text-align: center;
    }

    .m-serialization-l {
        gap: 30px 0;
        margin: 20px 0 0 0;
    }

    .m-serialization-l .m-serialization-box {
        width: calc(100%);
    }

    .m-serialization-box-tn {
        width: 100%;
    }

    .m-serialization-box-tn a {
        display: block;
        transition: 0.2s;
    }

    .m-serialization-box-img {
        aspect-ratio: 640 / 320;
    }

    .m-serialization-box-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .m-serialization-box-ttl {
        font-size: 16px;
        line-height: 1.6;
        font-weight: 700;
        color: #000;
        display: block;
        position: relative;
        margin: 4px 0 0 0;
    }

    .m-serialization-box-ttl::after {
        width: 13px;
        height: 12px;
        content: "";
        background: url(/cp/wp-content/themes/swell_child/images/i-next-g.svg) no-repeat;
        position: absolute;
        right: 0;
        top: 8px;
        margin: auto;
        transition: 0.2s;
    }

    .m-serialization-box-c {
        width: 100%;
        padding: 10px 0 0 0;
    }

    .m-serialization-box-et {
        border-left: 1px solid #707070;
        padding: 0 0 0 14px;
    }

    .m-serialization-box-et-ttl {
        font-size: 18px;
        line-height: 1.6;
        font-weight: 400;
        color: #000;
    }

    .m-serialization-box-meta {
        width: 100%;
    }

    .m-serialization-box-number {
        font-size: 18px;
        line-height: 1.6;
        font-weight: 700;
        color: #019e3b;
    }

    .m-serialization-box-time {
        font-size: 12px;
        line-height: 1.6;
        font-weight: 400;
        color: #717171;
        flex: 1;
        padding: 0 0 0 10px;
    }

    .m-serialization-box-next {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        border: 1px solid #fff;
        margin: 20px auto 0 auto;
        position: relative;
        transition: 0.2s;
    }

    .m-serialization-box-next::before {
        width: 13px;
        height: 12px;
        content: "";
        background: url(/cp/wp-content/themes/swell_child/images/i-next-w.svg) no-repeat;
        position: absolute;
        right: 0;
        left: 0;
        top: 0;
        bottom: 0;
        margin: auto;
        transition: 0.2s;
    }

    .m-serialization-box-next::after {
        width: 13px;
        height: 12px;
        content: "";
        background: url(/cp/wp-content/themes/swell_child/images/i-next-g.svg) no-repeat;
        position: absolute;
        right: 0;
        left: 0;
        top: 0;
        bottom: 0;
        margin: auto;
        transition: 0.2s;
        opacity: 0;
    }

    .m-serialization-more {
        margin: 30px 0 0 0;
        text-align: center;
    }

    .m-serialization-more p {
        font-size: 14px;
        line-height: 1.6;
        font-weight: 400;
        max-width: 300px;
        margin: auto;
    }

    .m-serialization-more p a {
        border: 1px solid #019e3b;
        padding: 14px 0 15px 0;
        color: #019e3b;
        display: block;
        border-radius: 100px;
        position: relative;
        transition: 0.2s;
    }

    .m-serialization-more p a::before {
        width: 13px;
        height: 12px;
        content: "";
        background: url(/cp/wp-content/themes/swell_child/images/i-next-g.svg) no-repeat;
        position: absolute;
        right: 26px;
        top: 0;
        bottom: 0;
        margin: auto;
        transition: 0.2s;
    }

    .m-serialization-more p a::after {
        width: 13px;
        height: 12px;
        content: "";
        background: url(/cp/wp-content/themes/swell_child/images/i-next-w.svg) no-repeat;
        position: absolute;
        right: 26px;
        top: 0;
        bottom: 0;
        margin: auto;
        opacity: 0;
        transition: 0.2s;
    }
}

/* --------------------------------------------------------------------- */
/* post */
/* --------------------------------------------------------------------- */

.post-h .m-e-box-meta-cat {
    font-size: 14px;
}

.post-h .m-e-box-meta-times {
    font-size: 14px;
}

.post-h .m-e-box-meta-pr {
    font-size: 12px;
}

.post-h .m-e-box-ttl {
    font-size: 26px;
    font-weight: 700;
}

.post-h-tag {
    margin: 30px 0 0 0;
}

.post-h-tag ul {
    list-style: none;
    font-size: 0;
    flex-wrap: wrap;
    display: flex;
    gap: 8px;
}

.post-h-tag ul li {
    display: inline-flex;
    font-size: 12px;
    line-height: 1;
    min-width: 0;
    box-sizing: border-box;
}

.post-h-tag ul li a {
    display: block;
    padding: 8px 12px 9px 12px;
    border-radius: 40px;
    border: 1px solid #019e3b;
    color: #019e3b;
    transition: 0.2s;
}

@media (hover: hover) and (pointer: fine) {
    .post-h-tag ul li a:hover {
        background: #019e3b;
        color: #fff;
    }
}

.post-authors {
    margin: 60px 0 0 0;
}

.post-authors-box {
    width: 100%;
    background: #f0f0f0;
    border-bottom: 1px solid #707070;
}

.post-authors .post-authors-box:last-child {
    border-bottom: none;
}

.post-authors-box-h a {
    display: block;
    padding: 26px;
    transition: 0.2s;
    position: relative;
}

.post-authors-box-h a::after {
    width: 13px;
    height: 12px;
    content: "";
    background: url(/cp/wp-content/themes/swell_child/images/i-next-g.svg) no-repeat;
    position: absolute;
    right: 26px;
    top: 0;
    bottom: 0;
    margin: auto;
}

@media (hover: hover) and (pointer: fine) {
    .post-authors-box-h a:hover {
        opacity: 0.6;
    }
}

.post-authors-box-h .m-e-box-authors-box-tn p {
    max-width: 50px;
}

.post-authors-box-h .m-e-box-authors-box-name p {
    font-size: 14px;
}

.post-authors-box-b {
    padding: 0 26px 26px 26px;
}

.post-authors-box-b {
    font-size: 12px;
    line-height: 1.8;
    font-weight: 400;
    color: #000;
}

.post-authors-box-b a {
    text-decoration: underline;
}

@media (hover: hover) and (pointer: fine) {
    .post-authors-box-b a:hover {
        text-decoration: none;
    }
}

.post-related {
    margin: 60px 0 0 0;
}

.post-related-ttl {
    font-size: 20px;
    line-height: 1.6;
    font-weight: 700;
    color: #019e3b;
    text-align: center;
}

.post-related-l {
    gap: 40px 0;
    margin: 30px 0 0 0;
}

.post-related-l .m-e-box {
    width: calc(50% - 20px);
}

@media screen and (max-width: 768px) {
    .post-h {
        padding: 0 16px;
    }
    .post-h .m-e-box-meta-cat {
        font-size: 14px;
    }

    .post-h .m-e-box-meta-times {
        font-size: 14px;
    }

    .post-h .m-e-box-meta-pr {
        font-size: 12px;
    }

    .post-h .m-e-box-ttl {
        font-size: 18px;
        font-weight: 700;
    }

    .post-h-tag {
        margin: 20px 0 0 0;
    }

    .post-h-tag ul {
        list-style: none;
        font-size: 0;
        display: flex;
        gap: 8px;
    }

    .post-h-tag ul li {
        display: inline-flex;
        font-size: 11px;
        line-height: 1;
    }

    .post-h-tag ul li a {
        display: block;
        padding: 8px 12px 9px 12px;
        border-radius: 40px;
        border: 1px solid #019e3b;
        color: #019e3b;
        transition: 0.2s;
    }

    .post-authors {
        margin: 60px 0 0 0;
    }

    .post-authors-box {
        background: #f0f0f0;
        border-bottom: 1px solid #707070;
    }

    .post-authors .post-authors-box:last-child {
        border-bottom: none;
    }

    .post-authors-box-h a {
        display: block;
        padding: 26px;
        transition: 0.2s;
        position: relative;
    }

    .post-authors-box-h a::after {
        width: 13px;
        height: 12px;
        content: "";
        background: url(/cp/wp-content/themes/swell_child/images/i-next-g.svg) no-repeat;
        position: absolute;
        right: 26px;
        top: 0;
        bottom: 0;
        margin: auto;
    }

    @media (hover: hover) and (pointer: fine) {
        .post-authors-box-h a:hover {
            opacity: 0.6;
        }
    }

    .post-authors-box-h .m-e-box-authors-box-tn p {
        max-width: 50px;
    }

    .post-authors-box-h .m-e-box-authors-box-name p {
        font-size: 14px;
    }

    .post-authors-box-b {
        padding: 0 26px 26px 26px;
    }

    .post-authors-box-b p {
        font-size: 12px;
        line-height: 1.8;
        font-weight: 400;
        color: #000;
    }

    .post-related {
        margin: 40px 0 0 0;
    }

    .post-related-ttl {
        font-size: 18px;
        line-height: 1.6;
        font-weight: 700;
        color: #019e3b;
        text-align: center;
    }

    .post-related-l {
        gap: 30px 0;
        margin: 20px 0 0 0;
    }

    .post-related-l .m-e-box {
        width: calc(100%);
    }

    .post-related-l .m-e-box .m-e-box-b {
        padding: 7px 16px 0 16px;
    }
}

/* --------------------------------------------------------------------- */
/* authors */
/* --------------------------------------------------------------------- */

.m-authors {
    background: #019e3b;
}

.m-authors-b {
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px 4vw 60px 4vw;
    position: relative;
    box-sizing: unset;
}

.m-authors-ttl {
    font-size: 20px;
    line-height: 1.6;
    font-weight: 700;
    color: #fff;
    text-align: center;
}

.m-authors-c {
    padding: 0 100px;
    position: relative;
}

.m-authors-l {
    margin: 30px 0 0 0;
}

.m-authors-box a {
    display: block;
    transition: 0.2s;
}

@media (hover: hover) and (pointer: fine) {
    .m-authors-box a:hover {
        opacity: 0.6;
    }
}

.m-authors-box-tn {
    max-width: 114px;
    margin: 0 auto;
    aspect-ratio: 160 / 160;
    border-radius: 50%;
    overflow: hidden;
    background: #fff;
}

.m-authors-box-tn img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.m-authors .splide__arrow {
    -ms-flex-align: center;
    align-items: center;
    background: transparent;
    border: 1px solid #fff;
    border-radius: 50%;
    cursor: pointer;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    opacity: 1;
    padding: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    z-index: 1;
}

.m-authors .splide__arrow svg {
    display: none;
}

.m-authors .splide__arrow--prev {
    left: -100px;
}

.m-authors .splide__arrow--next {
    right: -100px;
}

.m-authors .splide__arrow--prev::before {
    content: "";
    width: 13px;
    height: 12px;
    content: "";
    background: url(/cp/wp-content/themes/swell_child/images/i-next-w.svg) no-repeat;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    pointer-events: none;
    transform: scale(-1, 1);
    transition: 0.2s;
}

.m-authors .splide__arrow--prev::after {
    content: "";
    width: 13px;
    height: 12px;
    content: "";
    background: url(/cp/wp-content/themes/swell_child/images/i-next-g.svg) no-repeat;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    pointer-events: none;
    transform: scale(-1, 1);
    opacity: 0;
    transition: 0.2s;
}

.m-authors .splide__arrow--next::before {
    content: "";
    width: 13px;
    height: 12px;
    content: "";
    background: url(/cp/wp-content/themes/swell_child/images/i-next-w.svg) no-repeat;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    pointer-events: none;
    transition: 0.2s;
}

.m-authors .splide__arrow--next::after {
    content: "";
    width: 13px;
    height: 12px;
    content: "";
    background: url(/cp/wp-content/themes/swell_child/images/i-next-g.svg) no-repeat;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    pointer-events: none;
    opacity: 0;
    transition: 0.2s;
}

.m-authors-box-jobname {
    font-size: 13px;
    line-height: 1.7;
    color: #fff;
    text-align: center;
    font-weight: 700;
    margin: 5% 0 0 0;
}

.m-authors-box-name {
    font-size: 14px;
    line-height: 1.7;
    color: #fff;
    text-align: center;
    font-weight: 700;
}

.m-authors-box-desc {
    font-size: 12px;
    line-height: 1.7;
    color: #fff;
    margin: 5% 0 0 0;
}

@media (hover: hover) and (pointer: fine) {
    .m-authors .splide__arrow:hover {
        background: #fff;
    }
    .m-authors .splide__arrow:hover::before {
        opacity: 0;
    }
    .m-authors .splide__arrow:hover::after {
        opacity: 1;
    }
}

@media screen and (max-width: 768px) {
    .m-authors {
        background: #019e3b;
    }

    .m-authors-b {
        max-width: 1200px;
        margin: 0 auto;
        padding: 30px 16px 30px 16px;
        position: relative;
        box-sizing: unset;
    }

    .m-authors-ttl {
        font-size: 20px;
        line-height: 1.6;
        font-weight: 700;
        color: #fff;
        text-align: center;
    }

    .m-authors-c {
        padding: 0 0px;
        position: relative;
    }

    .m-authors-l {
        margin: 30px 0 0 0;
    }

    .m-authors-box a {
        display: block;
        transition: 0.2s;
    }

    .m-authors-box-tn {
        max-width: 114px;
        margin: 0 auto;
        aspect-ratio: 160 / 160;
        border-radius: 50%;
        overflow: hidden;
        background: #fff;
    }

    .m-authors-box-tn img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .m-authors .splide__arrow {
        -ms-flex-align: center;
        align-items: center;
        background: transparent;
        border: 1px solid #fff;
        border-radius: 50%;
        cursor: pointer;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: center;
        justify-content: center;
        opacity: 1;
        padding: 0;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 40px;
        height: 40px;
        z-index: 1;
    }

    .m-authors .splide__arrow svg {
        display: none;
    }

    .m-authors .splide__arrow--prev {
        left: 0px;
    }

    .m-authors .splide__arrow--next {
        right: 0px;
    }

    .m-authors-box-jobname {
        font-size: 13px;
        line-height: 1.7;
        color: #fff;
        text-align: center;
        font-weight: 700;
        margin: 5% 0 0 0;
    }

    .m-authors-box-name {
        font-size: 14px;
        line-height: 1.7;
        color: #fff;
        text-align: center;
        font-weight: 700;
    }

    .m-authors-box-desc {
        font-size: 12px;
        line-height: 1.7;
        color: #fff;
        margin: 5% 80px 0 80px;
    }
}

/* --------------------------------------------------------------------- */
/* edp */
/* --------------------------------------------------------------------- */

.m-edp {
    background: #fff;
}

.m-edp-b {
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px 4vw 60px 4vw;
    position: relative;
    box-sizing: unset;
}

.m-edp-ttl {
    font-size: 20px;
    line-height: 1.6;
    font-weight: 700;
    color: #019e3b;
    text-align: center;
}

.m-edp-l {
    gap: 40px 0;
    margin: 30px 0 0 0;
}

.m-edp-l .m-e-box {
    width: calc(25% - 20px);
}

@media screen and (max-width: 768px) {
    .m-edp {
        background: #fff;
    }

    .m-edp-b {
        max-width: 1200px;
        margin: 0 auto;
        padding: 40px 16px 40px 16px;
        position: relative;
        box-sizing: unset;
    }

    .m-edp-ttl {
        font-size: 18px;
        line-height: 1.6;
        font-weight: 700;
        color: #019e3b;
        text-align: center;
    }

    .m-edp-l {
        gap: 30px 0;
        margin: 20px 0 0 0;
    }

    .m-edp-l .m-e-box {
        width: calc(50% - 10px);
    }

    .m-edp-l .m-e-box .m-e-box-ttl {
        font-size: 15px;
    }
}

/* --------------------------------------------------------------------- */
/* pagenavi */
/* --------------------------------------------------------------------- */

.wp-pagenavi {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    font-size: 13px;
    justify-content: center;
    margin: 3em 0;
    position: relative;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
    display: none;
}

.wp-pagenavi a {
    box-sizing: content-box;
    display: block;
    font-size: 14px;
    height: 36px;
    line-height: 36px;
    margin: 6px;
    min-width: 36px;
    padding: 0;
    position: relative;
    text-align: center;
    text-decoration: none;
    transition: color 0.25s, background-color 0.25s;
    width: auto;
    border-radius: 50%;
    margin: 4px;
    color: var(--color_main);
    border: solid 1px var(--color_main);
}

.wp-pagenavi .extend {
    color: #aaa;
    margin: 0 6px;
}

.wp-pagenavi .current {
    font-size: 14px;
    height: 36px;
    line-height: 36px;
    margin: 6px;
    min-width: 36px;
    text-align: center;
    text-decoration: none;
    transition: color 0.25s, background-color 0.25s;
    width: auto;
    border-radius: 50%;
}

.wp-pagenavi .current,
.wp-pagenavi a:hover {
    background-color: var(--color_main);
    color: #fff;
}

/* --------------------------------------------------------------------- */
/* archive */
/* --------------------------------------------------------------------- */

.ac-l {
    gap: 40px 0;
    margin: 40px 0 0 0;
}

.ac-l .m-e-box {
    width: calc(50% - 20px);
}

.ac-ct-ttl {
    font-size: 28px;
    line-height: 1.6;
    font-weight: 700;
    color: #019e3b;
    text-align: center;
    text-decoration: underline;
    text-underline-offset: 12px;
}

.ac-ct-desc {
    font-size: 14px;
    line-height: 1.8;
    font-weight: 400;
    color: #000;
    text-align: center;
    margin: 30px 0 0 0;
}

.ac-ah {
    background: #f0f0f0;
    padding: 24px 40px;
}

.ac-ah-h-tn p {
    aspect-ratio: 110 / 110;
    max-width: 110px;
    overflow: hidden;
    position: relative;
    border: 1px solid #717171;
    border-radius: 50%;
}

.ac-ah-h-tn p img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ac-ah-h-c {
    flex: 1;
    padding: 0 0 0 20px;
}

.ac-ah-jobname {
    font-size: 14px;
    line-height: 1.7;
    font-weight: 400;
    color: #000;
}

.ac-ah-ttl {
    font-size: 20px;
    line-height: 1.7;
    font-weight: 400;
    color: #000;
}

.ac-ah-desc {
    font-size: 15px;
    line-height: 1.8;
    font-weight: 400;
    color: #000;
    margin: 20px 0 0 0;
}

.ac-ah-desc a {
    text-decoration: underline;
}

@media (hover: hover) and (pointer: fine) {
    .ac-ah-desc a:hover {
        text-decoration: none;
    }
}

.ac-ah-link {
    font-size: 0;
    margin: 20px 0 0 0;
}

.ac-ah-link li {
    width: 35px;
    display: inline-block;
    margin: 0 20px 0 0;
}

.ac-ah-link li a {
    display: block;
    transition: 0.2s;
}

@media (hover: hover) and (pointer: fine) {
    .ac-ah-link li a:hover {
        opacity: 0.6;
    }
}

.ac-ah-listttl {
    font-size: 22px;
    line-height: 1.6;
    font-weight: 700;
    color: #019e3b;
    text-align: center;
    margin: 40px 0 0 0;
}

.ac-ss-h {
    padding: 0 0 20px 0;
}

.ac-ss-h-ttl {
    display: inline-block;
    font-size: 20px;
    line-height: 1;
    font-weight: 700;
    color: #fff;
    background: #019e3b;
    position: relative;
    padding: 13px 34px 14px 34px;
}

.ac-ss-h-ttl::after {
    content: "";
    background: #019e3b;
    height: calc(tan(60deg) * 10px / 2);
    width: 20px;
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
    position: absolute;
    left: 0;
    right: 0;
    bottom: -7px;
    margin: auto;
    transform: rotate(180deg);
}

.ac-ss-tn {
    width: 50%;
}

.ac-ss-b {
    flex: 1;
    padding: 0 0 0 30px;
}

.ac-ss-tn figure {
    aspect-ratio: 460 / 343;
}

.ac-ss-tn.special figure {
    aspect-ratio: 640 / 480;
}

.ac-ss-tn.serialization figure {
    aspect-ratio: 640 / 320;
}

.ac-ss-tn figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ac-ss-ttl {
    font-size: 24px;
    line-height: 1.7;
    font-weight: 700;
    color: #000;
}

.ac-ss-desc {
    font-size: 14px;
    line-height: 1.7;
    font-weight: 400;
    color: #000;
    margin: 10px 0 0 0;
}

.ac-none {
    font-size: 16px;
    line-height: 1.7;
    font-weight: 400;
    padding: 3em 16px;
    text-align: center;
    display: block;
    width: 100%;
    box-sizing: border-box;
}

@media screen and (max-width: 768px) {
    .ac-l {
        gap: 30px 0;
        margin: 30px 0 0 0;
    }

    .ac-l .m-e-box {
        width: calc(100%);
    }

    .ac-h {
        padding: 0 16px;
    }

    .ac-ct-ttl {
        font-size: 18px;
        line-height: 1.6;
        font-weight: 700;
        color: #019e3b;
        text-align: center;
        text-decoration: underline;
        text-underline-offset: 12px;
    }

    .ac-ct-desc {
        font-size: 14px;
        line-height: 1.8;
        font-weight: 400;
        color: #000;
        text-align: left;
        margin: 30px 0 0 0;
    }

    .ac-ah {
        background: #f0f0f0;
        padding: 16px 24px;
    }

    .ac-l .m-e-box-b {
        padding: 7px 16px 0 16px;
    }

    .ac-ah-h-tn p {
        aspect-ratio: 110 / 110;
        max-width: 80px;
        overflow: hidden;
        position: relative;
        border: 1px solid #717171;
        border-radius: 50%;
    }

    .ac-ah-h-tn p img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .ac-ah-h-c {
        flex: 1;
        padding: 0 0 0 20px;
    }

    .ac-ah-jobname {
        font-size: 12px;
        line-height: 1.7;
        font-weight: 400;
        color: #000;
    }

    .ac-ah-ttl {
        font-size: 18px;
        line-height: 1.7;
        font-weight: 400;
        color: #000;
    }

    .ac-ah-desc {
        font-size: 14px;
        line-height: 1.8;
        font-weight: 400;
        color: #000;
        margin: 12px 0 0 0;
    }

    .ac-ah-link {
        font-size: 0;
        margin: 20px 0 0 0;
    }

    .ac-ah-link li {
        width: 35px;
        display: inline-block;
        margin: 0 20px 0 0;
    }

    .ac-ah-link li a {
        display: block;
        transition: 0.2s;
    }

    .ac-ah-listttl {
        font-size: 18px;
        line-height: 1.6;
        font-weight: 700;
        color: #019e3b;
        text-align: center;
        margin: 30px 0 0 0;
    }

    .ac-ss {
        margin: 0 -16px;
    }

    .ac-ss-h {
        padding: 0 0 14px 0;
        text-align: center;
    }

    .ac-ss-h-ttl {
        display: inline-block;
        font-size: 15px;
        line-height: 1;
        font-weight: 700;
        color: #fff;
        background: #019e3b;
        position: relative;
        padding: 9px 28px 10px 28px;
    }

    .ac-ss-h-ttl::after {
        content: "";
        background: #019e3b;
        height: calc(tan(60deg) * 10px / 2);
        width: 20px;
        clip-path: polygon(50% 0, 100% 100%, 0 100%);
        position: absolute;
        left: 0;
        right: 0;
        bottom: -7px;
        margin: auto;
        transform: rotate(180deg);
    }

    .ac-ss-tn {
        width: 100%;
        padding: 0 0 14px 0;
    }

    .ac-ss-b {
        flex: none;
        width: 100%;
        box-sizing: border-box;
        padding: 0 16px 0 16px;
    }

    .ac-ss-tn figure {
        aspect-ratio: 640 / 480;
    }

    .ac-ss-tn figure img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .ac-ss-ttl {
        font-size: 18px;
        line-height: 1.7;
        font-weight: 700;
        color: #000;
    }

    .ac-ss-desc {
        font-size: 14px;
        line-height: 1.8;
        font-weight: 400;
        color: #000;
        margin: 10px 0 0 0;
    }

    .ac-none {
        font-size: 14px;
        line-height: 1.7;
        font-weight: 400;
        padding: 3em 16px;
        text-align: center;
        display: block;
        width: 100%;
        box-sizing: border-box;
    }
}

/* --------------------------------------------------------------------- */
/* m-c-navi */
/* --------------------------------------------------------------------- */

.m-c-navi ul {
    font-size: 0;
    list-style: none;
}
#footer .m-c-navi ul {
    text-align: center;
}

.m-c-navi ul li a {
    color: #fff;
    transition: 0.2s;
    position: relative;
}

@media (hover: hover) and (pointer: fine) {
    .m-c-navi ul li a:hover {
        opacity: 0.6;
    }
}

/* --------------------------------------------------------------------- */
/* m-error */
/* --------------------------------------------------------------------- */

.m-error {
    max-width: 600px;
    margin: 0 auto;
    padding: 50px 0 100px 0;
}

/* --------------------------------------------------------------------- */
/* pk */
/* --------------------------------------------------------------------- */

.m-pk {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0px 4vw 10px 4vw;
    position: relative;
    box-sizing: unset;
}

.m-pk ul {
    font-size: 0;
}

.m-pk ul li {
    font-size: 10px;
    line-height: 1.7;
    font-weight: 400;
    display: inline-block;
    padding: 0 20px 0 0;
    position: relative;
}

.m-pk ul li::before {
    position: absolute;
    top: 3px;
    bottom: 0;
    right: 8px;
    margin: auto;
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    border-top: 1px solid #717171;
    border-right: 1px solid #717171;
    transform: rotate(45deg);
}

.m-pk ul li a {
    color: #717171;
}

.m-pk ul li:last-child::before {
    display: none;
}

@media screen and (max-width: 768px) {
}

/* --------------------------------------------------------------------- */
/* display / inline */
/* --------------------------------------------------------------------- */

.u-db-pc {
    display: block !important;
}

.u-db-sp {
    display: none !important;
}

.u-dib-pc {
    display: inline-block !important;
}

.u-dib-sp {
    display: none !important;
}

.u-di-pc {
    display: inline !important;
}

.u-di-sp {
    display: none !important;
}

@media screen and (max-width: 768px) {
    .u-db-pc {
        display: none !important;
    }

    .u-db-sp {
        display: block !important;
    }

    .u-dib-pc {
        display: none !important;
    }

    .u-dib-sp {
        display: inline-block !important;
    }

    .u-di-pc {
        display: none !important;
    }

    .u-di-sp {
        display: inline !important;
    }

    .js-is-hidden {
        display: none;
    }
}

/* --------------------------------------------------------------------- */
/* flexbox */
/* --------------------------------------------------------------------- */

/* base */

.u-fb {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
}

.u-fb-l {
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
    align-items: stretch;
}

.u-fb-center {
    display: flex;
    flex-direction: column;
}

/* justify-content */

.u-fb-jc-sb {
    justify-content: space-between;
}

.u-fb-jc-s {
    justify-content: start;
}

.u-fb-jc-c {
    justify-content: center;
}

.u-fb-jc-sa {
    justify-content: space-around;
}

.u-fb-jc-se {
    justify-content: space-evenly;
}

/* align-items */

.u-fb-ai-sh {
    align-items: stretch;
}

.u-fb-ai-c {
    align-items: center;
}

.u-fb-ai-s {
    align-items: start;
}

.u-fb-ai-e {
    align-items: end;
}
