@charset "UTF-8";

/* ==========================================================================
   style-responsive.css
   --------------------------------------------------------------------------
   style.css から分離したメディアクエリ専用ファイルです。
   元ファイルでの @media の登場順をそのまま保持しています。

   必ず style.css の後に読み込んでください。
   先に読み込むとベース側に打ち消されて効かなくなります。

   head.twig への記述:
     <link href="THEME_PATH/css/style-responsive.css"
           media="screen" rel="stylesheet" type="text/css">
   ========================================================================== */

@media (min-width: 992px) {
    .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
        float: none;
    }
}

@media (max-width: 1023px) {
    a {
        -webkit-transition: none;
        transition: none
    }
}

@media (min-width: 768px) {
    .l-col-sm, .l-col-sm-1, .l-col-sm-10, .l-col-sm-11, .l-col-sm-12, .l-col-sm-2, .l-col-sm-2_5, .l-col-sm-3, .l-col-sm-4, .l-col-sm-5, .l-col-sm-6, .l-col-sm-7, .l-col-sm-8, .l-col-sm-9 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding-right: 15px;
        padding-left: 15px
    }

    .l-col-sm {
        -webkit-box-flex: 1;
        -ms-flex-preferred-size: 0;
        flex-basis: 0;
        -ms-flex-positive: 1;
        flex-grow: 1;
        max-width: 100%
    }

    .l-col-sm-1 {
        -ms-flex-preferred-size: 8.333%;
        flex-basis: 8.333%;
        max-width: 8.333%
    }

    .l-col-sm-2 {
        -ms-flex-preferred-size: 16.667%;
        flex-basis: 16.667%;
        max-width: 16.667%
    }

    .l-col-sm-2_5 {
        -ms-flex-preferred-size: 20%;
        flex-basis: 20%;
        max-width: 20%
    }

    .l-col-sm-3 {
        -ms-flex-preferred-size: 25%;
        flex-basis: 25%;
        max-width: 25%
    }

    .l-col-sm-4 {
        -ms-flex-preferred-size: 33.333%;
        flex-basis: 33.333%;
        max-width: 33.333%
    }

    .l-col-sm-5 {
        -ms-flex-preferred-size: 41.667%;
        flex-basis: 41.667%;
        max-width: 41.667%
    }

    .l-col-sm-6 {
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
        max-width: 50%
    }

    .l-col-sm-7 {
        -ms-flex-preferred-size: 58.333%;
        flex-basis: 58.333%;
        max-width: 58.333%
    }

    .l-col-sm-8 {
        -ms-flex-preferred-size: 66.667%;
        flex-basis: 66.667%;
        max-width: 66.667%
    }

    .l-col-sm-9 {
        -ms-flex-preferred-size: 75%;
        flex-basis: 75%;
        max-width: 75%
    }

    .l-col-sm-10 {
        -ms-flex-preferred-size: 83.333%;
        flex-basis: 83.333%;
        max-width: 83.333%
    }

    .l-col-sm-11 {
        -ms-flex-preferred-size: 91.667%;
        flex-basis: 91.667%;
        max-width: 91.667%
    }

    .l-col-sm-12 {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%
    }

    .l-col-sm-offset-1 {
        margin-left: 8.333%
    }

    .l-col-sm-offset-2 {
        margin-left: 16.667%
    }

    .l-col-sm-offset-2_5 {
        margin-left: 20%
    }

    .l-col-sm-offset-3 {
        margin-left: 25%
    }

    .l-col-sm-offset-4 {
        margin-left: 33.333%
    }

    .l-col-sm-offset-5 {
        margin-left: 41.667%
    }

    .l-col-sm-offset-6 {
        margin-left: 50%
    }

    .l-col-sm-offset-7 {
        margin-left: 58.333%
    }

    .l-col-sm-offset-8 {
        margin-left: 66.667%
    }

    .l-col-sm-offset-9 {
        margin-left: 75%
    }

    .l-col-sm-offset-10 {
        margin-left: 83.333%
    }

    .l-col-sm-offset-11 {
        margin-left: 91.667%
    }

    .l-start-sm {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        text-align: start
    }

    .l-center-sm {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        text-align: center
    }

    .l-end-sm {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        text-align: end
    }

    .l-top-sm {
        -webkit-box-align: start;
        align-items: flex-start;
        -ms-flex-align: start
    }

    .l-middle-sm {
        -webkit-box-align: center;
        align-items: center;
        -ms-flex-align: center
    }

    .l-bottom-sm {
        -webkit-box-align: end;
        align-items: flex-end;
        -ms-flex-align: end
    }

    .l-around-sm {
        -ms-flex-pack: distribute;
        justify-content: space-around
    }

    .l-between-sm {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .l-first-sm {
        -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
        order: -1
    }

    .l-last-sm {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1
    }
}

@media (min-width: 1024px) {
    .l-col-md, .l-col-md-1, .l-col-md-10, .l-col-md-11, .l-col-md-12, .l-col-md-2, .l-col-md-2_5, .l-col-md-3, .l-col-md-4, .l-col-md-5, .l-col-md-6, .l-col-md-7, .l-col-md-8, .l-col-md-9 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding-right: 15px;
        padding-left: 15px
    }

    .l-col-md {
        -webkit-box-flex: 1;
        -ms-flex-preferred-size: 0;
        flex-basis: 0;
        -ms-flex-positive: 1;
        flex-grow: 1;
        max-width: 100%
    }

    .l-col-md-1 {
        -ms-flex-preferred-size: 8.333%;
        flex-basis: 8.333%;
        max-width: 8.333%
    }

    .l-col-md-2 {
        -ms-flex-preferred-size: 16.667%;
        flex-basis: 16.667%;
        max-width: 16.667%
    }

    .l-col-md-2_5 {
        -ms-flex-preferred-size: 20%;
        flex-basis: 20%;
        max-width: 20%
    }

    .l-col-md-3 {
        -ms-flex-preferred-size: 25%;
        flex-basis: 25%;
        max-width: 25%
    }

    .l-col-md-4 {
        -ms-flex-preferred-size: 33.333%;
        flex-basis: 33.333%;
        max-width: 33.333%
    }

    .l-col-md-5 {
        -ms-flex-preferred-size: 41.667%;
        flex-basis: 41.667%;
        max-width: 41.667%
    }

    .l-col-md-6 {
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
        max-width: 50%
    }

    .l-col-md-7 {
        -ms-flex-preferred-size: 58.333%;
        flex-basis: 58.333%;
        max-width: 58.333%
    }

    .l-col-md-8 {
        -ms-flex-preferred-size: 66.667%;
        flex-basis: 66.667%;
        max-width: 66.667%
    }

    .l-col-md-9 {
        -ms-flex-preferred-size: 75%;
        flex-basis: 75%;
        max-width: 75%
    }

    .l-col-md-10 {
        -ms-flex-preferred-size: 83.333%;
        flex-basis: 83.333%;
        max-width: 83.333%
    }

    .l-col-md-11 {
        -ms-flex-preferred-size: 91.667%;
        flex-basis: 91.667%;
        max-width: 91.667%
    }

    .l-col-md-12 {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%
    }

    .l-col-md-offset-1 {
        margin-left: 8.333%
    }

    .l-col-md-offset-2 {
        margin-left: 16.667%
    }

    .l-col-md-offset-2_5 {
        margin-left: 20%
    }

    .l-col-md-offset-3 {
        margin-left: 25%
    }

    .l-col-md-offset-4 {
        margin-left: 33.333%
    }

    .l-col-md-offset-5 {
        margin-left: 41.667%
    }

    .l-col-md-offset-6 {
        margin-left: 50%
    }

    .l-col-md-offset-7 {
        margin-left: 58.333%
    }

    .l-col-md-offset-8 {
        margin-left: 66.667%
    }

    .l-col-md-offset-9 {
        margin-left: 75%
    }

    .l-col-md-offset-10 {
        margin-left: 83.333%
    }

    .l-col-md-offset-11 {
        margin-left: 91.667%
    }

    .l-start-md {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        text-align: start
    }

    .l-center-md {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        text-align: center
    }

    .l-end-md {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        text-align: end
    }

    .l-top-md {
        -webkit-box-align: start;
        align-items: flex-start;
        -ms-flex-align: start
    }

    .l-middle-md {
        -webkit-box-align: center;
        align-items: center;
        -ms-flex-align: center
    }

    .l-bottom-md {
        -webkit-box-align: end;
        align-items: flex-end;
        -ms-flex-align: end
    }

    .l-around-md {
        -ms-flex-pack: distribute;
        justify-content: space-around
    }

    .l-between-md {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .l-first-md {
        -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
        order: -1
    }

    .l-last-md {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1
    }
}

@media (min-width: 1280px) {
    .l-col-lg, .l-col-lg-1, .l-col-lg-10, .l-col-lg-11, .l-col-lg-12, .l-col-lg-2, .l-col-lg-2_5, .l-col-lg-3, .l-col-lg-4, .l-col-lg-5, .l-col-lg-6, .l-col-lg-7, .l-col-lg-8, .l-col-lg-9 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding-right: 15px;
        padding-left: 15px
    }

    .l-col-lg {
        -webkit-box-flex: 1;
        -ms-flex-preferred-size: 0;
        flex-basis: 0;
        -ms-flex-positive: 1;
        flex-grow: 1;
        max-width: 100%
    }

    .l-col-lg-1 {
        -ms-flex-preferred-size: 8.333%;
        flex-basis: 8.333%;
        max-width: 8.333%
    }

    .l-col-lg-2 {
        -ms-flex-preferred-size: 16.667%;
        flex-basis: 16.667%;
        max-width: 16.667%
    }

    .l-col-lg-2_5 {
        -ms-flex-preferred-size: 16.667%;
        flex-basis: 16.667%;
        max-width: 16.667%
    }

    .l-col-lg-3 {
        -ms-flex-preferred-size: 25%;
        flex-basis: 25%;
        max-width: 25%
    }

    .l-col-lg-4 {
        -ms-flex-preferred-size: 33.333%;
        flex-basis: 33.333%;
        max-width: 33.333%
    }

    .l-col-lg-5 {
        -ms-flex-preferred-size: 41.667%;
        flex-basis: 41.667%;
        max-width: 41.667%
    }

    .l-col-lg-6 {
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
        max-width: 50%
    }

    .l-col-lg-7 {
        -ms-flex-preferred-size: 58.333%;
        flex-basis: 58.333%;
        max-width: 58.333%
    }

    .l-col-lg-8 {
        -ms-flex-preferred-size: 66.667%;
        flex-basis: 66.667%;
        max-width: 66.667%
    }

    .l-col-lg-9 {
        -ms-flex-preferred-size: 75%;
        flex-basis: 75%;
        max-width: 75%
    }

    .l-col-lg-10 {
        -ms-flex-preferred-size: 83.333%;
        flex-basis: 83.333%;
        max-width: 83.333%
    }

    .l-col-lg-11 {
        -ms-flex-preferred-size: 91.667%;
        flex-basis: 91.667%;
        max-width: 91.667%
    }

    .l-col-lg-12 {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%
    }

    .l-col-lg-offset-1 {
        margin-left: 8.333%
    }

    .l-col-lg-offset-2 {
        margin-left: 16.667%
    }

    .l-col-lg-offset-2_5 {
        margin-left: 20%
    }

    .l-col-lg-offset-3 {
        margin-left: 25%
    }

    .l-col-lg-offset-4 {
        margin-left: 33.333%
    }

    .l-col-lg-offset-5 {
        margin-left: 41.667%
    }

    .l-col-lg-offset-6 {
        margin-left: 50%
    }

    .l-col-lg-offset-7 {
        margin-left: 58.333%
    }

    .l-col-lg-offset-8 {
        margin-left: 66.667%
    }

    .l-col-lg-offset-9 {
        margin-left: 75%
    }

    .l-col-lg-offset-10 {
        margin-left: 83.333%
    }

    .l-col-lg-offset-11 {
        margin-left: 91.667%
    }

    .l-start-lg {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        text-align: start
    }

    .l-center-lg {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        text-align: center
    }

    .l-end-lg {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        text-align: end
    }

    .l-top-lg {
        -webkit-box-align: start;
        align-items: flex-start;
        -ms-flex-align: start
    }

    .l-middle-lg {
        -webkit-box-align: center;
        align-items: center;
        -ms-flex-align: center
    }

    .l-bottom-lg {
        -webkit-box-align: end;
        align-items: flex-end;
        -ms-flex-align: end
    }

    .l-around-lg {
        -ms-flex-pack: distribute;
        justify-content: space-around
    }

    .l-between-lg {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .l-first-lg {
        -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
        order: -1
    }

    .l-last-lg {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1
    }
}

