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

/* utility.css */

    .u-mt-s-0 {
        margin-top: 0 !important;
    }

    .u-pd-s-0 {
        padding: 0 !important;
    }

    .u-ptb-s-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .u-plr-s-0 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .u-pt-s-0 {
        padding-top: 0 !important;
    }

    .u-pb-s-0 {
        padding-bottom: 0 !important;
    }

    .u-pl-s-0 {
        padding-left: 0 !important;
    }

    .u-pr-s-0 {
        padding-right: 0 !important;
    }

    .u-plr-st-0 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

/* /utility.css */

    .b-eyecatch {
        position: relative;
        height: 66.66vw;
    }

    .b-eyecatch img {
        width: 100vw;
        height: auto;
        position: absolute;
        top: 0;
        left: 50%;
        margin-left: -50vw;
    }

    .b-wrap img {
        display: block;
        width: 100%;
        height: auto;
        margin-top: 16px;
    }

    .b-cts, .b-wrap {align-self: flex-start; }

    .b-cat {
        display: inline-block;
        font-size: 1.3em;
        letter-spacing: 0.18em;
        color: #FFF;
        line-height: 24px;
        border-radius: 12px;
        background: #f17230;
        color: #FFF;
        padding-left: 12px;
        padding-right: 12px;
        margin-right: 1em;
    }

    .b-time {
        font-size: 1.3em;
        letter-spacing: 0.18em;
        line-height: 24px;
        color: #999;
        display: inline-block;
        white-space: nowrap;
    }

    .b-tag {
        font-size: 1.3em;
        letter-spacing: 0.18em;
        color: #999;
    }

    .b-ttl {
        font-size: 2em;
        line-height: 1.8;
        letter-spacing: 0.18em;
        font-weight: 500;
        margin-top: 12px;
    }

    .b-edit h2 {
        font-size: 1.6em;
        line-height: 1.8;
        letter-spacing: 0.18em;
        padding: 12px 3%;
        background: #eee;
        font-weight: 500;
        margin-top: 32px;
    }

    .b-edit h3 {
        font-size: 1.5em;
        line-height: 1.8;
        letter-spacing: 0.18em;
        margin-top: 24px;
        padding-bottom: 10px;
        border-bottom: 1px solid #000;
        font-weight: 500;
    }

    .b-edit h4 {
        border-left: 4px solid #eee;
        padding: 3px 4%;
        font-size: 1.4em;
        font-weight: 500;
        letter-spacing: 0.18em;
        line-height: 1.8;
        margin-top: 20px;
    }

    .b-edit p,
    .b-edit ul,
    .b-edit ol {
        font-size: 1.4em;
        line-height: 2;
        letter-spacing: 0.18em;
        margin-top: 16px;
    }

    .b-edit ul,
    .b-edit ol {
        list-style-position: inside;
        padding-left: 5%;
    }

    .b-edit ul {
        list-style-type: none;
    }

    .b-edit ul li:before {
        content: '';
        display: inline-block;
        width: .5em;
        height: .5em;
        border-radius: 50%;
        background: #ccc;
        margin-right: 1em;
    }

    .b-edit ul.check li:before {
        content: '';
        display: inline-block;
        width: .5em;
        height: 1em;
        border-radius: 0;
        transform: rotate(45deg);
        background: transparent;
        border-right: 1px solid #f17230;
        border-bottom: 1px solid #f17230;
        margin-right: 1em;
    }

    .b-edit ul li,
    .b-edit ol li
    {
        font-size: 1em;
        margin-top: 12px;
        padding-left: 1.5em;
        text-indent: -1.5em;
    }

    .b-edit ul li ol,
    .b-edit ol li ul {
        font-size: 1em;
        margin-top: 8px;
    }

    .b-edit ul li ol li,
    .b-edit ol li ul li {
        font-size: 1em;
        margin-top: 0px;
    }

    .b-edit a {
        color: #f17230;
        text-decoration: underline;
    }

    .b-edit .border-TB,
    .b-edit .border {
        padding: 4px 5% 20px;
        margin-top: 32px;
        margin-bottom: 32px;
        position: relative;
    }

    .b-edit .border-TB ol,
    .b-edit .border-TB ul,
    .b-edit .border ol,
    .b-edit .border ul {
        padding-left: 0;
        padding-right: 0;
    }

    .b-edit .border-TB ol ol,
    .b-edit .border-TB ul ol,
    .b-edit .border-TB ol ul,
    .b-edit .border-TB ul ul,
    .b-edit .border ol ol,
    .b-edit .border ul ol,
    .b-edit .border ol ul,
    .b-edit .border ul ul {
        padding-left: 5%;
        padding-right: 5%;
    }

    .b-edit .border-caption {
        position: absolute;
        top: -1em;
        margin: 0;
        display: inline-block;
        background: #FFF;
    }

    .b-edit .border-TB .border-caption {
        left: 0;
        padding-right: 1em;
        padding-left: 0;
    }

    .b-edit .border .border-caption {
        left: 3%;
        padding-right: 1em;
        padding-left: 1em;
    }

    .b-edit .border-caption:before {
        content: '';
        display: inline-block;
        width: 0;
        height: 0;
        border-top: .52em solid #000;
        border-left: .3em solid transparent;
        border-right: .3em solid transparent;
        border-bottom: .08em solid transparent;
        margin-right: 0.5em;
    }