@media (min-width: 1680px) {
    .l-col-xlg, .l-col-xlg-1, .l-col-xlg-10, .l-col-xlg-11, .l-col-xlg-12, .l-col-xlg-2, .l-col-xlg-2_5, .l-col-xlg-3, .l-col-xlg-4, .l-col-xlg-5, .l-col-xlg-6, .l-col-xlg-7, .l-col-xlg-8, .l-col-xlg-9 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding-right: 15px;
        padding-left: 15px
    }

    .l-col-xlg {
        -webkit-box-flex: 1;
        -ms-flex-preferred-size: 0;
        flex-basis: 0;
        -ms-flex-positive: 1;
        flex-grow: 1;
        max-width: 100%
    }

    .l-col-xlg-1 {
        -ms-flex-preferred-size: 8.333%;
        flex-basis: 8.333%;
        max-width: 8.333%
    }

    .l-col-xlg-2 {
        -ms-flex-preferred-size: 16.667%;
        flex-basis: 16.667%;
        max-width: 16.667%
    }

    .l-col-xlg-2_5 {
        -ms-flex-preferred-size: 20%;
        flex-basis: 20%;
        max-width: 20%
    }

    .l-col-xlg-3 {
        -ms-flex-preferred-size: 25%;
        flex-basis: 25%;
        max-width: 25%
    }

    .l-col-xlg-4 {
        -ms-flex-preferred-size: 33.333%;
        flex-basis: 33.333%;
        max-width: 33.333%
    }

    .l-col-xlg-5 {
        -ms-flex-preferred-size: 41.667%;
        flex-basis: 41.667%;
        max-width: 41.667%
    }

    .l-col-xlg-6 {
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
        max-width: 50%
    }

    .l-col-xlg-7 {
        -ms-flex-preferred-size: 58.333%;
        flex-basis: 58.333%;
        max-width: 58.333%
    }

    .l-col-xlg-8 {
        -ms-flex-preferred-size: 66.667%;
        flex-basis: 66.667%;
        max-width: 66.667%
    }

    .l-col-xlg-9 {
        -ms-flex-preferred-size: 75%;
        flex-basis: 75%;
        max-width: 75%
    }

    .l-col-xlg-10 {
        -ms-flex-preferred-size: 83.333%;
        flex-basis: 83.333%;
        max-width: 83.333%
    }

    .l-col-xlg-11 {
        -ms-flex-preferred-size: 91.667%;
        flex-basis: 91.667%;
        max-width: 91.667%
    }

    .l-col-xlg-12 {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%
    }

    .l-col-xlg-offset-1 {
        margin-left: 8.333%
    }

    .l-col-xlg-offset-2 {
        margin-left: 16.667%
    }

    .l-col-xlg-offset-3 {
        margin-left: 25%
    }

    .l-col-xlg-offset-4 {
        margin-left: 33.333%
    }

    .l-col-xlg-offset-5 {
        margin-left: 41.667%
    }

    .l-col-xlg-offset-6 {
        margin-left: 50%
    }

    .l-col-xlg-offset-7 {
        margin-left: 58.333%
    }

    .l-col-xlg-offset-8 {
        margin-left: 66.667%
    }

    .l-col-xlg-offset-9 {
        margin-left: 75%
    }

    .l-col-xlg-offset-10 {
        margin-left: 83.333%
    }

    .l-col-xlg-offset-11 {
        margin-left: 91.667%
    }

    .l-start-xlg {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        text-align: start
    }

    .l-center-xlg {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        text-align: center
    }

    .l-end-xlg {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        text-align: end
    }

    .l-top-xlg {
        -webkit-box-align: start;
        align-items: flex-start;
        -ms-flex-align: start
    }

    .l-middle-xlg {
        -webkit-box-align: center;
        align-items: center;
        -ms-flex-align: center
    }

    .l-bottom-xlg {
        -webkit-box-align: end;
        align-items: flex-end;
        -ms-flex-align: end
    }

    .l-around-xlg {
        -ms-flex-pack: distribute;
        justify-content: space-around
    }

    .l-between-xlg {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .l-first-xlg {
        -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
        order: -1
    }

    .l-last-xlg {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1
    }
}

@media (min-width: 640px) {
    .l-grid {
        -ms-flex-line-pack: var(--ac-sm, center);
        align-content: var(--ac-sm, center);
        -webkit-box-align: var(--ai-sm, stretch);
        -ms-flex-align: var(--ai-sm, stretch);
        align-items: var(--ai-sm, stretch);
        -webkit-box-pack: var(--jc-sm, space-evenly);
        -ms-flex-pack: var(--jc-sm, space-evenly);
        justify-content: var(--jc-sm, space-evenly);
        grid-gap: var(--gap-sm, 2rem);
        grid-auto-flow: var(--flow-sm, row);
        grid-auto-columns: var(--auto-cols-sm, auto);
        grid-auto-rows: var(--auto-rows-sm, auto);
        -ms-grid-columns: var(--template-cols-sm, repeat(var(--cols-sm, 2), var(--cols-size-sm, 1fr)));
        grid-template-columns:var(--template-cols-sm, repeat(var(--cols-sm, 2), var(--cols-size-sm, 1fr)));
        -ms-grid-rows: var(--template-rows-sm, none);
        grid-template-rows:var(--template-rows-sm, none);
        justify-items: var(--ji-sm, stretch)
    }

    .l-grid > :first-child {
        -ms-grid-row: 1;
        -ms-grid-column: 1
    }
}

@media (min-width: 860px) {
    .l-grid {
        -ms-flex-line-pack: var(--ac-md, center);
        align-content: var(--ac-md, center);
        -webkit-box-align: var(--ai-md, stretch);
        -ms-flex-align: var(--ai-md, stretch);
        align-items: var(--ai-md, stretch);
        -webkit-box-pack: var(--jc-md, space-evenly);
        -ms-flex-pack: var(--jc-md, space-evenly);
        justify-content: var(--jc-md, space-evenly);
        grid-gap: var(--gap-md, 2rem);
        grid-auto-flow: var(--flow-md, row);
        grid-auto-columns: var(--auto-cols-md, auto);
        grid-auto-rows: var(--auto-rows-md, auto);
        -ms-grid-columns: var(--template-cols-md, repeat(var(--cols-md, 2), var(--cols-size-md, 1fr)));
        grid-template-columns:var(--template-cols-md, repeat(var(--cols-md, 2), var(--cols-size-md, 1fr)));
        -ms-grid-rows: var(--template-rows-md, none);
        grid-template-rows:var(--template-rows-md, none);
        justify-items: var(--ji-md, stretch)
    }

    .l-grid > :first-child {
        -ms-grid-row: 1;
        -ms-grid-column: 1
    }
}

@media (min-width: 1080px) {
    .l-grid {
        -ms-flex-line-pack: var(--ac-lg, center);
        align-content: var(--ac-lg, center);
        -webkit-box-align: var(--ai-lg, stretch);
        -ms-flex-align: var(--ai-lg, stretch);
        align-items: var(--ai-lg, stretch);
        -webkit-box-pack: var(--jc-lg, space-evenly);
        -ms-flex-pack: var(--jc-lg, space-evenly);
        justify-content: var(--jc-lg, space-evenly);
        grid-gap: var(--gap-lg, 2rem);
        grid-auto-flow: var(--flow-lg, row);
        grid-auto-columns: var(--auto-cols-lg, auto);
        grid-auto-rows: var(--auto-rows-lg, auto);
        -ms-grid-columns: var(--template-cols-lg, repeat(var(--cols-lg, 4), var(--cols-size-lg, 1fr)));
        grid-template-columns:var(--template-cols-lg, repeat(var(--cols-lg, 4), var(--cols-size-lg, 1fr)));
        -ms-grid-rows: var(--template-rows-lg, none);
        grid-template-rows:var(--template-rows-lg, none);
        justify-items: var(--ji-lg, stretch)
    }

    .l-grid > :first-child {
        -ms-grid-row: 1;
        -ms-grid-column: 1
    }
}

@media (min-width: 1300px) {
    .l-grid {
        -ms-flex-line-pack: var(--ac-xl, center);
        align-content: var(--ac-xl, center);
        -webkit-box-align: var(--ai-xl, stretch);
        -ms-flex-align: var(--ai-xl, stretch);
        align-items: var(--ai-xl, stretch);
        -webkit-box-pack: var(--jc-xl, space-evenly);
        -ms-flex-pack: var(--jc-xl, space-evenly);
        justify-content: var(--jc-xl, space-evenly);
        grid-gap: var(--gap-xl, 2rem);
        grid-auto-flow: var(--flow-xl, row);
        grid-auto-columns: var(--auto-cols-xl, auto);
        grid-auto-rows: var(--auto-rows-xl, auto);
        -ms-grid-columns: var(--template-cols-xl, repeat(var(--cols-xl, 4), var(--cols-size-xl, 1fr)));
        grid-template-columns:var(--template-cols-xl, repeat(var(--cols-xl, 4), var(--cols-size-xl, 1fr)));
        -ms-grid-rows: var(--template-rows-xl, none);
        grid-template-rows:var(--template-rows-xl, none);
        justify-items: var(--ji-xl, stretch)
    }

    .l-grid > :first-child {
        -ms-grid-row: 1;
        -ms-grid-column: 1
    }
}

@media (min-width: 640px) {
    .l-grid > * {
        -ms-grid-row-align: var(--as-sm, auto);
        align-self: var(--as-sm, auto);
        grid-column: var(--col-sm, auto);
        grid-row: var(--row-sm, auto);
        -ms-grid-column-align: var(--js-sm, auto);
        justify-self: var(--js-sm, auto)
    }
}

@media (min-width: 860px) {
    .l-grid > * {
        -ms-grid-row-align: var(--as-md, auto);
        align-self: var(--as-md, auto);
        grid-column: var(--col-md, auto);
        grid-row: var(--row-md, auto);
        -ms-grid-column-align: var(--js-md, auto);
        justify-self: var(--js-md, auto)
    }
}

@media (min-width: 1080px) {
    .l-grid > * {
        -ms-grid-row-align: var(--as-lg, auto);
        align-self: var(--as-lg, auto);
        grid-column: var(--col-lg, auto);
        grid-row: var(--row-lg, auto);
        -ms-grid-column-align: var(--js-lg, auto);
        justify-self: var(--js-lg, auto)
    }
}

@media (min-width: 1300px) {
    .l-grid > * {
        -ms-grid-row-align: var(--as-xl, auto);
        align-self: var(--as-xl, auto);
        grid-column: var(--col-xl, auto);
        grid-row: var(--row-xl, auto);
        -ms-grid-column-align: var(--js-xl, auto);
        justify-self: var(--js-xl, auto)
    }
}

@media (max-width: 1023px) {
    .l-wrapper:before {
        left: 50px
    }

    .l-wrapper:after {
        right: 50px
    }
}

@media (max-width: 767px) {
    .l-wrapper:before {
        left: 20px;
        display: none
    }

    .l-wrapper:after {
        right: 20px;
        display: none
    }
}

@media (max-width: 1023px) {
    .l-header {
        padding-bottom: 20px
    }
}

@media (max-width: 767px) {
    .l-header {
        padding-top: 20px
    }

    .is-home .l-header {
        padding-top: 20px
    }
}

@media (max-width: 1680px) {
    .is-home .l-header-logo {
        top: 60px
    }
}

@media (max-width: 1023px) {
    .is-home .l-header-logo {
        width: 165px
    }
}

@media (max-width: 767px) {
    .l-header-logo {
        width: 143px
    }

    .is-home .l-header-logo {
        width: 143px
    }
}

@media (max-width: 1023px) {
    .l-header-gnav {
        display: none
    }
}

@media (max-width: 767px) {
    .l-gnav__inner {
        overflow: auto;
        width: 100%;
        padding: 50px 10%
    }
}

@media (max-width: 767px) {
    .l-gnav__menu {
        max-width: 100%;
        margin-bottom: 4vw
    }
}

@media (max-width: 767px) {
    .l-gnav__menu-item {
        font-size: 36px;
        font-size: 9.6vw;
        padding: 0 0 2.1333333333vw
    }
}

@media (max-width: 767px) {
    .l-gnav__menu-child {
        position: static;
        display: none;
        visibility: visible;
        padding-bottom: 10px;
        padding-left: 0.2em;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
        opacity: 1
    }
}

@media (max-width: 767px) {
    .l-gnav__menu-child-item {
        font-size: 14px;
        font-size: 1.4rem;
        font-weight: bold;
        line-height: 2
    }
}

@media (max-width: 767px) {
    .l-gnav__sub-menu {
        margin-bottom: 20px
    }
}

@media (max-width: 767px) {
    .l-gnav__sns {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        align-items: center;
    }
}

@media screen and (min-width: 1024px) {
    .l-gnav-toggle {
        display: none;
    }
}

@media (max-width: 1023px) {
    .l-gnav-toggle {
        right: 10px
    }
}

@media (max-width: 767px) {
    .l-gnav-toggle {
        top: 0;
        right: 0;
        width: 64px;
        height: 56px
    }
}

@media (max-width: 767px) {
    .l-gnav-toggle__inner {
        padding: 23px 20px
    }
}

@media (max-width: 767px) {
    .l-gnav-toggle__bar--2 {
        top: 8px
    }

    .is-gnav-open .l-gnav-toggle__bar--1 {
        top: 5px
    }

    .is-gnav-open .l-gnav-toggle__bar--2 {
        top: 3px
    }
}