/*archive*/

    .b-archive .b-cat {
        line-height: 18px;
        border-radius: 9px;
        background: #f17230;
        color: #FFF;
        padding-left: 9px;
        padding-right: 9px;
        white-space: nowrap;
        font-size: 1.2em;
        letter-spacing: 0;
    }

    .b-archive .b-time {
        display: block;
        letter-spacing: 0 !important;
    }

    .b-archive .b-tag {
        display: block;
        letter-spacing: 0 !important;
    }

    .b-archive h3{
        letter-spacing: 0 !important;
        line-height: 1.4em !important;
    }
}

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

/* utility.css */
    .u-plr-st-0 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
/* /utility.css */

    .b-eyecatch {
        position: relative;
        height: 66.66vw;
    }

    .b-eyecatch img {
        width: 100vw;
        height: auto;
        position: absolute;
        top: 0;
        left: 50%;
        margin-left: -50vw;
    }

    .b-wrap img {
        display: block;
        width: 100%;
        height: auto;
        margin-top: 18px;
    }

    .b-cts, .b-wrap {align-self: flex-start;}

    .b-cat {
        display: inline-block;
        font-size: 1.3em;
        letter-spacing: 0.18em;
        color: #FFF;
        line-height: 32px;
        border-radius: 16px;
        background: #f17230;
        color: #FFF;
        padding-left: 16px;
        padding-right: 16px;
        margin-right: 1em;
    }

    .b-cat a {
        color: #FFF;
        text-decoration: none;
    }

    .b-time {
        font-size: 1.3em;
        letter-spacing: 0.18em;
        line-height: 32px;
        color: #999;
        display: inline-block;
    }

    .b-tag {
        font-size: 1.3em;
        letter-spacing: 0.18em;
        color: #999;
    }

    .b-ttl {
        font-size: 2.5em;
        line-height: 1.8;
        letter-spacing: 0.18em;
        font-weight: 500;
        margin-top: 16px;
    }

    .b-edit h2 {
        font-size: 1.8em;
        line-height: 1.8;
        letter-spacing: 0.18em;
        padding: 12px 3%;
        background: #eee;
        font-weight: 500;
        margin-top: 40px;
    }

    .b-edit h3 {
        font-size: 1.6em;
        line-height: 1.8;
        letter-spacing: 0.18em;
        margin-top: 32px;
        padding-bottom: 10px;
        border-bottom: 1px solid #000;
        font-weight: 500;
    }

    .b-edit h4 {
        border-left: 6px solid #eee;
        padding: 3px 2.5%;
        font-size: 1.6em;
        font-weight: 500;
        letter-spacing: 0.18em;
        line-height: 1.8;
        margin-top: 24px;
    }

    .b-edit p,
    .b-edit ul,
    .b-edit ol {
        font-size: 1.5em;
        line-height: 2;
        letter-spacing: 0.18em;
        margin-top: 18px;
    }

    .b-edit ul,
    .b-edit ol {
        list-style-position: inside;
        padding-left: 5%;
    }

    .b-edit ul {
        list-style-type: none;
    }

    .b-edit ul li:before {
        content: '';
        display: inline-block;
        width: .5em;
        height: .5em;
        border-radius: 50%;
        background: #ccc;
        margin-right: 1em;
    }

    .b-edit ul.check li:before {
        content: '';
        display: inline-block;
        width: .5em;
        height: 1em;
        border-radius: 0;
        transform: rotate(45deg);
        background: transparent;
        border-right: 1px solid #f17230;
        border-bottom: 1px solid #f17230;
        margin-right: 1em;
    }

    .b-edit ul li,
    .b-edit ol li {
        font-size: 1em;
        margin-top: 14px;
        padding-left: 1.5em;
        text-indent: -1.5em;
    }

    .b-edit ul li ol,
    .b-edit ol li ul {
        font-size: 1em;
        margin-top: 8px;
    }

    .b-edit ul li ol li,
    .b-edit ol li ul li {
        font-size: 1em;
        margin-top: 0px;
    }

    .b-edit a {
        color: #f17230;
        text-decoration: underline;
    }

    .b-edit .border-TB,
    .b-edit .border {
        padding: 4px 5% 24px;
        margin-top: 40px;
        margin-bottom: 40px;
        position: relative;
    }

    .b-edit .border-TB ol,
    .b-edit .border-TB ul,
    .b-edit .border ol,
    .b-edit .border ul {
        padding-left: 0;
        padding-right: 0;
    }

    .b-edit .border-TB ol ol,
    .b-edit .border-TB ul ol,
    .b-edit .border-TB ol ul,
    .b-edit .border-TB ul ul,
    .b-edit .border ol ol,
    .b-edit .border ul ol,
    .b-edit .border ol ul,
    .b-edit .border ul ul {
        padding-left: 5%;
        padding-right: 5%;
    }

    .b-edit .border-caption {
        position: absolute;
        top: -1em;
        margin: 0;
        display: inline-block;
        background: #FFF;
    }

    .b-edit .border-TB .border-caption {
        left: 0;
        padding-right: 1em;
        padding-left: 0;
    }

    .b-edit .border .border-caption {
        left: 3%;
        padding-right: 1em;
        padding-left: 1em;
    }

    .b-edit .border-caption:before {
        content: '';
        display: inline-block;
        width: 0;
        height: 0;
        border-top: .52em solid #000;
        border-left: .3em solid transparent;
        border-right: .3em solid transparent;
        border-bottom: .08em solid transparent;
        margin-right: 0.5em;
    }