@media (max-width: 1023px) {
    .l-container {
        padding-right: 40px;
        padding-left: 40px
    }
}

@media (max-width: 767px) {
    .l-container {
        padding-right: 0;
        padding-left: 0
    }
}

@media (max-width: 1023px) {
    .c-section {
        padding: 100px 0
    }

    .c-section--no-padding {
        padding: 0
    }

    .c-section--no-padding-top {
        padding-top: 0
    }

    .c-section--no-padding-bottom {
        padding-bottom: 0
    }
}

@media (max-width: 767px) {
    .c-section {
        padding: 70px 0
    }

    .c-section--no-padding {
        padding: 0
    }

    .c-section--no-padding-top {
        padding-top: 0
    }

    .c-section--no-padding-bottom {
        padding-bottom: 0
    }
}

@media (max-width: 1023px) {
    .c-section__inner {
        padding: 0 50px
    }
}

@media (max-width: 767px) {
    .c-section__inner {
        padding: 0 20px
    }
}

@media (max-width: 767px) {
    .c-section__header {
        margin-bottom: 30px;
        padding-top: 40px
    }
}

@media (max-width: 767px) {
    .c-slider .slick-arrow {
        z-index: 1000;
        width: 50%;
        height: 100%;
        -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
        transform: translate(0, 0)
    }

    .c-slider .slick-arrow:before {
        position: absolute;
        top: 50%;
        display: block;
        width: 45px;
        height: 65px;
        content: "";
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        background-size: 100%
    }

    .c-slider .slick-prev {
        cursor: none
    }

    .c-slider .slick-prev:before {
        left: 18px;
        background-image: url(/assets/images/common/cursor-prev.cur)
    }

    .c-slider .slick-next {
        cursor: none
    }

    .c-slider .slick-next:before {
        right: 18px;
        background-image: url(/assets/images/common/cursor-next.cur)
    }
}

@media (max-width: 1279px) {
    .c-slider__nav {
        width: 320px;
        height: 100px
    }
}

@media (max-width: 1023px) {
    .c-slider__nav {
        width: 260px;
        height: 80px
    }
}

@media (max-width: 767px) {
    .c-slider__nav {
        position: static;
        width: 100%;
        height: 90px;
        display: block
    }
}

@media (max-width: 1279px) {
    .c-slider__nav-item-prev:before {
        font-size: 13px
    }
}

@media (max-width: 1023px) {
    .c-slider__nav-item-prev {
        padding: 16px 16px 20px 0
    }

    .c-slider__nav-item-prev:before {
        font-size: 11px
    }
}

@media (max-width: 1279px) {
    .c-slider__nav-item-next:before {
        font-size: 13px
    }
}

@media (max-width: 1023px) {
    .c-slider__nav-item-next {
        padding: 16px 0 16px 20px
    }

    .c-slider__nav-item-next:before {
        font-size: 11px
    }
}

@media (max-width: 1023px) {
    .c-slider-center .slick-arrow {
        top: 28%;
        width: 50px;
        height: 50px
    }

    .c-slider-center .slick-arrow:before {
        font-size: 13px;
        font-size: 1.3rem;
        font-weight: 400;
        line-height: 1
    }
}

@media (max-width: 767px) {
    .c-slider-center .slick-arrow {
        top: 25%;
        width: 40px;
        height: 40px
    }

    .c-slider-center .slick-arrow:before {
        font-size: 11px;
        font-size: 1.1rem;
        font-weight: 400;
        line-height: 1
    }
}

@media (max-width: 767px) {
    .c-heading {
        font-size: 36px;
        font-size: 3.6rem;
        font-weight: 400;
        /*line-height: 0.55;*/
        margin: 0 auto 36px
    }
}

@media (max-width: 767px) {
    .c-heading-jp {
        font-size: 12px;
        font-size: 1.2rem;
        font-weight: bold;
        line-height: 0.7;
        margin-top: -20px;
        margin-bottom: 36px
    }
}

@media (max-width: 767px) {
    .c-magazine__date {
        font-size: 14px;
        font-size: 1.4rem;
        font-weight: 400;
        line-height: 1;
        padding-right: 50px
    }

    .c-magazine__date:after {
        width: 30px;
        top: 5px;
        right: 12px
    }
}

@media (max-width: 767px) {
    .c-magazine__category {
        font-size: 14px;
        font-size: 1.4rem;
        font-weight: 400;
        line-height: 1
    }
}

@media (max-width: 1023px) {
    .c-magazine-category-list {
        margin-bottom: 60px
    }
}

@media (max-width: 767px) {
    .c-magazine-category-list {
        max-width: 300px;
        margin: 0 auto 30px
    }
}

@media (max-width: 767px) {
    .c-magazine-category-list__item a {
        padding: 10px 0;
        display: block
    }
}

@media (max-width: 1023px) {
    .c-magazine-list {
        margin: 0 -30px -100px
    }

    .c-magazine-list .c-magazine-list__item {
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
        max-width: 50%;
        padding: 0 30px;
        margin-bottom: 0
    }
}

@media (max-width: 767px) {
    .c-magazine-list {
        margin: 0 0 -50px
    }

    .c-magazine-list .c-magazine-list__item {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%;
        padding: 0;
        margin-bottom: 0
    }
}

@media (max-width: 767px) {
    .c-magazine-list__text-box {
        padding: 37px 0 50px
    }
}

@media (max-width: 767px) {
    .c-magazine-list__number {
        top: -25px;
        font-size: 80px;
        font-size: 8rem;
        font-weight: 400;
        line-height: 1
    }
}

@media (max-width: 767px) {
    .c-magazine-list__title {
        font-size: 14px;
        font-size: 1.4rem;
        font-weight: bold;
        line-height: 2
    }
}

@media (max-width: 767px) {
    .c-product-link {
        margin-bottom: 32px
    }
}

@media (max-width: 767px) {
    .c-product-link__item {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%;
        aspect-ratio: 16/9;
    }
}

@media (max-width: 1023px) {
    .c-product-link__number {
        font-size: 100px;
        font-size: 10rem;
        font-weight: 400;
        line-height: 1.5;
    }
}

@media (max-width: 767px) {
    .c-product-link__number {
        font-size: 80px;
        font-size: 8rem;
        font-weight: 400;
        line-height: 1;
        top: 50%;
        left: 50%;
        margin-top: -70px;
    }
}

@media (max-width: 1023px) {
    .c-product-link__border {
        height: 15%
    }
}

@media (max-width: 767px) {
    .c-product-link__border {
        display: none
    }
}

@media (max-width: 1023px) {
    .c-product-link__title {
        font-size: 28px;
        font-size: 2.8rem;
        font-weight: 400;
        line-height: 1
    }

    .c-product-link__title span {
        font-size: 12px;
        font-size: 1.2rem;
        font-weight: bold;
        line-height: 1.5
    }
}

@media (max-width: 767px) {
    .c-product-link__title {
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        font-size: 28px;
        font-size: 2.8rem;
        font-weight: 400;
        line-height: 1;
        top: 50%;
        margin-top: 30px
    }

    .c-product-link__title span {
        font-size: 12px;
        font-size: 1.2rem;
        font-weight: bold;
        line-height: 2
    }
}

@media (max-width: 767px) {
    .c-product-link__image {
        height: 45.5696202532vw;
        overflow: hidden;
        position: relative;
        height: auto;
        aspect-ratio: 16/9;
    }

    .c-product-link__image img {
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        position: absolute;
        top: 50%;
        z-index: 1
    }
}

@media (max-width: 1023px) {
    .c-sns-box__heading {
        font-size: 13px;
        font-size: 1.3rem;
        font-weight: 400;
        line-height: 1
    }
}

@media (max-width: 767px) {
    .c-sns-box__heading {
        font-size: 12px;
        font-size: 1.2rem;
        font-weight: 400;
        line-height: 1
    }
}

@media (max-width: 1023px) {
    .c-sns-box__list-item {
        font-size: 13px;
        font-size: 1.3rem;
        font-weight: 400;
        line-height: 0.1
    }
}

@media (max-width: 767px) {
    .c-sns-box__list-item {
        font-size: 12px;
        font-size: 1.2rem;
        font-weight: 400;
        line-height: 0.1
    }

    .c-sns-box__list-item a {
        height: 40px
    }

    .c-sns-box__list-item a i {
        left: 10px
    }
}

@media (max-width: 767px) {
    .c-decoration__bg-icon-top {
        height: 30px
    }
}

@media (max-width: 767px) {
    .c-decoration__bg-icon-bottom {
        height: 30px
    }

    .c-decoration__bg-icon-bottom--white-pc {
        background-color: #003476
    }
}

@media (max-width: 1023px) {
    .c-pagenavi {
        width: calc(100% + 20px);
        margin-left: -10px;
        padding-top: 30px
    }

    .c-pagenavi .wp-pagenavi {
        font-size: 12px;
        font-size: 1.2rem;
        font-weight: 400;
        line-height: 1
    }

    .c-pagenavi .page {
        height: 40px;
        max-width: 40px;
        -ms-flex-preferred-size: 40px;
        flex-basis: 40px;
        margin: 0
    }

    .c-pagenavi .current {
        height: 40px;
        max-width: 40px;
        -ms-flex-preferred-size: 40px;
        flex-basis: 40px;
        margin: 0
    }

    .c-pagenavi .previouspostslink {
        height: 40px;
        max-width: 40px;
        -ms-flex-preferred-size: 40px;
        flex-basis: 40px;
        margin-right: 10px
    }

    .c-pagenavi .nextpostslink {
        height: 40px;
        max-width: 40px;
        -ms-flex-preferred-size: 40px;
        flex-basis: 40px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        margin-left: 10px
    }
}

@media (max-width: 767px) {
    .c-pagenavi {
        width: calc(100% + 14px);
        margin-left: -7px;
        padding-top: 20px
    }

    .c-pagenavi .wp-pagenavi {
        font-size: 10px;
        font-size: 1rem;
        font-weight: 400;
        line-height: 1
    }

    .c-pagenavi .page {
        height: 30px;
        max-width: 30px;
        -ms-flex-preferred-size: 30px;
        flex-basis: 30px
    }

    .c-pagenavi .current {
        height: 30px;
        max-width: 30px;
        -ms-flex-preferred-size: 30px;
        flex-basis: 30px
    }

    .c-pagenavi .previouspostslink {
        height: 30px;
        max-width: 30px;
        -ms-flex-preferred-size: 30px;
        flex-basis: 30px
    }

    .c-pagenavi .nextpostslink {
        height: 30px;
        max-width: 30px;
        -ms-flex-preferred-size: 30px;
        flex-basis: 30px
    }
}

@media (max-width: 767px) {
    .c-form-required {
        right: 0
    }
}

@media (max-width: 767px) {
    .c-form-any {
        right: 0
    }
}

@media (max-width: 767px) {
    .form-group {
        padding: 15px 10px;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start
    }
}

@media (max-width: 767px) {
    .form-group > .col-sm-3 {
        max-width: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        font-size: 14px;
        font-size: 1.4rem;
        font-weight: 400;
        line-height: 1.4;
        margin-bottom: 15px
    }
}

@media (max-width: 767px) {
    .form-group > .col-sm-9 {
        font-size: 14px;
        font-size: 1.4rem;
        font-weight: 400;
        line-height: 1.4;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%
    }

    .form-group > .col-sm-9 input {
        padding: 10px;
        -ms-flex-preferred-size: 100%;
        /* flex-basis: 100%; */
        max-width: 100%;
        width: 100%
    }

    .form-group > .col-sm-9 textarea {
        height: 140px
    }
}

@media (max-width: 767px) {
    .mwform-radio-field.horizontal-item {
        margin: 0 0 5px
    }

    .mwform-radio-field.horizontal-item input {
        position: relative;
        -webkit-appearance: button;
        -moz-appearance: button;
        appearance: button;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        width: 16px;
        height: 16px;
        border: 1px solid #EEEEEE;
        background-color: #F9F9F9;
        border-radius: 50%;
        vertical-align: middle;
        cursor: pointer;
        padding: 0
    }

    .mwform-radio-field.horizontal-item input:checked:after {
        display: block;
        position: absolute;
        top: 2px;
        left: 2px;
        content: "";
        width: 10px;
        height: 10px;
        background: #003476;
        border-radius: 50%
    }
}

@media (max-width: 767px) {
    .mw_wp_form .horizontal-item + .horizontal-item {
        margin: 0 0 5px
    }
}

@media (max-width: 767px) {
    .c-form__select-wrap:after {
        font-size: 10px;
        font-size: 1rem;
        font-weight: 400;
        line-height: 1;
        right: 8px;
        top: 22px
    }
}

@media (max-width: 767px) {
    select {
        font-size: 14px;
        font-size: 1.4rem;
        font-weight: 400;
        line-height: 1;
        height: 42px
    }
}

@media (max-width: 767px) {
    .box-footer {
        margin-bottom: 20px
    }

    .box-footer:last-child {
        margin-bottom: 0
    }
}

@media (max-width: 767px) {
    .c-side-nav {
        display: none
    }
}

@media (max-width: 1023px) {
    .c-side-language {
        left: 45px
    }
}

@media (max-width: 767px) {
    .c-side-language {
        position: fixed;
        left: 18px;
        top: 24px
    }

    .c-side-language li {
        font-size: 16px;
        font-size: 1.6rem;
        font-weight: 400;
        line-height: 1
    }

    .c-side-language li.current {
        opacity: 1
    }
}

@media (max-width: 1023px) {
    .c-side-sns {
        left: 18px;
        bottom: 20px
    }
}

@media (max-width: 767px) {
    .c-side-sns {
        display: none
    }
}

@media (max-width: 767px) {
    .p-top-kv {
    }
}

@media (max-width: 1023px) {
    .p-top-kv__inner {
        margin: 0 50px
    }
}

@media (max-width: 767px) {
    .p-top-kv__inner {
        margin: 0 20px
    }
}

@media (max-width: 767px) {
    .p-top-kv__image {
        height: 113.8666666667vw
    }

    .p-top-kv__image--pc {
        display: none
    }

    .p-top-kv__image--sp {
        display: block
    }
}

@media (max-width: 767px) {
    .p-top-kv__copy {
        width: 98.4vw
    }
}

@media (max-width: 767px) {
    .p-top-kv__copy-back {
        width: 98.4vw
    }
}

@media (max-width: 767px) {
    .p-top-magazine {
        padding-bottom: 40px
    }
}

@media (max-width: 767px) {
    .p-top-magazine__lead {
        font-size: 14px;
        font-size: 1.4rem;
        font-weight: bold;
        line-height: 1.8;
        margin-bottom: 35px
    }
}

@media (max-width: 767px) {
    .p-top-magazine__image {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%
    }
}

@media (max-width: 1023px) {
    .p-top-magazine__box {
        padding: 0 40px 0
    }
}

@media (max-width: 767px) {
    .p-top-magazine__box {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%;
        padding: 38px 0 0
    }
}

@media (max-width: 767px) {
    .p-top-magazine__meta {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }
}

@media (max-width: 1023px) {
    .p-top-magazine__title {
        font-size: 18px;
        font-size: 1.8rem;
        font-weight: bold;
        line-height: 1.6;
        margin-bottom: 10px
    }
}

@media (max-width: 767px) {
    .p-top-magazine__title {
        font-size: 16px;
        font-size: 1.6rem;
        font-weight: bold;
        line-height: 1.8;
        margin-bottom: 12px
    }
}

@media (max-width: 1023px) {
    .p-top-magazine__text {
        margin-bottom: 20px
    }
}

@media (max-width: 767px) {
    .p-top-magazine__text {
        font-size: 12px;
        font-size: 1.2rem;
        font-weight: 400;
        line-height: 2;
        margin-bottom: 30px
    }
}

@media (max-width: 1023px) {
    .p-top-magazine__number {
        font-size: 180px;
        font-size: 18rem;
        font-weight: 400;
        line-height: 1;
        top: -80px
    }
}

@media (max-width: 767px) {
    .p-top-magazine__number {
        font-size: 144px;
        font-size: 14.4rem;
        font-weight: 400;
        line-height: 1;
        top: 43.4666666667vw
    }
}

@media (max-width: 767px) {
    .p-top-magazine-list__button-wrap {
        padding: 0 20px
    }
}

@media (max-width: 767px) {
    .p-top-product__header {
        margin-bottom: 33px
    }
}

@media (max-width: 767px) {
    .p-top-product__copy {
        font-size: 20px;
        font-size: 2rem;
        font-weight: 400;
        line-height: 1.4;
        margin-bottom: 15px
    }
}

@media (max-width: 767px) {
    .p-top-product__text {
        font-size: 12px;
        font-size: 1.2rem;
        font-weight: 400;
        line-height: 2;
        padding: 0 10px;
        text-align: left
    }
}

@media (max-width: 767px) {
    .p-top-news__header {
        margin-bottom: 22px
    }
}

@media (max-width: 767px) {
    .p-top-news__list .blog_list {
        margin: 0 0 30px;
        border-top: 1px solid #e1e1e1
    }
}

@media (max-width: 767px) {
    .p-top-news__item .blog_listbox {
        border-right: none;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%;
        padding: 30px 0 25px;
        border-bottom: 1px solid #e1e1e1
    }
}

@media (max-width: 767px) {
    .p-top-news__category {
        margin-right: 0
    }
}

@media (max-width: 767px) {
    .p-top-news__title {
        font-size: 12px;
        font-size: 1.2rem;
        font-weight: 400;
        line-height: 1.8;
        margin-top: 5px;
        letter-spacing: 0
    }
}

@media (max-width: 767px) {
    .p-top-link {
        margin: 0 -20px;
        padding-bottom: 0
    }
}