/*archive*/

    .b-archive .b-cat {
        font-size: 1.2em;
        line-height: 18px;
        border-radius: 9px;
        background: #f17230;
        color: #FFF;
        border: 1px solid transparent;
        padding-left: 9px;
        padding-right: 9px;
        white-space: nowrap;
    }

    .b-archive .b-time {
        line-height: 18px;
    }

    .b-archive h3 {
        line-height: 1.8em !important;
    }

}

@media screen and (min-width: 1200px) {

    .b-cts img {
        display: block;
        width: 100%;
        height: auto;
    }

    .b-wrap img {
        margin-top: 24px;
    }

    .b-cts, .b-wrap {align-self: flex-start !important;}

    .b-cat {
        display: inline-block;
        font-size: 1.3em;
        letter-spacing: 0.18em;
        color: #FFF;
        line-height: 32px;
        border-radius: 16px;
        background: #f17230;
        color: #FFF;
        padding-left: 16px;
        padding-right: 16px;
        margin-right: 1em;
    }

    .b-cat a {
        color: #FFF;
        text-decoration: none;
    }

    .b-time {
        font-size: 1.3em;
        letter-spacing: 0.18em;
        line-height: 32px;
        color: #999;
        display: inline-block;
    }

    .b-tag {
        font-size: 1.3em;
        letter-spacing: 0.18em;
        color: #999;
    }

    .b-ttl {
        font-size: 2.8em;
        line-height: 1.8;
        letter-spacing: 0.18em;
        font-weight: 500;
        margin-top: 16px;
    }

    .b-edit h2 {
        font-size: 2em;
        line-height: 1.8;
        letter-spacing: 0.18em;
        padding: 12px 3%;
        background: #eee;
        font-weight: 500;
        margin-top: 48px;
    }

    .b-edit h3 {
        font-size: 1.8em;
        line-height: 1.8;
        letter-spacing: 0.18em;
        margin-top: 40px;
        padding-bottom: 12px;
        border-bottom: 1px solid #000;
        font-weight: 500;
    }

    .b-edit h4 {
        border-left: 6px solid #eee;
        padding: 3px 2.5%;
        font-size: 1.6em;
        font-weight: 500;
        letter-spacing: 0.18em;
        line-height: 1.8;
        margin-top: 32px;
    }

    .b-edit p,
    .b-edit ul,
    .b-edit ol {
        font-size: 1.5em;
        line-height: 2;
        letter-spacing: 0.18em;
        margin-top: 24px;
    }

    .b-edit ul,
    .b-edit ol {
        list-style-position: inside;
        padding-left: 5%;
    }

    .b-edit ul {
        list-style-type: none;
    }

    .b-edit ul li:before {
        content: '';
        display: inline-block;
        width: .5em;
        height: .5em;
        border-radius: 50%;
        background: #ccc;
        margin-right: 1em;
    }

    .b-edit ul.check li:before {
        content: '';
        display: inline-block;
        width: .5em;
        height: 1em;
        border-radius: 0;
        transform: rotate(45deg);
        background: transparent;
        border-right: 1px solid #f17230;
        border-bottom: 1px solid #f17230;
        margin-right: 1em;
    }

    .b-edit ul li,
    .b-edit ol li {
        font-size: 1em;
        margin-top: 16px;
        padding-left: 1.5em;
        text-indent: -1.5em;
    }

    .b-edit ul li ol,
    .b-edit ol li ul {
        font-size: 1em;
        margin-top: 8px;
    }

    .b-edit ul li ol li,
    .b-edit ol li ul li {
        font-size: 1em;
        margin-top: 0px;
    }

    .b-edit a {
        color: #f17230;
        text-decoration: underline;
    }

    .b-edit a:hover {
        color: #f17230;
        text-decoration: none;
    }

    .b-edit strong {
        font-weight: bold;
    }

    .b-edit .underline {
        background: linear-gradient(transparent 50%, #fef1ea 50%);
    }

    .b-edit .border {
        border: 1px dotted #ccc;
    }

    .b-edit .border-TB {
        border-top: 1px dotted #ccc;
        border-bottom: 1px dotted #ccc;
    }

    .b-edit .border-TB,
    .b-edit .border {
        padding: 8px 5% 32px;
        margin-top: 48px;
        margin-bottom: 48px;
        position: relative;
    }

    .b-edit .border-TB ol,
    .b-edit .border-TB ul,
    .b-edit .border ol,
    .b-edit .border ul {
        padding-left: 0;
        padding-right: 0;
    }

    .b-edit .border-TB ol ol,
    .b-edit .border-TB ul ol,
    .b-edit .border-TB ol ul,
    .b-edit .border-TB ul ul,
    .b-edit .border ol ol,
    .b-edit .border ul ol,
    .b-edit .border ol ul,
    .b-edit .border ul ul {
        padding-left: 5%;
        padding-right: 5%;
    }

    .b-edit .border-caption {
        position: absolute;
        top: -1em;
        margin: 0;
        display: inline-block;
        background: #FFF;
    }

    .b-edit .border-TB .border-caption {
        left: 0;
        padding-right: 1em;
        padding-left: 0;
    }

    .b-edit .border .border-caption {
        left: 3%;
        padding-right: 1em;
        padding-left: 1em;
    }

    .b-edit .border-caption:before {
        content: '';
        display: inline-block;
        width: 0;
        height: 0;
        border-top: .52em solid #000;
        border-left: .3em solid transparent;
        border-right: .3em solid transparent;
        border-bottom: .08em solid transparent;
        margin-right: 0.5em;
    }

/*archive*/

    .b-archive .b-cat {
        font-size: 1.2em;
        line-height: 18px;
        border-radius: 9px;
        background: #f17230;
        color: #FFF;
        border: 1px solid transparent;
        padding-left: 9px;
        padding-right: 9px;
        white-space: nowrap;
    }

    .b-archive .b-time {
        line-height: 18px;
    }

    .b-archive h3 {
        line-height: 1.8em !important;
    }

}

    .b-edit a:hover {
        color: #f17230;
        text-decoration: none;
    }

    .b-cat a {
        color: #FFF;
        text-decoration: none;
    }

    .b-tag a {
        color: #999;
        text-decoration: underline;
    }

    .b-tag a:hover {
        text-decoration: none;
    }

    .b-edit strong {
        font-weight: bold;
    }

    .b-edit .underline {
        background: linear-gradient(transparent 50%, #fef1ea 50%);
    }

    .b-edit .border {
        border: 1px dotted #ccc;
    }

    .b-edit .border-TB {
        border-top: 1px dotted #ccc;
        border-bottom: 1px dotted #ccc;
    }


/*archive*/

    .b-archive img {
        display: block;
        width: 100%;
        height: auto;
        margin: 0;
    }

    .b-archive:hover .b-time, .b-archive:hover .b-tag {
        color: #f17230;
    }

/*b-check*/

    .b-check li:before {
        content: '';
        display: inline-block;
        width: .6em;
        height: 1em;
        border-radius: 0;
        transform: rotate(45deg);
        background: transparent;
        border-right: 3px solid #f17230;
        border-bottom: 3px solid #f17230;
        margin-right: 1em;
    }

    .b-check {
        list-style-type: none;
        list-style-position: inside;
    }

    .b-check li {
        padding-left: 1.5em;
        text-indent: -1.5em;
        font-weight: 500;
    }