@media (max-width: 767px) {
    .p-top-link__list {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

@media (max-width: 767px) {
    .p-top-link__item {
        position: relative;
        overflow: hidden;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%;
        height: 227px
    }
}

@media (max-width: 767px) {
    .p-top-link__image {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 100%;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%)
    }
}

@media (max-width: 767px) {
    .p-top-link__bg {
        display: none
    }
}

@media (max-width: 767px) {
    .p-top-shop__text {
        font-size: 12px;
        font-size: 1.2rem;
        font-weight: 400;
        line-height: 2;
        margin-top: 25px;
        padding: 0 10px;
        text-align: left
    }
}

@media (max-width: 767px) {
    .p-top-shop__button-wrap {
        margin-top: 30px
    }
}

@media (max-width: 767px) {
    .p-top-contact__text {
        font-size: 12px;
        font-size: 1.2rem;
        font-weight: bold;
        line-height: 2;
        margin-bottom: 32px;
        letter-spacing: 0
    }
}

@media (max-width: 767px) {
    .p-magazine-detail__kv-image {
        height: 85.3333333333vw
    }

    .p-magazine-detail__kv-image--pc {
        display: none
    }

    .p-magazine-detail__kv-image--sp {
        display: block
    }
}

@media (max-width: 1023px) {
    .p-magazine-detail__header {
        padding: 75px 0 50px
    }
}

@media (max-width: 767px) {
    .p-magazine-detail__header {
        padding: 55px 0 30px
    }
}

@media (max-width: 1023px) {
    .p-magazine-detail__title {
        font-size: 24px;
        font-size: 2.4rem;
        font-weight: 700;
        line-height: 1.3
    }
}

@media (max-width: 767px) {
    .p-magazine-detail__title {
        font-size: 20px;
        font-size: 2rem;
        font-weight: 700;
        line-height: 1.3
    }

    .p-magazine-detail__title br {
        display: none
    }
}

@media (max-width: 767px) {
    .p-magazine-detail__sns-box--top {
        margin-bottom: 30px
    }
}

@media (max-width: 767px) {
    .p-magazine-detail__body {
        margin-bottom: 30px
    }

    .p-magazine-detail__body p {
        font-size: 12px;
        font-size: 1.2rem;
        margin-bottom: 30px
    }

    .p-magazine-detail__body h2 {
        font-size: 24px;
        font-size: 2.4rem;
        margin-bottom: 20px
    }

    .p-magazine-detail__body h3 {
        font-size: 22px;
        font-size: 2.2rem;
        margin-bottom: 20px
    }

    .p-magazine-detail__body h4 {
        font-size: 20px;
        font-size: 2rem;
        margin-bottom: 20px
    }

    .p-magazine-detail__body h5 {
        font-size: 18px;
        font-size: 1.8rem;
        margin-bottom: 20px
    }

    .p-magazine-detail__body h6 {
        font-size: 16px;
        font-size: 1.6rem;
        margin-bottom: 20px
    }

    .p-magazine-detail__body figure {
        margin-bottom: 30px
    }

    .p-magazine-detail__body p + figure {
        margin-top: 40px
    }

    .p-magazine-detail__body figcaption {
        font-size: 12px;
        font-size: 1.2rem;
        margin-top: 5px
    }
}

@media (max-width: 767px) {
    .p-magazine-detail__info {
        margin: 40px auto 0;
        padding: 30px 18%
    }
}

@media (max-width: 767px) {
    .p-magazine-detail__info-image {
        margin-bottom: 30px
    }
}

@media (max-width: 767px) {
    .p-magazine-detail__info-title {
        font-size: 18px;
        font-size: 1.8rem
    }
}

@media (max-width: 767px) {
    .p-news-category {
        margin-bottom: 20px
    }
}

@media (max-width: 767px) {
    .p-news-category__item {
        -ms-flex-preferred-size: 33.333333%;
        flex-basis: 33.333333%;
        max-width: 33.333333%;
        font-size: 16px;
        font-size: 1.6rem;
        font-weight: 400;
        line-height: 0.8
    }

    .p-news-category__item a {
        padding: 10px
    }
}

@media (max-width: 1023px) {
    .p-news-list {
        margin-bottom: 40px
    }
}

@media (max-width: 767px) {
    .p-news-list {
        margin-bottom: 30px
    }
}

@media (max-width: 767px) {
    .p-news-list__item a {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        padding: 20px 30px 20px 0
    }
}

@media (max-width: 767px) {
    .p-news-list__category {
        margin-right: 0
    }
}

@media (max-width: 767px) {
    .p-news-list__title {
        font-size: 12px;
        font-size: 1.2rem;
        font-weight: 400;
        line-height: 1.8;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%;
        padding-top: 5px;
        padding-left: 0
    }
}

@media (max-width: 1023px) {
    .p-news-detail__header {
        margin-bottom: 30px
    }
}

@media (max-width: 767px) {
    .p-news-detail__header {
        margin-bottom: 25px
    }
}

@media (max-width: 767px) {
    .p-news-detail__header-info {
        margin-bottom: 10px
    }
}

@media (max-width: 767px) {
    .p-news-detail__category {
        margin-left: 10px
    }
}

@media (max-width: 767px) {
    .p-news-detail__title {
        font-size: 18px;
        font-size: 1.8rem;
        font-weight: 400;
        line-height: 1.5
    }
}

@media (max-width: 767px) {
    .p-news-detail__body {
        margin-bottom: 40px
    }

    .p-news-detail__body img {
        max-width: 100%;
        margin-bottom: 20px
    }

    .p-news-detail__body p {
        font-size: 13px;
        font-size: 1.3rem;
        font-weight: 400;
        line-height: 1.8;
        margin-bottom: 20px;
        letter-spacing: 0.08em
    }
}

@media (max-width: 1023px) {
    .p-story__item {
        padding: 80px 80px 100px
    }
}

@media (max-width: 767px) {
    .p-story__item {
        padding: 50px 20px 60px
    }

    .p-story__item--01 {
        padding-bottom: 240px
    }
}

@media (max-width: 1023px) {
    .p-story__number {
        font-size: 20px;
        font-size: 2rem;
        font-weight: 400;
        line-height: 0.8;
        margin: 0 auto 10px
    }

    .p-story__number span {
        font-size: 95px;
        font-size: 9.5rem;
        font-weight: 400;
        line-height: 0.8
    }
}

@media (max-width: 767px) {
    .p-story__number {
        margin: 0 auto
    }
}

@media (max-width: 1023px) {
    .p-story__item-text-box {
        -ms-flex-preferred-size: 600px;
        flex-basis: 600px;
        max-width: 600px
    }
}

@media (max-width: 767px) {
    .p-story__item-text-box {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%
    }
}

@media (max-width: 1023px) {
    .p-story__heading {
        font-size: 23px;
        font-size: 2.3rem;
        font-weight: 400;
        line-height: 1.5
    }
}

@media (max-width: 767px) {
    .p-story__heading {
        font-size: 22px;
        font-size: 2.2rem;
        font-weight: 400;
        line-height: 1.4
    }
}

@media (max-width: 767px) {
    .p-story__text {
        font-size: 13px;
        font-size: 1.3rem;
        font-weight: 400;
        line-height: 1.8
    }
}

@media (max-width: 1023px) {
    .p-story__image-bg {
        width: 34.2130987292vw;
        max-width: auto
    }

    .p-story__image-bg .p-story__image-bg-caption {
        width: 100%;
        text-align: center
    }

    .p-story__image-bg--left {
        left: 0
    }

    .p-story__image-bg--left .p-story__image-bg-caption {
        right: 0
    }

    .p-story__image-bg--right {
        right: 0
    }

    .p-story__image-bg--right .p-story__image-bg-caption {
        left: 0
    }
}

@media (max-width: 767px) {
    .p-story__image-bg {
        width: 180px
    }
}

@media (max-width: 1023px) {
    .p-story__image {
        -ms-flex-preferred-size: 300px;
        flex-basis: 300px;
        max-width: 300px;
        padding: 0;
        margin-top: 50px
    }
}

@media (max-width: 767px) {
    .p-story__image {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%
    }
}

@media (max-width: 1023px) {
    .p-product__kv {
        padding: 80px 50px
    }
}

@media (max-width: 767px) {
    .p-product__kv {
        padding: 40px 20px
    }
}

@media (max-width: 1023px) {
    .p-product__kv__copy {
        width: 90%
    }
}

@media (max-width: 767px) {
    .p-product__kv__copy {
        width: 100%
    }
}

@media (max-width: 767px) {
    .p-product__kv-since {
        font-size: 20px;
        font-size: 2rem;
        font-weight: 400;
        line-height: 1;
        margin-top: 5%
    }
}

@media (max-width: 767px) {
    .p-product__kv-heading {
        font-size: 26px;
        font-size: 2.6rem;
        font-weight: bold;
        line-height: 1.4;
        margin-bottom: 30px;
        text-align: center
    }
}

@media (max-width: 767px) {
    .p-product__kv-heading-sub {
        font-size: 15px;
        font-size: 1.5rem;
        font-weight: bold;
        line-height: 1.4;
        margin-bottom: 15px
    }
}

@media (max-width: 767px) {
    .p-product__kv-text {
        font-size: 13px;
        font-size: 1.3rem;
        font-weight: 400;
        line-height: 1.8;
        text-align: left
    }
}

@media (max-width: 1023px) {
    .p-product-link {
        padding: 70px 0
    }
}

@media (max-width: 767px) {
    .p-product-link {
        padding: 70px 0
    }

    .p-product-link .c-product-link {
        margin-bottom: 0
    }
}

@media (max-width: 1023px) {
    .p-product-quality__body {
        padding-bottom: 0
    }
}

@media (max-width: 767px) {
    .p-product-quality__item {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

@media (max-width: 767px) {
    .p-product-quality__image {
        position: static;
        width: 100%;
        height: 200px
    }
}

@media (max-width: 1023px) {
    .p-product-quality__inner {
        margin-top: 100px;
        margin-bottom: 100px;
        padding-right: 110px
    }

    .is-reverse .p-product-quality__inner {
        padding-left: 110px
    }
}

@media (max-width: 767px) {
    .p-product-quality__inner {
        margin-top: 30px;
        margin-bottom: 40px;
        margin-left: 20px;
        padding-right: 70px
    }

    .is-reverse .p-product-quality__inner {
        margin-right: 20px;
        padding-left: 70px
    }
}

@media (max-width: 767px) {
    .p-product-quality__number {
        width: 40px;
        margin-bottom: 20px;
        padding: 10px 0 15px
    }
}

@media (max-width: 767px) {
    .p-product-quality__heading {
        font-size: 50px;
        font-size: 5rem;
        font-weight: 400;
        line-height: 1;
        top: 65px;
        -webkit-transform: rotate(90deg) translate(-1em, 11px);
        -ms-transform: rotate(90deg) translate(-1em, 11px);
        transform: rotate(90deg) translate(-1em, 11px)
    }
}

@media (max-width: 767px) {
    .p-product-quality__copy {
        font-size: 20px;
        font-size: 2rem;
        font-weight: 400;
        line-height: 1.5;
        margin-bottom: 10px
    }
}

@media (max-width: 767px) {
    .p-product-quality__text {
        font-size: 12px;
        font-size: 1.2rem;
        font-weight: 400;
        line-height: 1.8
    }
}

@media (max-width: 1023px) {
    .p-product-process__kv {
        height: auto;
        padding: 140px 100px 100px
    }
}

@media (max-width: 767px) {
    .p-product-process__kv {
        padding: 70px 20px 55px
    }
}

@media (max-width: 1023px) {
    .p-product-process__kv-category {
        font-size: 20px;
        font-size: 2rem;
        font-weight: 400;
        line-height: 1;
        top: 70px
    }
}

@media (max-width: 767px) {
    .p-product-process__kv-category {
        font-size: 12px;
        font-size: 1.2rem;
        font-weight: 400;
        line-height: 1;
        top: 30px;
        padding-bottom: 3px;
        border-bottom: 1px solid #fff
    }
}

@media (max-width: 1023px) {
    .p-product-process__kv-heading {
        font-size: 60px;
        font-size: 6rem;
        font-weight: bold;
        line-height: 1
    }

    .p-product-process__kv-heading span {
        font-size: 20px;
        font-size: 2rem;
        font-weight: bold;
        line-height: 1;
        padding-bottom: 5px
    }
}

@media (max-width: 767px) {
    .p-product-process__kv-heading {
        font-size: 26px;
        font-size: 2.6rem;
        font-weight: bold;
        line-height: 1
    }

    .p-product-process__kv-heading span {
        font-size: 13px;
        font-size: 1.3rem;
        font-weight: bold;
        line-height: 1;
        padding-bottom: 5px
    }
}

@media (max-width: 1023px) {
    .p-product-process__item-inner {
        padding: 60px 80px 80px
    }
}

@media (max-width: 767px) {
    .p-product-process__item-inner {
        padding: 30px 20px 60px
    }
}

@media (max-width: 767px) {
    .p-product-process__header {
        margin-bottom: 20px
    }
}

@media (max-width: 767px) {
    .p-product-process__number {
        font-size: 50px;
        font-size: 5rem;
        font-weight: 400;
        line-height: 1;
        margin-right: 15px
    }

    .p-product-process__number span {
        font-size: 12px;
        font-size: 1.2rem;
        font-weight: 400;
        line-height: 1;
        display: block
    }
}

@media (max-width: 767px) {
    .p-product-process__title {
        font-size: 24px;
        font-size: 2.4rem;
        font-weight: bold;
        line-height: 1
    }
}

@media (max-width: 767px) {
    .p-product-process__heading {
        font-size: 18px;
        font-size: 1.8rem;
        font-weight: bold;
        line-height: 1.5
    }
}

@media (max-width: 1023px) {
    .p-product-process__text {
        margin-bottom: 30px
    }
}

@media (max-width: 767px) {
    .p-product-process__text {
        font-size: 12px;
        font-size: 1.2rem;
        font-weight: 400;
        line-height: 1.8;
        margin-bottom: 20px
    }
}

@media (max-width: 1023px) {
    .p-product-process__image {
        padding: 0
    }
}

@media (max-width: 1023px) {
    .p-product-process__image-number {
        width: 150px
    }
}

@media (max-width: 767px) {
    .p-product-process__image-number {
        top: 20px;
        right: -10px;
        left: auto;
        width: 100px;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0)
    }

    .p-product-process__image-number--right {
        right: -10px
    }
}

@media (max-width: 767px) {
    .p-product-csr__body {
        margin-bottom: -30px
    }
}

@media (max-width: 1023px) {
    .p-product-csr__image {
        margin-bottom: 50px
    }
}

@media (max-width: 767px) {
    .p-product-csr__image {
        margin-bottom: 30px
    }
}

@media (max-width: 1023px) {
    .p-product-csr__heading {
        font-size: 25px;
        font-size: 2.5rem;
        font-weight: 400;
        line-height: 1.5
    }
}

@media (max-width: 767px) {
    .p-product-csr__heading {
        font-size: 20px;
        font-size: 2rem;
        font-weight: 400;
        line-height: 1.5;
        margin-bottom: 30px
    }
}

@media (max-width: 767px) {
    .p-product-csr__text {
        font-size: 12px;
        font-size: 1.2rem;
        font-weight: 400;
        line-height: 1.8;
        text-align: left
    }
}

@media (max-width: 1023px) {
    .p-product-csr__logo {
        margin-top: 40px
    }
}

@media (max-width: 1023px) {
    .p-product-csr__logo-item {
        padding: 0 25px
    }

    .p-product-csr__logo-item--1 img {
        width: 115.2px
    }

    .p-product-csr__logo-item--2 img {
        width: 87px
    }

    .p-product-csr__logo-item--3 img {
        width: 130.8px
    }
}

@media (max-width: 767px) {
    .p-product-csr__logo-item {
        padding: 0 10px
    }

    .p-product-csr__logo-item--1 img {
        width: 86.4px
    }

    .p-product-csr__logo-item--2 img {
        width: 65.25px
    }

    .p-product-csr__logo-item--3 img {
        width: 98.1px
    }
}

@media (max-width: 320px) {
    .p-product-csr__logo-item {
        padding: 0 10px
    }

    .p-product-csr__logo-item--1 img {
        width: 67.2px
    }

    .p-product-csr__logo-item--2 img {
        width: 50.75px
    }

    .p-product-csr__logo-item--3 img {
        width: 76.3px
    }
}

@media (max-width: 1023px) {
    .p-story__item {
        padding: 80px 80px 100px
    }
}

@media (max-width: 767px) {
    .p-story__item {
        padding: 50px 20px 60px
    }

    .p-story__item--01 {
        padding-bottom: 240px
    }
}

@media (max-width: 1023px) {
    .p-story__number {
        font-size: 20px;
        font-size: 2rem;
        font-weight: 400;
        line-height: 0.8;
        margin: 0 auto 10px
    }

    .p-story__number span {
        font-size: 95px;
        font-size: 9.5rem;
        font-weight: 400;
        line-height: 0.8
    }
}

@media (max-width: 767px) {
    .p-story__number {
        margin: 0 auto
    }
}

@media (max-width: 1023px) {
    .p-story__item-text-box {
        -ms-flex-preferred-size: 600px;
        flex-basis: 600px;
        max-width: 600px
    }
}

@media (max-width: 767px) {
    .p-story__item-text-box {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%
    }
}

@media (max-width: 1023px) {
    .p-story__heading {
        font-size: 23px;
        font-size: 2.3rem;
        font-weight: 400;
        line-height: 1.5
    }
}

@media (max-width: 767px) {
    .p-story__heading {
        font-size: 22px;
        font-size: 2.2rem;
        font-weight: 400;
        line-height: 1.4
    }
}

@media (max-width: 767px) {
    .p-story__text {
        font-size: 13px;
        font-size: 1.3rem;
        font-weight: 400;
        line-height: 1.8
    }
}

@media (max-width: 1023px) {
    .p-story__image-bg {
        width: 34.2130987292vw;
        max-width: auto
    }

    .p-story__image-bg .p-story__image-bg-caption {
        width: 100%;
        text-align: center
    }

    .p-story__image-bg--left {
        left: 0
    }

    .p-story__image-bg--left .p-story__image-bg-caption {
        right: 0
    }

    .p-story__image-bg--right {
        right: 0
    }

    .p-story__image-bg--right .p-story__image-bg-caption {
        left: 0
    }
}

@media (max-width: 767px) {
    .p-story__image-bg {
        width: 180px
    }
}

@media (max-width: 1023px) {
    .p-story__image {
        -ms-flex-preferred-size: 300px;
        flex-basis: 300px;
        max-width: 300px;
        padding: 0;
        margin-top: 50px
    }
}

@media (max-width: 767px) {
    .p-story__image {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%
    }
}

@media (max-width: 1023px) {
    .p-company__kv {
        margin-bottom: 50px
    }
}

@media (max-width: 767px) {
    .p-company__kv {
        margin-bottom: 30px
    }
}

@media (max-width: 1023px) {
    .p-company-headinng {
        margin-bottom: 30px
    }

    .p-company-headinng--jp {
        font-size: 18px;
        font-size: 1.8rem;
        font-weight: bold;
        line-height: 1
    }

    .p-company-headinng--en {
        font-size: 28px;
        font-size: 2.8rem;
        font-weight: 400;
        line-height: 0.8
    }

    .p-company-headinng--en:after {
        top: 8px
    }
}

@media (max-width: 767px) {
    .p-company-headinng {
        margin-bottom: 20px
    }

    .p-company-headinng span {
        padding-right: 10px
    }

    .p-company-headinng--jp {
        font-size: 16px;
        font-size: 1.6rem;
        font-weight: bold;
        line-height: 1
    }

    .p-company-headinng--en {
        font-size: 24px;
        font-size: 2.4rem;
        font-weight: 400;
        line-height: 0.8
    }

    .p-company-headinng--en:after {
        top: 7px
    }
}

@media (max-width: 1023px) {
    .p-company-phylosophy__heading {
        font-size: 20px;
        font-size: 2rem;
        font-weight: 400;
        line-height: 1.8;
        margin-bottom: 50px
    }
}

@media (max-width: 767px) {
    .p-company-phylosophy__heading {
        font-size: 16px;
        font-size: 1.6rem;
        font-weight: 400;
        line-height: 1.8;
        margin-bottom: 30px
    }
}

@media (max-width: 767px) {
    .p-company-phylosophy__box {
        margin-bottom: 20px

    }

    .p-company-phylosophy__box:last-child {
        margin-bottom: 0
    }
}

@media (max-width: 1023px) {
    .p-company-phylosophy__box-inner {
        padding: 20px
    }
}

@media (max-width: 767px) {
    .p-company-phylosophy__box-inner {
        padding: 30px
    }
}

@media (max-width: 767px) {
    .p-company-phylosophy__box-text {
        font-size: 13px;
        font-size: 1.3rem;
        font-weight: 400;
        line-height: 1.8
    }
}

@media (max-width: 1023px) {
    .p-company-phylosophy__box-list-item {
        margin-bottom: 5px
    }
}

@media (max-width: 1023px) {
    .p-company-phylosophy__box-list-item-heading {
        font-size: 13px;
        font-size: 1.3rem;
        font-weight: bold;
        line-height: 1.6;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%;
        letter-spacing: 0.08em
    }

    .is-small .p-company-phylosophy__box-list-item-heading {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%
    }
}

@media (max-width: 1023px) {
    .p-company-phylosophy__box-list-item-description {
        font-size: 13px;
        font-size: 1.3rem;
        font-weight: 400;
        line-height: 1.8
    }
}

@media (max-width: 767px) {
    .p-company-phylosophy__box-list-item-description {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%
    }
}

@media (max-width: 767px) {
    .p-company-phylosophy__text-en {
        font-size: 13px;
        font-size: 1.3rem;
        font-weight: 400;
        line-height: 1.8
    }
}

@media (max-width: 1023px) {
    .p-company-message__image {
        margin-bottom: 50px
    }
}

@media (max-width: 767px) {
    .p-company-message__image {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-bottom: 30px
    }
}

@media (max-width: 767px) {
    .p-company-message__image-item {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%
    }

    .p-company-message__image-item--01 {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2
    }

    .p-company-message__image-item--02 {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1
    }

    .p-company-message__image-item--03 {
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3
    }
}

@media (max-width: 1023px) {
    .p-company-message__image-inner {
        bottom: 10px;
        left: 20px
    }
}

@media (max-width: 767px) {
    .p-company-message__image-job {
        font-size: 12px;
        font-size: 1.2rem;
        font-weight: 400;
        line-height: 1
    }
}

@media (max-width: 767px) {
    .p-company-message__image-name {
        font-size: 22px;
        font-size: 2.2rem;
        font-weight: 400;
        line-height: 1.8
    }
}

@media (max-width: 1023px) {
    .p-company-message__heading {
        font-size: 23px;
        font-size: 2.3rem;
        font-weight: 400;
        line-height: 2;
        margin-bottom: 40px
    }
}

@media (max-width: 767px) {
    .p-company-message__heading {
        font-size: 20px;
        font-size: 2rem;
        font-weight: 400;
        line-height: 1.6;
        margin-bottom: 25px
    }
}

@media (max-width: 767px) {
    .p-company-message__text {
        font-size: 13px;
        font-size: 1.3rem;
        font-weight: 400;
        line-height: 1.8
    }
}

@media (max-width: 1023px) {
    .p-company-profile__list-wrap {
        margin-bottom: 80px
    }

    .p-company-profile__list-wrap--last {
        margin-bottom: 0
    }
}

@media (max-width: 767px) {
    .p-company-profile__list-wrap {
        margin-bottom: 40px
    }

    .p-company-profile__list-wrap--last {
        margin-bottom: 0
    }
}

@media (max-width: 1023px) {
    .p-company-profile__list-item {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-bottom: 30px
    }
}

@media (max-width: 767px) {
    .p-company-profile__list-item {
        margin-bottom: 15px
    }

    .p-company-profile__list-item:last-child {
        margin-bottom: 15px
    }
}

@media (max-width: 1023px) {
    .p-company-profile__list-heading {
        font-size: 15px;
        font-size: 1.5rem;
        font-weight: bold;
        line-height: 1.6;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-height: 100%
    }

    .p-company-profile__list-heading span {
        font-size: 12px;
        font-size: 1.2rem;
        font-weight: 400;
        line-height: 1.5;
        display: inline-block
    }
}

@media (max-width: 767px) {
    .p-company-profile__list-description {
        font-size: 15px;
        font-size: 1.5rem;
        font-weight: 400;
        line-height: 2;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%
    }
}

@media (max-width: 1023px) {
    .p-company-profile__list-description-box {
        margin-bottom: 30px
    }
}

@media (max-width: 767px) {
    .p-company-profile__list-description-box {
        margin-bottom: 15px
    }
}

@media (max-width: 1023px) {
    .p-company-network__item {
        margin-bottom: 50px
    }
}

@media (max-width: 767px) {
    .p-company-network__item {
        margin-bottom: 40px
    }

    .p-company-network__item:nth-last-child(2) {
        margin-bottom: 40px
    }
}

@media (max-width: 1023px) {
    .p-company-network__item-heading {
        margin-bottom: 20px
    }
}

@media (max-width: 767px) {
    .p-company-network__item-heading--en {
        margin-bottom: 10px
    }
}

@media (max-width: 767px) {
    .p-company-network__item-image {
        margin-bottom: 18px
    }
}

@media (max-width: 767px) {
    .p-company-network__item-description {
        font-size: 13px;
        font-size: 1.3rem;
        font-weight: 400;
        line-height: 1.8
    }
}

@media (max-width: 1023px) {
    .p-company-network__item-button {
        margin-top: 30px
    }

    .p-company-network__item-button .c-button {
        max-width: 100%
    }
}

@media (max-width: 767px) {
    .p-company-network__item-button {
        margin-top: 15px
    }
}

@media (max-width: 1023px) {
    .p-company-history__list-wrap {
        margin-bottom: 80px
    }

    .p-company-history__list-wrap--last {
        margin-bottom: 0
    }
}

@media (max-width: 767px) {
    .p-company-history__list-wrap {
        margin-bottom: 40px
    }

    .p-company-history__list-wrap--last {
        margin-bottom: 0
    }
}

@media (max-width: 1023px) {
    .p-company-history__list-item {
        margin-bottom: 30px
    }
}

@media (max-width: 767px) {
    .p-company-history__list-item {
        margin-bottom: 15px
    }

    .p-company-history__list-item:last-child {
        margin-bottom: 15px
    }
}

@media (max-width: 1023px) {
    .p-company-history__list-heading {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-height: 100%
    }
}

@media (max-width: 767px) {
    .p-company-history__list-description {
        font-size: 13px;
        font-size: 1.3rem;
        font-weight: 400;
        line-height: 1.8;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%
    }
}

@media (max-width: 1023px) {
    .p-company-archive__info-box {
        margin: 0 auto 30px
    }
}

@media (max-width: 767px) {
    .p-company-archive__info-box {
        margin: 0 auto 20px;
        padding: 10px
    }
}

@media (max-width: 767px) {
    .p-company-archive__info-text {
        font-size: 14px;
        font-size: 1.4rem
    }
}

@media (max-width: 1023px) {
    .p-company-archive__lead-box {
        margin: 0 auto 40px
    }
}

@media (max-width: 767px) {
    .p-company-archive__lead-box {
        margin: 0 auto 30px
    }
}

@media (max-width: 767px) {
    .p-company-archive__lead-text {
        font-size: 13px;
        font-size: 1.3rem;
        font-weight: 400;
        line-height: 1.8
    }
}

@media (max-width: 1023px) {
    .p-company-archive__list-wrap {
        margin-bottom: 80px
    }

    .p-company-archive__list-wrap--last {
        margin-bottom: 0
    }
}

@media (max-width: 767px) {
    .p-company-archive__list-wrap {
        margin-bottom: 40px
    }

    .p-company-archive__list-wrap--last {
        margin-bottom: 0
    }
}

@media (max-width: 1023px) {
    .p-company-archive__list {
        margin-bottom: 50px
    }
}

@media (max-width: 767px) {
    .p-company-archive__list {
        margin-bottom: 30px
    }
}

@media (max-width: 1023px) {
    .p-company-archive__list-item {
        margin-bottom: 5px
    }

    .p-company-archive__list-item:last-child {
        margin-bottom: 0
    }
}

@media (max-width: 1023px) {
    .p-company-archive__list-heading {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-height: 100%
    }
}

@media (max-width: 767px) {
    .p-company-archive__list-heading {
        font-size: 13px;
        font-size: 1.3rem;
        font-weight: bold;
        line-height: 2
    }
}

@media (max-width: 1023px) {
    .p-company-archive__list-description {
        font-size: 13px;
        font-size: 1.3rem;
        font-weight: 400;
        line-height: 1.8
    }
}

@media (max-width: 767px) {
    .p-company-archive__list-description {
        font-size: 13px;
        font-size: 1.3rem;
        font-weight: 400;
        line-height: 1.6;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%
    }
}

@media (max-width: 1023px) {
    .p-company-archive__image {
        margin-bottom: 50px
    }
}

@media (max-width: 1023px) {
    .p-company-archive__map-wrap {
        margin-bottom: 25px
    }
}

@media (max-width: 767px) {
    .p-company-archive__map-wrap {
        margin-bottom: 20px
    }
}

@media (max-width: 767px) {
    .p-company-archive__map-heading {
        font-size: 13px;
        font-size: 1.3rem;
        font-weight: bold;
        line-height: 1.8
    }
}

@media (max-width: 1023px) {
    .p-company-archive__map-description {
        margin-bottom: 20px
    }
}

@media (max-width: 767px) {
    .p-company-archive__map-description {
        font-size: 13px;
        font-size: 1.3rem;
        font-weight: 400;
        line-height: 1.8;
        margin-bottom: 15px
    }
}

@media (max-width: 767px) {
    .p-company-archive__map-button .c-button {
        max-width: 100%
    }
}

@media (max-width: 1023px) {
    .p-company-coc__index-number {
        font-size: 16px;
        font-size: 1.6rem
    }
}

@media (max-width: 1023px) {
    .p-company-coc__index-desc {
        font-size: 14px;
        font-size: 1.4rem
    }
}

@media (max-width: 767px) {
    .p-company-coc__index-desc {
        font-size: 13px;
        font-size: 1.3rem
    }
}

@media (max-width: 767px) {
    .p-company-coc__section {
        padding-top: 40px
    }
}

@media (max-width: 767px) {
    .p-company-coc__heading {
        margin-bottom: 30px
    }
}

@media (max-width: 1023px) {
    .p-company-coc__heading-number {
        font-size: 30px;
        font-size: 3rem
    }
}

@media (max-width: 767px) {
    .p-company-coc__heading-number {
        font-size: 20px;
        font-size: 2rem
    }
}

@media (max-width: 1023px) {
    .p-company-coc__heading-text {
        font-size: 20px;
        font-size: 2rem;
        padding-left: 40px
    }
}

@media (max-width: 767px) {
    .p-company-coc__heading-text {
        font-size: 18px;
        font-size: 1.8rem;
        padding-left: 25px
    }
}

@media (max-width: 1023px) {
    .p-company-coc__section-body {
        padding-left: 40px
    }
}

@media (max-width: 767px) {
    .p-company-coc__section-body {
        padding-bottom: 40px;
        padding-left: 25px
    }
}

@media (max-width: 767px) {
    .p-company-coc__subheading {
        font-size: 14px;
        font-size: 1.4rem;
        margin-bottom: 15px
    }
}

@media (max-width: 767px) {
    .p-company-coc__list-num {
        font-size: 14px;
        font-size: 1.4rem
    }
}

@media (max-width: 767px) {
    .p-company-coc__list-desc {
        font-size: 14px;
        font-size: 1.4rem
    }
}

@media (max-width: 1023px) {
    .p-recruit__kv {
        margin-bottom: 50px
    }
}

@media (max-width: 767px) {
    .p-recruit__kv {
        margin-bottom: 30px
    }
}

@media (max-width: 1023px) {
    .p-recruit__nav {
        margin-bottom: 90px
    }
}

@media (max-width: 767px) {
    .p-recruit__nav {
        display: none
    }
}

@media (max-width: 767px) {
    .p-recruit_item {
        margin-bottom: 30px;
        margin-top: 0;
        padding-top: 0;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

@media (max-width: 767px) {
    .p-recruit_item-image {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 400px;
        margin: 0 auto;
    }
}

@media (max-width: 1023px) {
    .p-recruit_item-text-box {
        padding: 10px 10px 0 30px
    }

    .is-reverse .p-recruit_item-text-box {
        /* padding: 10px 30px 0 10px; */
    }
}

@media (max-width: 767px) {
    .p-recruit_item-text-box {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%;
        position: relative;
        padding: 50px 0 0 0
    }

    .is-reverse .p-recruit_item-text-box {
        padding: 4% 0 0 0;
        order: 2;
    }
}

@media (max-width: 1023px) {
    .p-recruit_item-number {
        font-size: 150px;
        font-size: 15rem;
        font-weight: 400;
        line-height: 0.8;
        top: 20px
    }
}

@media (max-width: 767px) {
    .p-recruit_item-number {
        font-size: 150px;
        font-size: 15rem;
        font-weight: 400;
        line-height: 0.8;
        top: -40px
    }
}

@media (max-width: 1023px) {
    .p-recruit_item-job {
        font-size: 12px;
        font-size: 1.2rem;
        font-weight: 400;
        line-height: 2;
        margin-bottom: 8px
    }
}

@media (max-width: 767px) {
    .p-recruit_item-job {
        font-size: 10px;
        font-size: 1rem;
        font-weight: 400;
        line-height: 2;
        letter-spacing: 0.08em;
        margin-bottom: 5px
    }
}

@media (max-width: 1023px) {
    .p-recruit_item-name {
        font-size: 20px;
        font-size: 2rem;
        font-weight: 400;
        line-height: 0.9;
        margin-bottom: 30px
    }

    .p-recruit_item-name span {
        font-size: 15px;
        font-size: 1.5rem;
        font-weight: 400;
        line-height: 1;
        margin-left: 10px
    }
}

@media (max-width: 767px) {
    .p-recruit_item-name {
        margin-bottom: 20px
    }
}

@media (max-width: 1023px) {
    .p-recruit_item-copy {
        font-size: 20px;
        font-size: 2rem;
        font-weight: 400;
        line-height: 1.5;
        margin-bottom: 25px
    }
}

@media (max-width: 767px) {
    .p-recruit_item-copy {
        font-size: 17px;
        font-size: 1.7rem;
        font-weight: 400;
        line-height: 1.5;
        margin-bottom: 20px
    }
}

@media (max-width: 1023px) {
    .p-recruit_item-text {
        font-size: 13px;
        font-size: 1.3rem;
        font-weight: 400;
        line-height: 1.8
    }
    h4.parts-item.p-recruit_title {
    font-size: 3rem;
}
}

@media (max-width: 767px) {
    .p-recruit_item-text {
        font-size: 13px;
        font-size: 1.3rem;
        font-weight: 400;
        line-height: 1.8
    }
        h4.parts-item.p-recruit_title {
    font-size: 2rem;
}
}

@media (max-width: 1023px) {
    .p-recruit__entry a {
        padding: 115px 0 80px
    }
}

@media (max-width: 767px) {
    .p-recruit__entry a {
        padding: 50px 0 50px
    }
}

@media (max-width: 767px) {
    .p-recruit__entry-link-heading {
        font-size: 40px;
        font-size: 4rem;
        font-weight: 400;
        line-height: 0.8;
        -ms-flex-preferred-size: 110px;
        flex-basis: 110px;
        max-width: 110px
    }
}

@media (max-width: 767px) {
    .p-recruit__entry-link-vire-more {
        -ms-flex-preferred-size: 90px;
        flex-basis: 90px;
        max-width: 90px
    }
}

@media (max-width: 767px) {
    .p-recruit__entry-link-heading-jp {
        margin-top: 0
    }
}

@media (max-width: 1023px) {
    .p-recruit-entry__item {
        margin-bottom: 50px
    }

    .p-recruit-entry__item--last {
        margin-bottom: 0
    }
}

@media (max-width: 767px) {
    .p-recruit-entry__item {
        margin-bottom: 20px
    }

    .p-recruit-entry__item--last {
        margin-bottom: -20px
    }
}

@media (max-width: 1023px) {
    .p-recruit-entry__item-heading {
        margin-bottom: 20px
    }
}

@media (max-width: 767px) {
    .p-recruit-entry__item-heading {
        font-size: 20px;
        font-size: 2rem;
        font-weight: bold;
        line-height: 1.3;
        margin-bottom: 15px
    }
}

@media (max-width: 1023px) {
    .p-recruit-entry__item-text {
        font-size: 12px;
        font-size: 1.2rem;
        font-weight: 400;
        line-height: 2;
        margin-bottom: 25px
    }
}

@media (max-width: 767px) {
    .p-recruit-entry__item-text {
        font-size: 12px;
        font-size: 1.2rem;
        font-weight: 400;
        line-height: 1.8;
        margin-bottom: 20px
    }
}

@media (max-width: 767px) {
    .p-recruit-entry__item-image {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin: 0
    }
}

@media (max-width: 767px) {
    .p-recruit-entry__item-image-item {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%;
        padding: 0
    }

    .p-recruit-entry__item-image-item img {
        margin-bottom: 20px
    }
}

@media (max-width: 1023px) {
    .p-sustainability-detail__activitie-heading-text, .p-sustainability-detail__goal-heading, .p-sustainability-detail__intro-heading, .p-sustainability-detail__policy-heading, .p-sustainability-top__intro-heading, .p-sustainability__heading {
        font-size: 26px;
        font-size: 2.6rem
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__activitie-heading-text, .p-sustainability-detail__goal-heading, .p-sustainability-detail__intro-heading, .p-sustainability-detail__policy-heading, .p-sustainability-top__intro-heading, .p-sustainability__heading {
        font-size: 20px;
        font-size: 2rem
    }
}

@media (max-width: 1023px) {
    .p-sustainability-detail__certification-content-heading, .p-sustainability-detail__contribution-heading, .p-sustainability-detail__project-dye-heading, .p-sustainability-detail__project-lead, .p-sustainability-detail__workplace-heading, .p-sustainability__heading-2 {
        font-size: 22px;
        font-size: 2.2rem
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__certification-content-heading, .p-sustainability-detail__contribution-heading, .p-sustainability-detail__project-dye-heading, .p-sustainability-detail__project-lead, .p-sustainability-detail__workplace-heading, .p-sustainability__heading-2 {
        font-size: 20px;
        font-size: 2rem
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__activitie-text, .p-sustainability-detail__certification-content-text, .p-sustainability-detail__contribution-text, .p-sustainability-detail__intro-text, .p-sustainability-detail__policy-text, .p-sustainability-detail__project-item-text, .p-sustainability-detail__project-text, .p-sustainability-detail__workplace-text, .p-sustainability-top__intro-text, .p-sustainability__text {
        font-size: 14px;
        font-size: 1.4rem
    }
}

@media (max-width: 1023px) {
    .p-sustainability-nav {
        padding-top: 60px
    }
}

@media (max-width: 767px) {
    .p-sustainability-nav {
        margin-top: 10px;
        padding-top: 40px
    }
}

@media (max-width: 767px) {
    .p-sustainability-nav__heading {
        font-size: 18px;
        font-size: 1.8rem;
        margin: 0 auto 30px
    }
}

@media (max-width: 1023px) {
    .p-sustainability-nav__list {
        margin: 0 -5px -10px
    }
}

@media (max-width: 1023px) {
    .p-sustainability-nav__list-item {
        padding: 0 5px 10px
    }
}

@media (max-width: 767px) {
    .p-sustainability-nav__list-item {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%
    }
}

@media (max-width: 767px) {
    .p-sustainability-nav__list-link {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        min-height: 80px
    }
}

@media (max-width: 767px) {
    .p-sustainability-nav__list-image {
        -ms-flex-preferred-size: 30%;
        flex-basis: 30%;
        width: 30%;
        max-width: 30%;
        height: 100%
    }

    .p-sustainability-nav__list-image img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover
    }
}

@media (max-width: 1023px) {
    .p-sustainability-nav__list-inner {
        padding: 20px 15px
    }
}

@media (max-width: 767px) {
    .p-sustainability-nav__list-inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding: 20px 10px
    }
}

@media (max-width: 767px) {
    .p-sustainability-nav__list-icon {
        width: 28px;
        margin: 0 5px 0 0
    }
}

@media (max-width: 1023px) {
    .p-sustainability-nav__list-heading {
        font-size: 16px;
        font-size: 1.6rem
    }
}

@media (max-width: 767px) {
    .p-sustainability-nav__list-heading {
        font-size: 14px;
        font-size: 1.4rem;
        text-align: left
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__target {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin: 20px -3px 0
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__target-item {
        padding: 0 3px
    }

    .p-sustainability-detail__target-item img {
        width: 50px
    }
}

@media (max-width: 1023px) {
    .p-sustainability-top__kv {
        margin-bottom: 50px
    }
}

@media (max-width: 767px) {
    .p-sustainability-top__kv {
        margin-bottom: 30px
    }
}

@media (max-width: 1023px) {
    .p-sustainability-top__intro {
        padding-bottom: 60px
    }
}

@media (max-width: 767px) {
    .p-sustainability-top__intro {
        padding-bottom: 40px
    }
}

@media (max-width: 1023px) {
    .p-sustainability-top__intro-item {
        padding-top: 40px
    }
}

@media (max-width: 767px) {
    .p-sustainability-top__intro-item {
        padding-top: 30px
    }
}

@media (max-width: 1023px) {
    .p-sustainability-top__intro-image {
        margin-bottom: 25px
    }
}

@media (max-width: 1023px) {
    .p-sustainability-top__intro-heading {
        margin-bottom: 16px
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__heading {
        display: block;
        padding: 10px 0 15px;
        text-align: center
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__heading-icon {
        display: block;
        width: 40px;
        margin: 0 auto
    }
}

@media (max-width: 1023px) {
    .p-sustainability-detail__heading-text {
        font-size: 32px;
        font-size: 3.2rem
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__heading-text {
        font-size: 24px;
        font-size: 2.4rem
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__intro {
        padding: 40px 0
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__intro-col {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__intro-heading {
        margin-bottom: 20px;
        text-align: center
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__intro-image {
        margin-top: 30px
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__section {
        padding: 40px 0
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__activitie {
        padding-top: 30px
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__activitie-heading {
        margin-bottom: 15px
    }
}

@media (max-width: 1023px) {
    .p-sustainability-detail__activitie-heading-number {
        font-size: 30px;
        font-size: 3rem
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__activitie-heading-number {
        font-size: 30px;
        font-size: 3rem
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__activitie-target {
        position: static
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__activitie-body {
        margin-top: 20px
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__activitie-row {
        margin-bottom: -30px
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__activitie-col {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%;
        padding-bottom: 30px
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__activitie-image {
        margin-bottom: 20px
    }
}

@media (max-width: 1023px) {
    .p-sustainability-detail__goal:after {
        width: calc(100vw - 100px)
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__goal:after {
        width: calc(100vw - 40px)
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__goal-row {
        margin: 0 0 -10px
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__goal-col {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%;
        padding: 0 40px 10px
    }
}

@media (max-width: 1023px) {
    .p-sustainability-detail__contribution-col {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%
    }
}

@media (max-width: 1023px) {
    .p-sustainability-detail__contribution-image {
        margin-bottom: 20px
    }
}

@media (max-width: 1023px) {
    .p-sustainability-detail__contribution-heading {
        margin-bottom: 16px
    }
}

@media (max-width: 1023px) {
    .p-sustainability-detail__workplace-heading {
        margin-bottom: 16px
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__workplace-image {
        margin-bottom: 20px
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__workplace-col {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%
    }
}

@media (max-width: 1023px) {
    .p-sustainability-detail__workplace-item {
        padding-top: 30px
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__workplace-item {
        padding-top: 25px
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__workplace-number-main {
        font-size: 100px;
        font-size: 10rem
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__workplace-number-sub {
        font-size: 28px;
        font-size: 2.8rem
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__project {
        padding: 30px 0 40px
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__project-heading {
        margin-bottom: 20px
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__project-heading-jp {
        font-size: 30px;
        font-size: 3rem
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__project-heading-en {
        font-size: 20px;
        font-size: 2rem
    }

    .is-en_US .p-sustainability-detail__project-heading-en {
        font-size: 30px;
        font-size: 3rem
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__project-top {
        margin-bottom: 30px
    }
}

@media (max-width: 1023px) {
    .p-sustainability-detail__project-image {
        margin-bottom: 20px
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__project-col {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%;
        margin-bottom: 30px
    }

    .p-sustainability-detail__project-col--40 {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%
    }

    .p-sustainability-detail__project-col--60 {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%
    }
}

@media (max-width: 1023px) {
    .p-sustainability-detail__project-item-image {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%;
        margin-bottom: 20px
    }
}

@media (max-width: 1023px) {
    .p-sustainability-detail__project-item-text {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__project-dye-item:last-of-type {
        margin-top: 20px
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__project-dye-name {
        margin-bottom: 15px
    }

    .p-sustainability-detail__project-dye-name--2 {
        margin-top: 20px
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__project-dye-name-text {
        font-size: 40px;
        font-size: 4rem
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__certification-image {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%;
        margin-bottom: 20px
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__certification-content {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%
    }
}

@media (max-width: 1023px) {
    .p-sustainability-detail__certification-content-heading {
        margin-bottom: 16px
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__policy-item {
        margin-top: 40px
    }
}

@media (max-width: 767px) {
    .p-sustainability-detail__policy-heading {
        margin-bottom: 20px
    }
}

@media (max-width: 767px) {
    .p-contact__complete-heading {
        font-size: 18px;
        font-size: 1.8rem;
        font-weight: 400;
        line-height: 1;
        margin-bottom: 20px
    }
}

@media (max-width: 767px) {
    .p-contact__complete-text-box {
        margin-bottom: 30px
    }
}

@media (max-width: 767px) {
    .p-contact__complete-text {
        font-size: 12px;
        font-size: 1.2rem;
        font-weight: 400;
        line-height: 1.8;
        margin-bottom: 10px;
        text-align: left
    }
}

@media (max-width: 767px) {
    .p-contact-index__item {
        margin-bottom: 30px
    }

    .p-contact-index__item:last-child {
        margin-bottom: 0
    }
}

@media (max-width: 1023px) {
    .p-notfound__body {
        padding-bottom: 100px
    }
}

@media (max-width: 767px) {
    .p-notfound__body {
        padding-bottom: 60px
    }
    .policy_list .p-contact-index__item.l-col-xs-12.l-col-sm-4 {
   margin-bottom:0;
}
}

@media (max-width: 767px) {
    .p-notfound__heading {
        font-size: 16px;
        font-size: 1.6rem;
        margin-bottom: 20px
    }
}

@media (max-width: 767px) {
    .p-notfound__text {
        font-size: 13px;
        font-size: 1.3rem;
        margin-bottom: 20px
    }
}

@media (max-width: 767px) {
    .p-notfound__button {
        margin: 40px 0 0
    }
}

@media (max-width: 767px) {
    .p-anne__kv-image {
        height: 85.3333333333vw
    }

    .p-anne__kv-image--pc {
        display: none
    }

    .p-anne__kv-image--sp {
        display: block
    }
}

@media (max-width: 1023px) {
    .p-anne__inner {
        padding: 0 50px
    }
}

@media (max-width: 767px) {
    .p-anne__inner {
        padding: 0 20px
    }
}

@media (max-width: 767px) {
    .p-anne__lead {
        font-size: 13px;
        font-size: 1.3rem;
        margin-top: 13.3333333333vw;
        margin-bottom: 16vw
    }
}

@media (max-width: 1023px) {
    .p-anne__row--2 {
        padding: 0 1.1904761905vw
    }
}

@media (max-width: 767px) {
    .p-anne__row {
        margin-bottom: 0
    }

    .p-anne__row--2 {
        padding: 0
    }

    .p-anne__row--3 {
        margin: 0;
        padding: 0
    }
}

@media (max-width: 767px) {
    .p-anne__col {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%
    }
}

@media (max-width: 767px) {
    .p-anne__logo {
        width: 58.6666666667vw;
        margin: 21.3333333333vw auto
    }
}

@media (max-width: 767px) {
    .p-anne__image {
        margin-bottom: 1.6vw
    }

    .p-anne__image--sm {
        width: 100%
    }

    .p-anne__image--md {
        width: 100%
    }

    .p-anne__image--lg {
        width: 100%
    }
}

@media (max-width: 767px) {
    .p-anne__credit {
        margin: 0 auto 60px
    }
}

@media (max-width: 767px) {
    .p-anne__credit-image-item {
        height: 50px
    }
}

@media (max-width: 767px) {
    .p-anne__credit-text {
        font-size: 11px;
        font-size: 1.1rem;
        text-align: left
    }
}

@media (max-width: 767px) {
    .p-anne__credit-info {
        font-size: 14px;
        font-size: 1.4rem
    }

    .p-anne__credit-info p {
        font-size: 11px;
        font-size: 1.1rem;
        text-align: left
    }
}

@media (max-width: 767px) {
    .p-anne__interview {
        margin: 0 auto 60px;
        padding-top: 80px
    }
}

@media (max-width: 767px) {
    .p-anne__interview-title {
        width: 60.8vw
    }
}

@media (max-width: 767px) {
    .p-anne__interview-heading {
        font-size: 16px;
        font-size: 1.6rem;
        margin-bottom: 26px
    }
}

@media (max-width: 767px) {
    .p-anne__interview-text {
        font-size: 13px;
        font-size: 1.3rem;
        margin-bottom: 30px
    }
}

@media (max-width: 767px) {
    .p-anne__info {
        margin: 0 auto 60px
    }
}

@media (max-width: 767px) {
    .p-anne__info-item {
        max-width: 100%;
        margin-bottom: 40px
    }

    .p-anne__info-item:last-child {
        margin-bottom: 0
    }
}

@media (max-width: 767px) {
    .p-anne__info-title {
        font-size: 18px;
        font-size: 1.8rem;
        margin-top: 20px
    }
}

@media (max-width: 767px) {
    .p-anne__info-credit {
        font-size: 11px;
        font-size: 1.1rem
    }
}

@media (max-width: 767px) {
    .p-anne__info-text {
        font-size: 12px;
        font-size: 1.2rem
    }
}

@media (max-width: 767px) {
    .p-anne__archive {
        margin: 0 auto 60px;
        padding-top: 60px
    }
}

@media (max-width: 767px) {
    .p-anne__archive-col {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 80%;
        margin-bottom: 40px
    }

    .p-anne__archive-col:last-child {
        margin-bottom: 0
    }
}

@media (max-width: 767px) {
    .p-anne__archive-heading {
        font-size: 16px;
        font-size: 1.6rem;
        margin-bottom: 26px
    }
}

@media (max-width: 767px) {
    .p-anne__archive-title {
        font-size: 30px;
        font-size: 3rem;
        margin-top: 20px
    }
}

@media (max-width: 767px) {
    .p-anne__archive-coming {
        font-size: 16px;
        font-size: 1.6rem
    }
}

@media (max-width: 767px) {
    .u-m-xs {
        margin: 0.5rem !important
    }

    .u-m-sm {
        margin: 1rem !important
    }

    .u-m-md {
        margin: 2rem !important
    }

    .u-m-lg {
        margin: 3rem !important
    }

    .u-m-xl {
        margin: 4rem !important
    }

    .u-m-xxl {
        margin: 5rem !important
    }

    .u-mt-xs {
        margin-top: 0.5rem !important
    }

    .u-mt-sm {
        margin-top: 1rem !important
    }

    .u-mt-md {
        margin-top: 2rem !important
    }

    .u-mt-lg {
        margin-top: 3rem !important
    }

    .u-mt-xl {
        margin-top: 4rem !important
    }

    .u-mt-xxl {
        margin-top: 5rem !important
    }

    .u-mb-xs {
        margin-bottom: 0.5rem !important
    }

    .u-mb-sm {
        margin-bottom: 1rem !important
    }

    .u-mb-md {
        margin-bottom: 2rem !important
    }

    .u-mb-lg {
        margin-bottom: 3rem !important
    }

    .u-mb-xl {
        margin-bottom: 4rem !important
    }

    .u-mb-xxl {
        margin-bottom: 5rem !important
    }

    .u-p-xs {
        padding: 0.5rem !important
    }

    .u-p-sm {
        padding: 1rem !important
    }

    .u-p-md {
        padding: 2rem !important
    }

    .u-p-lg {
        padding: 3rem !important
    }

    .u-p-xl {
        padding: 4rem !important
    }

    .u-pt-xs {
        padding-top: 0.5rem !important
    }

    .u-pt-sm {
        padding-top: 1rem !important
    }

    .u-pt-md {
        padding-top: 2rem !important
    }

    .u-pt-lg {
        padding-top: 3rem !important
    }

    .u-pt-xl {
        padding-top: 4rem !important
    }

    .u-pt-xxl {
        padding-top: 5rem !important
    }

    .u-pb-xs {
        padding-bottom: 0.5rem !important
    }

    .u-pb-sm {
        padding-bottom: 1rem !important
    }

    .u-pb-md {
        padding-bottom: 2rem !important
    }

    .u-pb-lg {
        padding-bottom: 3rem !important
    }

    .u-pb-xl {
        padding-bottom: 4rem !important
    }

    .u-pb-xxl {
        padding-bottom: 4rem !important
    }
}

@media (min-width: 768px) {
    .u-d-sm-n {
        display: none !important
    }

    .u-d-sm-b {
        display: block !important
    }

    .u-d-sm-f {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important
    }

    .u-d-sm-if {
        display: -webkit-inline-box !important;
        display: -ms-inline-flexbox !important;
        display: inline-flex !important
    }

    .u-d-sm-i {
        display: inline !important
    }

    .u-d-sm-ib {
        display: inline-block !important
    }
}

@media (min-width: 1024px) {
    .u-d-md-n {
        display: none !important
    }

    .u-d-md-b {
        display: block !important
    }

    .u-d-md-f {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important
    }

    .u-d-md-if {
        display: -webkit-inline-box !important;
        display: -ms-inline-flexbox !important;
        display: inline-flex !important
    }

    .u-d-md-i {
        display: inline !important
    }

    .u-d-md-ib {
        display: inline-block !important
    }
}

@media (min-width: 1280px) {
    .u-d-lg-n {
        display: none !important
    }

    .u-d-lg-b {
        display: block !important
    }

    .u-d-lg-f {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important
    }

    .u-d-lg-if {
        display: -webkit-inline-box !important;
        display: -ms-inline-flexbox !important;
        display: inline-flex !important
    }

    .u-d-lg-i {
        display: inline !important
    }

    .u-d-lg-ib {
        display: inline-block !important
    }
}

@media (max-width: 767px) {
    .u-sp-block {
        display: block
    }
}

@media (max-width: 767px) {
    .u-pc-block {
        display: none
    }
}

@media (max-width: 767px) {
    .u-sp-inline {
        display: inline !important
    }
}

@media (max-width: 767px) {
    .u-pc-inline {
        display: none !important
    }
}

@media (max-width: 767px) {
    .u-sp-inlineblock {
        display: inline-block
    }
}

@media (max-width: 767px) {
    .u-pc-inlineblock {
        display: none
    }
}

@media (max-width: 767px) {
    .kankyou-sec {
        padding: 25px;
        width: 90%;
        margin-left: auto;
        margin-right: auto;
    }

    .kankyou-sec ul {
        display: block;
    }

    .kankyou-sec-li {
        width: 100%;
        margin-bottom: 30px;
    }

    .kankyou-sec dd span {
        font-size: 10px;
    }

    .kankyou-sec dd {
        font-size: 18px;
    }

    .kankyou-sec ol {
        font-size: 14px;
        margin: 10px 0 10px 0;
    }
    .kankyou-sec02 h3 {
        font-size: 18px;
    }
}

@media (max-width: 1023px) {
    .l-footer {
        padding: 60px 0 40px;
    }

    .l-footer > nav,
    .l-footer__copyright {
        padding-right: 50px;
        padding-left: 50px;
    }

    .l-footer__sitemap {
        grid-template-columns: repeat(3, 1fr);
        gap: 36px 24px;
    }

    .l-footer__sitemap--sustainability {
        grid-template-columns: repeat(3, 1fr);
    }

    /* SUSTAINABILITY のラベルだけ1行使う */
    .l-footer__col--label {
        grid-column: 1 / -1;
    }

    .l-footer__col-head {
        margin-bottom: 18px;
        font-size: 24px;
        font-size: 2.4rem;
    }

    .l-footer__cta {
        gap: 16px;
        margin: 40px 0 32px;
    }

    .l-footer__cta-btn {
        min-height: 68px;
        padding: 0 40px;
        font-size: 20px;
        font-size: 2rem;
    }

    .l-footer__cta-btn::after {
        right: 24px;
        width: 20px;
    }
}

@media (max-width: 767px) {
    .l-footer {
        padding: 40px 0;
    }

    .l-footer__logo {
        width: 143px;
        margin-bottom: 44px;
    }

    .l-footer > nav,
    .l-footer__copyright {
        padding-right: 20px;
        padding-left: 20px;
    }

    .l-footer__sitemap,
    .l-footer__sitemap--sustainability {
        grid-template-columns: repeat(2, 1fr);
        gap: 28px 20px;
        padding-bottom: 30px;
    }

    /* SUSTAINABILITY のラベルは1行使う */
    .l-footer__col--label {
        grid-column: 1 / -1;
    }

    .l-footer__sitemap--sustainability {
        margin-top: 30px;
    }

    .l-footer__col-head {
        margin-bottom: 14px;
        font-size: 22px;
        font-size: 2.2rem;
    }

    .l-footer__col-head--sub {
        font-size: 15px;
        font-size: 1.5rem;
    }

    .l-footer__col-list-item + .l-footer__col-list-item {
        margin-top: 12px;
    }

    .l-footer__cta {
        grid-template-columns: 1fr;
        gap: 12px;
        margin: 30px 0 24px;
    }

    .l-footer__cta-btn {
        min-height: 60px;
        padding: 0 30px;
        font-size: 18px;
        font-size: 1.8rem;
    }

    .l-footer__cta-btn::after {
        right: 20px;
        width: 18px;
    }

    .l-footer__policy {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        gap: 20px;
    }

    .l-footer__policy-item a {
        font-size: 13px;
        font-size: 1.3rem;
    }

    .l-footer__copyright {
        margin-top: 20px;
        font-size: 13px;
        font-size: 1.3rem;
    }
}

@media (max-width: 660px) {
    .banner-block {
        display: block;
        width: 100%;
        margin: 0 auto;
        padding: 0;
    }

    .banner-block > div {
        max-width: 406px;
        margin: 20px auto 0;
    }
}

@media (max-width: 560px) {
    .p-privacy__page-link {
        display: block;
    }

    .p-privacy__page-link > div {
        width: 100%;
        max-width: 406px;
        margin: 4px auto;
    }
}

/* --------------------------------------------------------------------------
   Footer : 狭幅スマートフォン（〜479px）
   2カラムだと文言が折り返しすぎるため1カラムに戻す
   -------------------------------------------------------------------------- */

@media (max-width: 479px) {
    .l-footer__sitemap,
    .l-footer__sitemap--sustainability {
        grid-template-columns: 1fr;
        gap: 26px;
    }
}
