html, body, p, ol, ul, li, dl, dt, dd, blockquote, figure, fieldset, legend, textarea, pre, iframe, hr, h1, h2, h3, h4, h5, h6 {
    margin: 0;
    padding: 0;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
}

h1, h2, h3, h4, h5, h6 {
    font-size: 100%;
    font-weight: normal;
}

ul {
    list-style: none
}

button, input, select, textarea {
    margin: 0
}

html {
    box-sizing: border-box
}

*, *::before, *::after {
    box-sizing: inherit
}

img, video {
    height: auto;
    max-width: 100%
}

iframe {
    border: 0;
    max-width: 100%
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

td, th {
    padding: 0
}

@media all {
    .sp-none {
        display: none
    }

    .pc-none {
        display: inherit
    }

    .screen-reader-text {
        display: none
    }

    .show {
        display: block !important
    }

    .hide {
        display: none !important
    }

    .w-full {
        width: 100%
    }

    .nowrap {
        white-space: nowrap
    }

    .table {
        display: table
    }

    .inline-block {
        display: inline-block
    }

    .block {
        display: block
    }

    .flex {
        display: flex
    }

    .flex-wrap {
        flex-wrap: wrap
    }

    .flex-center {
        justify-content: center
    }

    .flex-two-column>* {
        width: 49%
    }

    .flex-three-column>* {
        width: 33%
    }

    .space-between {
        justify-content: space-between
    }

    .space-around {
        justify-content: space-around
    }

    .flex-align-center {
        align-items: center
    }

    .flex-align-end {
        align-items: flex-end
    }

    .fixed {
        position: fixed
    }

    .absolute {
        position: absolute
    }

    .relative {
        position: relative
    }

    .icon-right-arrow::before {
        content: "";
        width: 1em;
        height: 1em;
        background-image: url('data:image/svg+xml;utf-8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512 512"><polygon class="st0" points="163.916,0 92.084,71.822 276.258,255.996 92.084,440.178 163.916,512 419.916,255.996"></polygon></svg>');
        background-size: contain;
        background-repeat: no-repeat;
        margin-right: 4px;
        display: inline-block
    }

    .align-left {
        text-align: left
    }

    .align-center {
        text-align: center
    }

    .align-right {
        text-align: right
    }

    .font-smaller {
        font-size: .9em
    }

    .font-small {
        font-size: .85em
    }

    .bold {
        font-weight: 600
    }

    .medium {
        font-weight: 500
    }

    .normal {
        font-weight: 400
    }

    .letter-spacing {
        letter-spacing: 2px
    }

    .line-height1_5 {
        line-height: 1.5
    }

    .line-height1_75 {
        line-height: 1.75 !important
    }

    .line-height2 {
        line-height: 2
    }

    .u-line {
        background: linear-gradient(transparent 40%, #ffc1c1 60%)
    }

    .underline {
        text-decoration: underline
    }

    .underline:hover {
        text-decoration: underline
    }

    .frameborder {
        border: #959595 1px solid
    }

    .clearfix {
        content: "";
        display: table;
        clear: both
    }

    .red {
        color: #cd353f
    }

    .gray {
        color: #959595
    }

    .mt-0 {
        margin-top: calc(-0.5em * 0)
    }

    .mr-0 {
        margin-right: calc(-0.5em * 0)
    }

    .mb-0 {
        margin-bottom: calc(-0.5em * 0)
    }

    .ml-0 {
        margin-left: calc(-0.5em * 0)
    }

    .mt-10 {
        margin-top: calc(-0.5em * 1)
    }

    .mr-10 {
        margin-right: calc(-0.5em * 1)
    }

    .mb-10 {
        margin-bottom: calc(-0.5em * 1)
    }

    .ml-10 {
        margin-left: calc(-0.5em * 1)
    }

    .mt-20 {
        margin-top: calc(-0.5em * 2)
    }

    .mr-20 {
        margin-right: calc(-0.5em * 2)
    }

    .mb-20 {
        margin-bottom: calc(-0.5em * 2)
    }

    .ml-20 {
        margin-left: calc(-0.5em * 2)
    }

    .mt-30 {
        margin-top: calc(-0.5em * 3)
    }

    .mr-30 {
        margin-right: calc(-0.5em * 3)
    }

    .mb-30 {
        margin-bottom: calc(-0.5em * 3)
    }

    .ml-30 {
        margin-left: calc(-0.5em * 3)
    }

    .mt0 {
        margin-top: calc(0.5em * 0)
    }

    .mr0 {
        margin-right: calc(0.5em * 0)
    }

    .mb0 {
        margin-bottom: calc(0.5em * 0)
    }

    .ml0 {
        margin-left: calc(0.5em * 0)
    }

    .pt0 {
        padding-top: calc(0.5em * 0)
    }

    .pr0 {
        padding-right: calc(0.5em * 0)
    }

    .pb0 {
        padding-bottom: calc(0.5em * 0)
    }

    .pl0 {
        padding-left: calc(0.5em * 0)
    }

    .mt10 {
        margin-top: calc(0.5em * 1)
    }

    .mr10 {
        margin-right: calc(0.5em * 1)
    }

    .mb10 {
        margin-bottom: calc(0.5em * 1)
    }

    .ml10 {
        margin-left: calc(0.5em * 1)
    }

    .pt10 {
        padding-top: calc(0.5em * 1)
    }

    .pr10 {
        padding-right: calc(0.5em * 1)
    }

    .pb10 {
        padding-bottom: calc(0.5em * 1)
    }

    .pl10 {
        padding-left: calc(0.5em * 1)
    }

    .mt20 {
        margin-top: calc(0.5em * 2)
    }

    .mr20 {
        margin-right: calc(0.5em * 2)
    }

    .mb20 {
        margin-bottom: calc(0.5em * 2)
    }

    .ml20 {
        margin-left: calc(0.5em * 2)
    }

    .pt20 {
        padding-top: calc(0.5em * 2)
    }

    .pr20 {
        padding-right: calc(0.5em * 2)
    }

    .pb20 {
        padding-bottom: calc(0.5em * 2)
    }

    .pl20 {
        padding-left: calc(0.5em * 2)
    }

    .mt30 {
        margin-top: calc(0.5em * 3)
    }

    .mr30 {
        margin-right: calc(0.5em * 3)
    }

    .mb30 {
        margin-bottom: calc(0.5em * 3)
    }

    .ml30 {
        margin-left: calc(0.5em * 3)
    }

    .pt30 {
        padding-top: calc(0.5em * 3)
    }

    .pr30 {
        padding-right: calc(0.5em * 3)
    }

    .pb30 {
        padding-bottom: calc(0.5em * 3)
    }

    .pl30 {
        padding-left: calc(0.5em * 3)
    }

    .mt40 {
        margin-top: calc(0.5em * 4)
    }

    .mr40 {
        margin-right: calc(0.5em * 4)
    }

    .mb40 {
        margin-bottom: calc(0.5em * 4)
    }

    .ml40 {
        margin-left: calc(0.5em * 4)
    }

    .pt40 {
        padding-top: calc(0.5em * 4)
    }

    .pr40 {
        padding-right: calc(0.5em * 4)
    }

    .pb40 {
        padding-bottom: calc(0.5em * 4)
    }

    .pl40 {
        padding-left: calc(0.5em * 4)
    }

    .mt50 {
        margin-top: calc(0.5em * 5)
    }

    .mr50 {
        margin-right: calc(0.5em * 5)
    }

    .mb50 {
        margin-bottom: calc(0.5em * 5)
    }

    .ml50 {
        margin-left: calc(0.5em * 5)
    }

    .pt50 {
        padding-top: calc(0.5em * 5)
    }

    .pr50 {
        padding-right: calc(0.5em * 5)
    }

    .pb50 {
        padding-bottom: calc(0.5em * 5)
    }

    .pl50 {
        padding-left: calc(0.5em * 5)
    }

    .mt60 {
        margin-top: calc(0.5em * 6)
    }

    .mr60 {
        margin-right: calc(0.5em * 6)
    }

    .mb60 {
        margin-bottom: calc(0.5em * 6)
    }

    .ml60 {
        margin-left: calc(0.5em * 6)
    }

    .pt60 {
        padding-top: calc(0.5em * 6)
    }

    .pr60 {
        padding-right: calc(0.5em * 6)
    }

    .pb60 {
        padding-bottom: calc(0.5em * 6)
    }

    .pl60 {
        padding-left: calc(0.5em * 6)
    }

    .mt70 {
        margin-top: calc(0.5em * 7)
    }

    .mr70 {
        margin-right: calc(0.5em * 7)
    }

    .mb70 {
        margin-bottom: calc(0.5em * 7)
    }

    .ml70 {
        margin-left: calc(0.5em * 7)
    }

    .pt70 {
        padding-top: calc(0.5em * 7)
    }

    .pr70 {
        padding-right: calc(0.5em * 7)
    }

    .pb70 {
        padding-bottom: calc(0.5em * 7)
    }

    .pl70 {
        padding-left: calc(0.5em * 7)
    }

    .mt80 {
        margin-top: calc(0.5em * 8)
    }

    .mr80 {
        margin-right: calc(0.5em * 8)
    }

    .mb80 {
        margin-bottom: calc(0.5em * 8)
    }

    .ml80 {
        margin-left: calc(0.5em * 8)
    }

    .pt80 {
        padding-top: calc(0.5em * 8)
    }

    .pr80 {
        padding-right: calc(0.5em * 8)
    }

    .pb80 {
        padding-bottom: calc(0.5em * 8)
    }

    .pl80 {
        padding-left: calc(0.5em * 8)
    }

    .mt90 {
        margin-top: calc(0.5em * 9)
    }

    .mr90 {
        margin-right: calc(0.5em * 9)
    }

    .mb90 {
        margin-bottom: calc(0.5em * 9)
    }

    .ml90 {
        margin-left: calc(0.5em * 9)
    }

    .pt90 {
        padding-top: calc(0.5em * 9)
    }

    .pr90 {
        padding-right: calc(0.5em * 9)
    }

    .pb90 {
        padding-bottom: calc(0.5em * 9)
    }

    .pl90 {
        padding-left: calc(0.5em * 9)
    }

    .mt100 {
        margin-top: calc(0.5em * 10)
    }

    .mr100 {
        margin-right: calc(0.5em * 10)
    }

    .mb100 {
        margin-bottom: calc(0.5em * 10)
    }

    .ml100 {
        margin-left: calc(0.5em * 10)
    }

    .pt100 {
        padding-top: calc(0.5em * 10)
    }

    .pr100 {
        padding-right: calc(0.5em * 10)
    }

    .pb100 {
        padding-bottom: calc(0.5em * 10)
    }

    .pl100 {
        padding-left: calc(0.5em * 10)
    }

    .mt0_ {
        margin-top: 0 !important
    }

    .mb0_ {
        margin-bottom: 0 !important
    }

    .ml0_ {
        margin-left: 0 !important
    }

    .mr0_ {
        margin-right: 0 !important
    }

    .mt5 {
        margin-top: 5px
    }

    .mb5 {
        margin-bottom: 5px
    }

    .ml5 {
        margin-left: 5px
    }

    .mr5 {
        margin-right: 5px
    }

    .ml-auto {
        margin-left: auto
    }

    .mr-auto {
        margin-right: auto
    }

    .divider::after {
        content: "";
        width: 100px;
        height: 1px;
        background-color: #101010;
        margin: 12px 0 24px;
        display: block
    }

    .divider-line::after {
        content: "";
        width: 100%;
        height: 2px;
        background: linear-gradient(to right, #959595 20px, #FAFAFA 21px, #FAFAFA);
        margin: 12px 0 24px;
        display: block
    }

    .hline::after {
        width: 1px;
        height: 128px;
        background-color: #101010;
        margin: 20px 0 0;
        display: block;
        transform-origin: 50% 0
    }

    .u-button {
        width: 300px;
        max-width: 100%;
        background-color: #fe7e01;
        color: #fff;
        border-radius: 30px;
        text-decoration: none;
        text-align: center;
        margin: 0 auto;
        padding: 12px 0;
        display: table
    }

    .u-label {
        border-radius: 8px;
        background-color: #959595;
        color: #fff;
        margin: 0 10px 8px 0;
        padding: 2px 6px
    }
}

@media all and (max-width: 1024px) {
    .sp-flex-wrap {
        flex-wrap: wrap
    }

    .u-button {
        width: 100%
    }
}

@media all and (max-width: 430px) {
    .sp-flex-wrap.flex-two-column>*, .sp-flex-wrap.flex-three-column>* {
        width: 100%
    }
}

@media all and (min-width: 1200px) {
    .sp-none {
        display: inherit
    }

    .pc-none {
        display: none
    }

    .u-button {
        width: 260px
    }

    .u-button:hover {
        color: #fff
    }

    .hover-underline:hover {
        text-decoration: underline
    }

    .hover-opacity:hover {
        opacity: .7;
        transition: .4s
    }
}

@media all {
    .form-field::after {
        content: "";
        display: table;
        clear: both
    }

    .js-error {
        color: #cd353f;
        background: #faffa5;
        margin-top: 5px;
        padding-left: 5px
    }

    .form-label {
        margin: 1.25rem 0 .35rem
    }

    .form-label .required {
        font-size: 12px;
        font-size: 0.75rem;
        line-height: 1;
        font-weight: 600;
        background-color: #fff;
        border-radius: 12px;
        border: #cd353f 1px solid;
        color: #cd353f;
        margin-left: 10px;
        padding: 2px 8px;
        display: inline-block
    }

    .form-control input[type=text], .form-control input[type=number], .form-control input[type=email], .form-control input[type=tel], .form-control input[type=password], .form-control input[type=date], .form-control input[type=datetime], .form-control textarea {
        display: inline-block;
        background-color: #fff;
        background-clip: padding-box;
        border: 1px solid #959595;
        border-radius: 2px;
        color: #343434;
        font-size: 1rem;
        font-weight: 400;
        line-height: 1;
        padding: .75rem
    }

    .form-control input[type=text]:hover, .form-control input[type=number]:hover, .form-control input[type=email]:hover, .form-control input[type=tel]:hover, .form-control input[type=password]:hover, .form-control input[type=date]:hover, .form-control input[type=datetime]:hover, .form-control textarea:hover {
        background-color: #fafafa
    }

    .form-control input[type=text]:focus, .form-control input[type=number]:focus, .form-control input[type=email]:focus, .form-control input[type=tel]:focus, .form-control input[type=password]:focus, .form-control input[type=date]:focus, .form-control input[type=datetime]:focus, .form-control textarea:focus {
        outline-color: #f59c28
    }

    .form-control input[type=text]:disabled, .form-control input[type=number]:disabled, .form-control input[type=email]:disabled, .form-control input[type=tel]:disabled, .form-control input[type=password]:disabled, .form-control input[type=date]:disabled, .form-control input[type=datetime]:disabled, .form-control textarea:disabled {
        border: 1px solid #c1c1c1;
        background-color: #959595
    }

    .form-control input[type=text]::-moz-placeholder, .form-control input[type=number]::-moz-placeholder, .form-control input[type=email]::-moz-placeholder, .form-control input[type=tel]::-moz-placeholder, .form-control input[type=password]::-moz-placeholder, .form-control input[type=date]::-moz-placeholder, .form-control input[type=datetime]::-moz-placeholder, .form-control textarea::-moz-placeholder {
        color: #ccc
    }

    .form-control input[type=text]::placeholder, .form-control input[type=number]::placeholder, .form-control input[type=email]::placeholder, .form-control input[type=tel]::placeholder, .form-control input[type=password]::placeholder, .form-control input[type=date]::placeholder, .form-control input[type=datetime]::placeholder, .form-control textarea::placeholder {
        color: #ccc
    }

    .form-control textarea {
        line-height: 1.5
    }

    .form-control-unit {
        margin-left: .75rem
    }

    .form-control-help::before {
        content: "※";
        margin-right: .5rem
    }

    .form-control-help {
        font-size: 12px;
        font-size: 0.75rem;
        line-height: 2;
        text-align: left;
        margin-top: 10px
    }

    .form-control-select select {
        display: inline-block;
        background-color: #fff;
        background-clip: padding-box;
        border: 1px solid #959595;
        border-radius: 2px;
        font-size: 1rem;
        font-weight: 400;
        line-height: 1;
        margin-left: .35rem;
        padding: .75rem;
        float: left
    }

    .form-control-select select option[value=""] {
        color: #ccc
    }

    .form-control-radio, .form-control-checkbox {
        width: 50%;
        float: left
    }

    .form-control-radio label, .form-control-checkbox label {
        width: 100%;
        display: block;
        position: relative;
        padding-left: 2rem;
        box-sizing: border-box;
        cursor: pointer
    }

    .form-control-radio input[type=radio] {
        position: absolute;
        visibility: hidden
    }

    .form-control-radio input[type=radio]+span {
        content: "";
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        height: 1.5rem;
        width: 1.5rem;
        background-color: #fff;
        border: 1px solid #959595;
        border-radius: 100%;
        z-index: 5;
        display: block;
        position: absolute;
        transition: border .25s linear
    }

    .form-control-radio input[type=radio]:checked+span {
        border-width: 8px;
        border-color: #000
    }

    .form-control-radio input[type=radio]:disabled+span {
        border: 1px solid #c1c1c1;
        background-color: #959595
    }

    .form-control-checkbox input[type=checkbox] {
        position: absolute;
        visibility: hidden
    }

    .form-control-checkbox input[type=checkbox]+span {
        left: 5px;
        top: 0;
        width: 1.25em;
        height: 1.25em;
        border: 2px solid #5a5a5a;
        color: #1d1d1d;
        outline-color: #eaeaea;
        padding: 0;
        display: inline-block;
        position: absolute;
        cursor: pointer;
        transition: all .2s ease-in-out
    }

    .form-control-checkbox input[type=checkbox]:checked+span {
        border-left: 2px solid #000;
        border-bottom: 4px solid #000;
        border-top: 1px solid rgba(0, 0, 0, 0);
        border-right: 1px solid rgba(0, 0, 0, 0);
        transform: rotate(-45deg) scaleY(0.5)
    }

    .form-control-checkbox input[type=checkbox]:disabled+span {
        border-color: #c1c1c1;
        background-color: #959595
    }

    .form-control-button {
        position: relative
    }

    .form-control-button input[type=submit], .form-control-button input[type=button], .form-control-button button, .form-control-button .button {
        width: 100%;
        text-align: center;
        display: block;
        color: #fff;
        background-color: #000;
        border: 1px solid #000;
        padding: .75rem 0;
        box-sizing: border-box
    }

    .is_notTouchDevice .form-control-button input[type=submit]:hover, .is_notTouchDevice .form-control-button input[type=submit]:focus, .is_notTouchDevice .form-control-button input[type=button]:hover, .is_notTouchDevice .form-control-button input[type=button]:focus, .is_notTouchDevice .form-control-button button:hover, .is_notTouchDevice .form-control-button button:focus, .is_notTouchDevice .form-control-button .button:hover, .is_notTouchDevice .form-control-button .button:focus {
        border: #000 1px solid;
        color: #000;
        background-color: #fafafa;
        box-shadow: 0 1px 2px #959595;
        transition: .3s
    }
}

@media all and (min-width: 1200px) {
    .form-field {
        width: 100%
    }

    .form-label {
        margin: .5rem 0 0
    }

    .form-control input[type=text], .form-control input[type=number], .form-control input[type=email], .form-control input[type=tel], .form-control input[type=password], .form-control input[type=date], .form-control input[type=datetime] {
        margin-left: .5rem
    }
}

.loader, .loader:before, .loader:after {
    border-radius: 50%;
    width: 2em;
    height: 2em;
    animation-fill-mode: both;
    animation: loading 1.8s infinite ease-in-out
}

.loader {
    color: #fff;
    font-size: 10px;
    margin: 80px auto;
    position: relative;
    text-indent: -9999em;
    transform: translateZ(0);
    animation-delay: -0.16s
}

.loader:before, .loader:after {
    content: "";
    position: absolute;
    top: 0
}

.loader:before {
    left: -3.5em;
    animation-delay: -0.32s
}

.loader:after {
    left: 3.5em
}

@keyframes loading {
    0%, 80%, 100% {
        box-shadow: 0 2.5em 0 -1.3em
    }

    40% {
        box-shadow: 0 2.5em 0 0
    }
}

@keyframes active-menu-bar02 {
    100% {
        height: 0
    }
}

@media all {
    .image-set {
        display: flex;
        align-items: center
    }

    .image-set.align-top {
        align-items: flex-start
    }

    .image-set .image {
        width: 33.3%
    }

    .image-set .image.image10 {
        width: 10%;
        overflow: hidden;
        flex: 1;
        position: relative
    }

    .image-set .image.image20 {
        width: 20%;
        overflow: hidden;
        flex: 1;
        position: relative
    }

    .image-set .image.image30 {
        width: 30%;
        overflow: hidden;
        flex: 1;
        position: relative
    }

    .image-set .image.image40 {
        width: 40%;
        overflow: hidden;
        flex: 1;
        position: relative
    }

    .image-set .image.image50 {
        width: 50%;
        overflow: hidden;
        flex: 1;
        position: relative
    }

    .image-set .image.image60 {
        width: 60%;
        overflow: hidden;
        flex: 1;
        position: relative
    }

    .image-set .image.image70 {
        width: 70%;
        overflow: hidden;
        flex: 1;
        position: relative
    }

    .image-set .image.image80 {
        width: 80%;
        overflow: hidden;
        flex: 1;
        position: relative
    }

    .image-set .image.image90 {
        width: 90%;
        overflow: hidden;
        flex: 1;
        position: relative
    }

    .image-set .text {
        width: 66.6%
    }

    .image-set .text:not(.no-padding) {
        padding: 36px 32px 28px
    }
}

@media all and (max-width: 430px) {
    .image-set {
        flex-wrap: wrap
    }

    .image-set .image, .image-set .text {
        width: 100%
    }

    .image-set .image.image10, .image-set .text.image10 {
        width: 100%;
        flex: auto
    }

    .image-set .image.image20, .image-set .text.image20 {
        width: 100%;
        flex: auto
    }

    .image-set .image.image30, .image-set .text.image30 {
        width: 100%;
        flex: auto
    }

    .image-set .image.image40, .image-set .text.image40 {
        width: 100%;
        flex: auto
    }

    .image-set .image.image50, .image-set .text.image50 {
        width: 100%;
        flex: auto
    }

    .image-set .image.image60, .image-set .text.image60 {
        width: 100%;
        flex: auto
    }

    .image-set .image.image70, .image-set .text.image70 {
        width: 100%;
        flex: auto
    }

    .image-set .image.image80, .image-set .text.image80 {
        width: 100%;
        flex: auto
    }

    .image-set .image.image90, .image-set .text.image90 {
        width: 100%;
        flex: auto
    }

    .image-set .text:not(.no-padding) {
        padding: 16px 14px 12px
    }
}

@media all {
    .list-title {
        font-size: 17px;
        font-size: 1.0625rem;
        line-height: 1.4117647059;
        margin: 24px 0 12px
    }

    .list {
        list-style: none;
        font-size: 15px;
        font-size: 0.9375rem;
        margin-bottom: 24px;
        padding-left: 30px
    }

    .list>li {
        position: relative
    }

    .list>li::before {
        top: 0;
        position: absolute
    }

    .list.list-dot>li::before {
        content: "";
        top: .6em;
        left: -14px;
        width: .4em;
        height: .4em;
        border-radius: 50%;
        background-color: #959595;
        display: inline-block
    }

    .list.list-flex {
        display: flex;
        flex-wrap: wrap
    }

    .list.list-flex>li {
        margin: 0 0 1.25em
    }

    .list.list-text>li::before {
        content: attr(data-text) "";
        left: -1.5em;
        top: .25em;
        width: 1.5em;
        height: 1.5em;
        background-color: #959595;
        color: #fff;
        border-radius: 100%;
        text-align: center
    }

    .list.list-text-red>li::before {
        background-color: rgba(0, 0, 0, 0);
        color: #cd353f;
        line-height: 1.25;
        border: 1px solid #cd353f
    }

    .list.list-number {
        counter-reset: mylist
    }

    .list.list-number>li {
        counter-increment: mylist
    }

    .list.list-number>li::before {
        content: counter(mylist) ".";
        left: -16px
    }

    .list.list-check {
        padding-left: 1.5em
    }

    .list.list-check>li::before {
        top: 4px;
        left: -18px;
        content: "";
        width: 1em;
        height: 1em;
        content: "";
        background-image: url("data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48ZyBmaWxsPSIjMTAxMDEwIj48cG9seWdvbiBwb2ludHM9IjMzNS42LDQxNC4zIDUzLjUsNDE0LjMgNTMuNSwxMzIuMSAyOTEuMSwxMzIuMSAzNDQuNiw3OC42IDAsNzguNiAwLDQ2Ny44IDM4OS4xLDQ2Ny44IDM4OS4xLDQ0MSAzODkuMSwzMjMuNyAzMzUuNiwzNzcuMiAiLz48cG9seWdvbiBwb2ludHM9IjE1OC45LDE2My4zIDEwMy45LDIxOC4zIDE5My40LDMwNy44IDI0OC40LDM2Mi44IDMwMy40LDMwNy44IDUxMiw5OS4yIDQ1Nyw0NC4yIDI0OC40LDI1Mi44ICIvPjwvZz48L3N2Zz4=");
        background-repeat: no-repeat;
        background-size: contain;
        display: inline-block
    }

    .list.list-info {
        font-size: 12px;
        font-size: 0.75rem;
        padding: 0 0 0 15px
    }

    .list.list-info>li::before {
        content: "※";
        left: -14px;
        display: inline-block
    }

    .define-list {
        width: 100%;
        display: flex;
        flex-wrap: wrap
    }

    .define-list dt {
        width: 20%;
        padding-bottom: .5em
    }

    .define-list dd {
        width: 80%;
        padding-left: 1em;
        padding-bottom: .5em
    }
}

@media all and (max-width: 430px) {
    .list-title {
        font-size: 17px;
        font-size: 1.0625rem;
        line-height: 1.4117647059
    }
}

@media all {
    .table-wrapper {
        max-width: 100%;
        display: flex;
        overflow-x: scroll
    }

    .table {
        width: auto;
        font-size: 15px;
        font-size: 0.9375rem;
        line-height: 1.6666666667;
        border-collapse: collapse
    }

    .table.w-full {
        width: 100%
    }

    .table th, .table td {
        border: #959595 1px solid;
        padding: 5px 10px
    }

    .table th {
        background-color: #fafafa
    }
}

@media all and (max-width: 768px) {
    .table-wrapper.table-wrapper-flex .table-cell {
        display: block
    }
}

@media all and (min-width: 1200px) {
    .table-wrapper {
        overflow-x: auto
    }

    .table.w-80 {
        width: 80%
    }

    .table.w-60 {
        width: 60%
    }
}

@keyframes animate-svg-fill {
    0% {
        fill: rgba(0, 0, 0, 0)
    }

    100% {
        fill: #000
    }
}

@keyframes animate-svg-fill-red {
    0% {
        fill: rgba(0, 0, 0, 0)
    }

    100% {
        fill: #c61a25
    }
}

.svg-elem-1 {
    animation: animate-svg-fill .7s cubic-bezier(0.55, 0.055, 0.675, 0.19) .8s both
}

.svg-elem-2 {
    animation: animate-svg-fill .7s cubic-bezier(0.55, 0.055, 0.675, 0.19) .9s both
}

.svg-elem-3 {
    animation: animate-svg-fill-red .7s cubic-bezier(0.55, 0.055, 0.675, 0.19) 1s both
}

.svg-elem-4 {
    animation: animate-svg-fill-red .7s cubic-bezier(0.55, 0.055, 0.675, 0.19) 1.1s both
}

.svg-elem-5 {
    animation: animate-svg-fill .7s cubic-bezier(0.55, 0.055, 0.675, 0.19) 1.2s both
}

.svg-elem-6 {
    animation: animate-svg-fill .7s cubic-bezier(0.55, 0.055, 0.675, 0.19) 1.3s both
}

.svg-elem-7 {
    animation: animate-svg-fill .7s cubic-bezier(0.55, 0.055, 0.675, 0.19) 1.4s both
}

.svg-elem-8 {
    animation: animate-svg-fill .7s cubic-bezier(0.55, 0.055, 0.675, 0.19) 1.5s both
}

.svg-elem-9 {
    animation: animate-svg-fill .7s cubic-bezier(0.55, 0.055, 0.675, 0.19) 1.6s both
}

.svg-elem-10 {
    animation: animate-svg-fill .7s cubic-bezier(0.55, 0.055, 0.675, 0.19) 1.7s both
}

.svg-elem-11 {
    animation: animate-svg-fill .7s cubic-bezier(0.55, 0.055, 0.675, 0.19) 1.8s both
}

.svg-elem-12 {
    animation: animate-svg-fill .7s cubic-bezier(0.55, 0.055, 0.675, 0.19) 1.9s both
}

.svg-elem-13 {
    animation: animate-svg-fill .7s cubic-bezier(0.55, 0.055, 0.675, 0.19) 2s both
}

.svg-elem-14 {
    animation: animate-svg-fill .7s cubic-bezier(0.55, 0.055, 0.675, 0.19) 2.1s both
}

.svg-elem-15 {
    animation: animate-svg-fill .7s cubic-bezier(0.55, 0.055, 0.675, 0.19) 2.2s both
}

.svg-elem-16 {
    animation: animate-svg-fill .7s cubic-bezier(0.55, 0.055, 0.675, 0.19) 2.3s both
}

@media all {
    html, body {
        width: 100%;
        height: 100%;
        font-size: 100%;
        color: #343434;
        font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
    }

    h1, h2, h3, h4, h5, h6 {
        font-weight: bold
    }

    img {
        vertical-align: middle
    }

    a, a:hover {
        color: #343434;
        text-decoration: none
    }

    .is_notTouchDevice a:hover {
        opacity: .8
    }

    fieldset {
        border-radius: 4px;
        padding: 10px 20px
    }

    fieldset legend {
        background-color: #fff;
        padding: 0 10px;
        display: inline-block
    }

    .page-content.wrapper .inner {
        padding: 40px 10px
    }

    .page-content h2:not(.title) {
        font-size: 22px;
        font-size: 1.375rem;
        line-height: 1.0909090909;
        font-weight: 500;
        color: #fff;
        background: #191919;
        margin: 12px 0 24px;
        padding: 10px
    }

    .page-content h2.title {
        font-size: 18px;
        font-size: 1.125rem;
        line-height: 1;
        font-weight: 500
    }

    .page-content h2.title span {
        color: #333;
        font-size: 26px;
        font-size: 1.625rem;
        font-weight: 600;
        margin-bottom: 10px;
        display: block
    }

    .page-content .table-cell {
        display: table-cell
    }

    .page-content .table-cell+.table-cell {
        margin-left: 20px
    }

    .page-content .table th {
        background: #d6e1e7;
        text-align: center;
        white-space: nowrap
    }

    .page-content .table.table-nowrap td {
        white-space: nowrap
    }

    .page-content .table.table-inner {
        font-size: 14px;
        font-size: 0.875rem
    }

    .page-content .table.table-inner th {
        background-color: inherit;
        text-align: left
    }

    .page-content .table.table-inner th::after {
        content: ":";
        padding: 0 5px
    }

    .page-content .table.table-inner th, .page-content .table.table-inner td {
        border: none;
        padding: 5px
    }

    .page-content .table.table-center th, .page-content .table.table-center td {
        text-align: center
    }

    .page-content .download-button {
        margin: 0 0 60px
    }

    .page-content .download-button .u-button {
        width: 80%;
        border-radius: 2px;
        border: #333 3px solid;
        background: #fff;
        font-size: 25px;
        font-size: 1.5625rem;
        color: #333;
        padding: 40px
    }

    .page-content .download-button .u-button::before {
        content: "";
        width: 1.25em;
        height: 1.25em;
        content: "";
        background-image: url("/assets/img/icon-file-download.svg");
        background-repeat: no-repeat;
        background-size: contain;
        margin-right: 5px;
        display: inline-block;
        transform: translateY(6px)
    }

    .page-content .list-info {
        font-size: 15px;
        font-size: 0.9375rem;
        line-height: 1.8666666667
    }

    .page-content .define-list dt:first-of-type {
        border-top: #333 1px solid
    }

    .page-content .define-list dd:first-of-type {
        border-top: #efefef 1px solid
    }

    .page-content .define-list dt {
        border-bottom: #333 1px solid;
        text-align: center;
        padding: 20px 10px
    }

    .page-content .define-list dd {
        border-bottom: #efefef 1px solid;
        font-size: 14px;
        font-size: 0.875rem;
        line-height: 1.5714285714;
        padding: 20px 20px 20px 40px
    }

    .page-content .define-list dd dt:first-of-type, .page-content .define-list dd dd:first-of-type {
        border-top: none
    }

    .page-content .define-list dd dt {
        text-align: left;
        font-weight: 500;
        border-bottom: none;
        padding: 0
    }

    .page-content .define-list dd dd {
        border-bottom: none;
        margin-bottom: 20px;
        padding: 0 0 0 20px
    }

    .page-content .define-list dd .list {
        margin: 0;
        transform: translateX(-15px)
    }

    .page-content .define-list dd .list li {
        margin-bottom: 10px
    }

    .page-content .reference {
        border: #959595 1px solid;
        border-radius: 8px;
        padding: 5px 10px
    }

    .page-content .reference dl {
        font-size: 15px;
        font-size: 0.9375rem;
        display: flex;
        flex-wrap: wrap
    }

    .page-content .reference dl dt {
        width: 100px;
        min-height: 44px;
        font-weight: 500;
        text-align: center;
        background: #d6e1e7;
        margin-bottom: 10px;
        padding-top: 10px
    }

    .page-content .reference dl dd {
        width: calc(100% - 100px);
        min-height: 44px;
        margin-bottom: 10px;
        padding-left: 10px;
        display: inline-flex;
        align-items: center
    }

    .search-form {
        display: inline-block;
        position: relative
    }

    .search-form .search-field {
        font-size: 0.8em;
        border: 1px solid #fff;
        outline: none;
        padding: 5px
    }

    .search-form input[type=submit] {
        display: none
    }

    .search-form label {
        right: 4px;
        top: 4px;
        position: absolute;
        cursor: pointer
    }

    .page-numbers {
        margin: 20px 0;
        display: flex
    }

    .page-numbers li {
        width: 36px;
        height: 36px;
        margin-right: 10px
    }

    .page-numbers li a, .page-numbers li span {
        width: 100%;
        height: 100%;
        color: #fff;
        text-align: center;
        display: inline-flex;
        align-items: center;
        justify-content: center
    }

    .page-numbers li a {
        background: #333
    }

    .page-numbers li span {
        background: #a7c8da
    }
}

@media all and (max-width: 1024px) {

    .page-content .download-button .u-button {
        font-size: 20px;
        font-size: 1.25rem
    }
}

@media all and (max-width: 430px) {
    .page-content h2:not(.title) {
        font-size: 18px;
        font-size: 1.125rem;
        line-height: 1.4444444444
    }

    .page-content .reference dd {
        font-size: 13px;
        font-size: 0.8125rem;
        line-height: 1.5384615385
    }

    .page-content .define-list dt:first-of-type {
        border-top: none
    }

    .page-content .define-list dt {
        width: 100%;
        padding: 10px
    }

    .page-content .define-list dd {
        width: 100%;
        margin-bottom: 20px;
        padding: 14px 20px
    }

    .page-content .download-button {
        width: 100%
    }

    .page-content .download-button .u-button {
        width: 100%;
        font-size: 16px;
        font-size: 1rem;
        padding: 30px 0
    }
}

@media all and (min-width: 1200px) {
    .page-content h2:not(.title) {
        margin-top: 70px;
        margin-bottom: 40px
    }

    .page-content .table-cell+.table-cell {
        margin-left: 30px
    }

    .page-content .download-button .u-button:hover {
        background: #0f2027;
        background: linear-gradient(to right, #2C5364, #203A43, #0F2027);
        border-color: #0f2027;
        color: #fff
    }

    .page-content .download-button .u-button:hover::before {
        background-image: url("/assets/img/icon-file-download-w.svg")
    }

    .page-content .page-numbers li a:hover {
        opacity: .8;
        transition: .4s
    }
}

@media all {
    #page-top {
        bottom: 20px;
        right: 30px;
        position: fixed;
        z-index: 99
    }

    #page-top p {
        width: 50px;
        height: 50px
    }
}
/*SP*/
@media all and (max-width: 430px) {
    #page-top {
        right: 10px;
    }
    #page-top svg {
        width: 30px;
        height: auto;
    }
}

@keyframes fadeInFromLeft {
    0% {
        opacity: 0;
        transform: translateX(-40%)
    }

    100% {
        opacity: 1;
        transform: translateX(0)
    }
}

@media all {

    .page-archive {
        padding-bottom: 40px
    }

    .page-archive h2:not(.title) {
        margin-top: 40px
    }

    .page-archive .archive-list {
        margin-top: 40px
    }

    .page-archive .archive-list li {
        width: 100%;
        margin-bottom: 20px
    }

    .page-archive .archive-list li a {
        padding: 5px;
        display: block
    }

    .page-archive .archive-list li h3 {
        font-weight: 500;
        padding-left: 1em
    }

    .page-category .archive-description {
        background: #fafafa;
        border-radius: 8px;
        font-size: 14px;
        font-size: 0.875rem;
        line-height: 1.5714285714;
        padding: 10px 15px
    }

    .page-category .category-title {
        font-size: 18px;
        font-size: 1.125rem;
        padding: 10px
    }

    .page-category .products-list {
        margin-top: 30px;
        padding: 0
    }

    .page-category .products-list li {
        width: 24%;
        margin: 10px 0
    }

    .page-category .products-list li span {
        width: 170px;
        border: #959595 1px solid;
        margin: 0 auto;
        display: table;
        overflow: hidden
    }

    .page-category .products-list li h3 {
        width: 170px;
        font-weight: 400;
        font-size: 15px;
        font-size: 0.9375rem;
        margin: 5px auto
    }

    .page-category.category-puretec {
        counter-reset: cf-title
    }

    .page-category.category-puretec .category-title {
        counter-increment: cf-title
    }

    .page-category.category-puretec .category-title::before {
        content: counter(cf-title) ".";
        margin-right: 8px
    }



    .inner-after h2:not(.title) {
        margin-top: 40px
    }

    .inner-after h2+.list {
        margin-top: -20px
    }

    .inner-after .image-set-gemu .image {
        width: 240px
    }

    .inner-after .image-set-gemu .text {
        width: calc(100% - 240px)
    }

    .inner-after .table caption {
        font-size: 15px;
        font-size: 0.9375rem;
        font-weight: 500;
        text-align: left
    }

    .inner-after .table caption::before {
        content: "●";
        color: #a7c8da;
        margin-right: 5px;
        display: inline-block;
        transform: translateY(-1px)
    }

    .search-results {
        counter-reset: results
    }

    .search-results article {
        counter-increment: results;
        border-radius: 2px;
        border-bottom: #ccc 1px solid;
        padding: 10px 10px 10px 60px;
        position: relative
    }

    .search-results article::before {
        content: "No."counter(results);
        top: 10px;
        left: 10px;
        position: absolute
    }

    .search-results article a {
        display: block
    }

    .search-results article .inner-text {
        font-size: 15px;
        font-size: 0.9375rem;
        margin: 4px 0 2px
    }

    #single-topics .page-meta {
        font-size: 13px;
        font-size: 0.8125rem;
        text-align: right;
        margin-bottom: 10px
    }

    #single-topics .content {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.875
    }

    #single-topics .content .date {
        border-bottom: #ccc 1px solid
    }

    #single-topics .content h1 {
        font-size: 18px;
        font-size: 1.125rem;
        line-height: 1.4444444444;
        margin: 10px 0 20px
    }

    #single-topics .content dl {
        background: #d6e1e7;
        margin-top: .75em;
        padding: 10px;
        display: flex;
        flex-wrap: wrap
    }

    #single-topics .content dl dt {
        width: 80px;
        font-weight: 500;
        border-right: #fff 1px solid
    }

    #single-topics .content dl dd {
        width: calc(100% - 80px);
        padding-left: 20px
    }

    #single-information .page-meta {
        font-size: 13px;
        font-size: 0.8125rem;
        text-align: right;
        margin-bottom: 10px
    }

    #single-information .text h1 {
        font-size: 20px;
        font-size: 1.25rem;
        line-height: 1.4;
        margin: 10px 10px 15px
    }

    #single-information .text .text-inner {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.875;
        padding: 0 15px
    }

    #single-information .text .text-inner img {
        max-width: 500px;
        margin: 0 auto;
        display: table
    }

    #page-home .pickup-products {
        background-image: linear-gradient(to right, #333 24%, #FAFAFA 24%, #FAFAFA)
    }

    #page-home .pickup-products .inner-bg {
        height: 550px;
        position: relative;
        overflow: hidden
    }

    #page-home .pickup-products .inner-bg h2 {
        top: 40px;
        left: 20px;
        color: #fff;
        position: absolute
    }

    #page-home .pickup-products .inner-bg h2 span {
        color: #fff
    }

    #page-home .pickup-products .inner-bg::before {
        content: "";
        left: 23px;
        top: -1px;
        width: 300px;
        height: 620px;
        background-color: #333;
        display: block;
        transform: skewX(-27deg);
        position: absolute;
        z-index: 0
    }

    #page-home .pickup-products .slick-wrapper {
        padding: 140px 20px 20px 20px
    }

    #page-home .pickup-products .slick-wrapper .slick-slider-top .slick-prev:before, #page-home .pickup-products .slick-wrapper .slick-slider-top .slick-next:before {
        font-size: 30px;
        color: #959595
    }

    #page-home .pickup-products .slick-wrapper .slick-slider-top .slick-current p {
        display: block
    }

    #page-home .pickup-products .slick-wrapper .slick-slider-top li {
        padding: 0 40px
    }

    #page-home .pickup-products .slick-wrapper .slick-slider-top img {
        width: 200px;
        margin: 0 auto;
        display: table
    }

    #page-home .pickup-products .slick-wrapper .slick-slider-top h3 {
        text-align: center;
        background-color: rgba(255, 255, 255, .5);
        margin: 20px 0 10px
    }

    #page-home .pickup-products .slick-wrapper .slick-slider-top p {
        font-size: 14px;
        font-size: 0.875rem;
        line-height: 1.5714285714;
        background-color: rgba(255, 255, 255, .5);
        display: none
    }

    #page-home .topics h2 {
        padding: 40px 0 0 0
    }

    #page-home .topics .image-set {
        margin-bottom: 50px;
        align-items: flex-start
    }

    #page-home .topics .image-set .image {
        width: 150px
    }

    #page-home .topics .image-set .text {
        width: calc(100% - 150px);
        padding: 0 0 0 32px
    }

    #page-home .topics .image-set .text h3 {
        margin: .5em 0
    }

    #page-home .topics .image-set .text h3 a {
        color: #333;
        font-size: 20px;
        font-size: 1.25rem;
        display: block
    }

    #page-home .topics .image-set .text dl {
        display: flex
    }

    #page-home .topics .image-set .text dl dd {
        width: 80%
    }

    #page-home .topics .image-set .text dl dt {
        width: 20%
    }

    #page-home .topics ul+a {
        text-align: right;
        display: block
    }

    #page-home .news {
        height: 500px;
        background-image: linear-gradient(to right, #FAFAFA 75%, #333 75%, #333);
        overflow: hidden
    }

    #page-home .news .inner-bg {
        min-height: 400px;
        padding: 20px 10px;
        position: relative
    }

    #page-home .news .inner-bg::before {
        content: "";
        right: -16px;
        top: 0px;
        width: 300px;
        height: 620px;
        background-color: #333;
        display: block;
        transform: skewX(26deg);
        position: absolute;
        z-index: 0
    }

    #page-home .news .inner-bg h2 {
        top: 40px;
        left: 20px;
        text-shadow: 0 0 2px #fff, 0 0 1px #fff;
        position: absolute;
        z-index: 1
    }

    #page-home .news .inner-bg p {
        top: 55px;
        width: calc(100% - 20px);
        position: absolute;
        z-index: 1
    }

    #page-home .news .inner-bg p a {
        color: #fff;
        font-size: 14px;
        font-size: 0.875rem
    }

    #page-home .news .inner-bg ul {
        top: 140px;
        width: calc(100% - 20px);
        border-top: #efefef 1px solid;
        position: absolute;
        z-index: 1
    }

    #page-home .news .inner-bg ul li {
        border-bottom: #efefef 1px solid
    }

    #page-home .news .inner-bg ul li a {
        width: 100%;
        padding: 20px 10px
    }

    #page-home .news .inner-bg ul li a .date {
        width: 120px;
        margin-right: 20px
    }

    #page-home .guide li {
        width: 30%
    }

    #page-home .guide li a {
        width: 100%;
        height: 100%;
        display: block;
        overflow: hidden;
        position: relative
    }

    #page-home .guide li a span {
        left: 50%;
        top: 50%;
        width: 80%;
        color: #fff;
        font-weight: 600;
        text-shadow: 0 0 2px #000;
        text-align: center;
        display: block;
        position: absolute;
        transform: translate(-50%, -50%)
    }

    #page-about .about {
        background-image: linear-gradient(to top, #ffffff 10%, #FAFAFA 10%, #FAFAFA 90%, #ffffff 90%)
    }

    #page-about .about .image-set {
        align-items: flex-start
    }

    #page-about .about .text {
        width: 50%;
        background-color: #333;
        font-size: 18px;
        font-size: 1.125rem;
        line-height: 2;
        color: #fff;
        padding: 30px;
        overflow: hidden
    }

    #page-about .about .text strong {
        background-color: #111;
        font-size: 1.2em;
        padding: 2px 30px 2px 10px;
        display: table;
        position: relative;
        opacity: 0;
        transform: translateX(-40%);
        animation-name: fadeInFromLeft;
        animation-delay: .25s;
        animation-duration: 1s;
        animation-timing-function: ease-in;
        animation-iteration-count: 1;
        animation-fill-mode: forwards
    }

    #page-about .about .text strong:last-of-type {
        animation-delay: 1.25s
    }

    #page-about .about .text strong::after {
        content: "";
        right: -20px;
        top: 0;
        width: 40px;
        height: 100%;
        background-color: #111;
        transform: skew(-30deg);
        display: block;
        position: absolute;
        z-index: 0
    }

    #page-about .about .text strong:first-of-type {
        margin-top: 20px;
        margin-bottom: -25px
    }

    #page-about .about .image {
        width: 50%;
        transform: translate(-30px, 10px);
        z-index: 5
    }

    #page-about .quality {
        background-image: linear-gradient(to top, #ffffff 45%, #333 45%);
        padding: 50px 0
    }

    #page-about .quality h2 {
        color: #fff
    }

    #page-about .quality h2 span {
        color: #fff
    }

    #page-about .quality ul {
        margin-top: 30px
    }

    #page-about .quality ul li {
        width: 100%;
        margin-bottom: 30px;
        display: flex
    }

    #page-about .quality ul li img {
        width: 150px
    }

    #page-about .quality ul li:nth-child(1) p, #page-about .quality ul li:nth-child(2) p {
        color: #fff
    }

    #page-about .quality ul li p {
        padding: 20px
    }

    #page-about .customer {
        content: "";
        background-image: url("/assets/img/bg-about-logo.webp");
        background-repeat: no-repeat;
        background-size: cover;
        padding: 50px 0
    }

    #page-about .customer ul {
        margin: 30px 0
    }

    #page-about .customer ul li {
        width: 23%;
        border-radius: 2px;
        background-color: #fff;
        margin-bottom: 20px;
        padding: 5px;
        display: inline-flex;
        align-items: center;
        justify-content: center
    }

    #page-products fieldset {
        width: 500px;
        margin: 0 auto;
        display: table
    }

    #page-products fieldset.active {
        height: 20px;
        overflow: hidden;
        cursor: pointer;
        transition: .5s
    }

    #page-products #searchForm .form-field {
        margin-bottom: 30px;
        display: flex;
        align-items: center
    }

    #page-products #searchForm .form-field .form-label {
        width: 120px;
        margin: 0
    }

    #page-products #searchForm .form-field .form-control, #page-products #searchForm .form-field .form-control-checkbox {
        width: calc(100% - 120px)
    }

    #page-products #searchForm .form-field .form-control-button {
        width: 100%
    }

    #page-products #searchForm .form-field .form-control input {
        width: 100%;
        margin: 0
    }

    #page-products #searchForm .form-field .form-control-checkbox label {
        margin-bottom: 10px
    }

    #page-products .search-result ul li {
        margin-bottom: 30px
    }

    #page-products .search-result ul li a {
        display: block
    }

    #page-products .search-result ul li .image-set {
        width: 500px;
        border: #959595 1px solid;
        margin: 0 auto;
        padding: 20px;
        align-items: flex-start
    }

    #page-products .search-result ul li .image-set .image {
        width: 150px
    }

    #page-products .search-result ul li .image-set .text {
        width: calc(100% - 150px);
        padding-left: 20px
    }

    #page-products #categoryList {
        justify-content: space-between;
        row-gap: 20px
    }

    #page-products #categoryList li {
        text-align: center
    }

    #page-company iframe {
        height: 400px
    }

    #page-recruit .recruit-image {
        width: 100%;
        min-height: 300px;
        content: "";
        background-image: url("/assets/img/recruit.webp");
        background-repeat: no-repeat;
        background-size: contain;
        background-color: #a7c8da;
        background-position: top right;
        border: #a7c8da 5px solid;
        padding-top: 190px
    }

    #page-recruit .recruit-image h2 {
        font-size: 24px;
        font-size: 1.5rem;
        line-height: 1.5833333333;
        color: #fff;
        background-color: #5e95a1;
        text-shadow: 0 2px 4px #000;
        margin-top: 30px;
        padding: 20px;
        display: inline-block
    }

    #page-recruit .recruit-image p {
        font-size: 20px;
        font-size: 1.25rem;
        line-height: 1.5;
        font-weight: 500;
        color: #fff;
        text-shadow: 0 0 2px #000;
        margin: 30px 20px
    }

    #page-recruit h3 {
        text-align: center;
        padding: 0 45px;
        display: inline-block;
        position: relative
    }

    #page-recruit h3:before {
        content: "";
        top: calc(50% - 1px);
        left: 0;
        width: 100%;
        height: 4px;
        background: #333;
        position: absolute
    }

    #page-recruit h3 span {
        background: #fff;
        padding: 0 1em;
        position: relative
    }

    #page-recruit .define-list {
        background-color: #fafafa;
        border-radius: 4px;
        padding: 10px
    }

    #page-recruit .define-list dd {
        border-color: #959595
    }

    #page-contact .information {
        border-radius: 8px;
        background-color: #fafafa;
        margin: 0 auto 50px;
        padding: 20px;
        display: table
    }

    #page-contact #contactForm {
        max-width: 100%;
        display: table
    }

    #page-contact #contactForm .form-field {
        border-bottom: #efefef 1px solid;
        padding-bottom: 20px;
        margin-bottom: 20px;
        display: flex;
        align-items: center;
        flex-wrap: wrap
    }

    #page-contact #contactForm .form-label {
        width: 200px;
        margin: 0
    }

    #page-contact #contactForm input, #page-contact #contactForm select, #page-contact #contactForm textarea {
        margin-left: 0;
        max-width: 100%
    }

    #page-contact #contactForm .form-label .required {
        transform: translateY(-1px)
    }

    #page-contact #contactForm .l-input {
        width: 400px
    }

    #page-contact #contactForm .form-control-half {
        width: 195px;
        margin-right: 10px
    }

    #page-contact #contactForm .form-control-checkbox {
        padding-top: 20px;
        float: none
    }

    #page-contact #contactForm .form-control-checkbox+.js-error {
        transform: translateX(200px)
    }

    #page-contact #contactForm .form-control-checkbox label {
        margin-bottom: 10px;
        white-space: nowrap
    }

    #page-contact #contactForm .form-control-button {
        width: 100%
    }

    #page-contact #contactForm input[type=submit] {
        background-color: #cd353f;
        border-color: #cd353f;
        margin: 30px 0 50px
    }

    #page-contact #contactForm input[type=submit]:hover {
        color: #fff
    }

    #page-contact .result {
        border-radius: 8px;
        padding: 40px
    }

    #page-contact .result.error {
        font-size: 18px;
        font-size: 1.125rem;
        line-height: 1.4444444444;
        border: red 2px solid;
        margin: 30px 0
    }

    #page-contact .result.success {
        font-size: 18px;
        font-size: 1.125rem;
        line-height: 1.6666666667;
        border: #333 2px solid;
        margin: 30px auto;
        display: table
    }

    #page-downloads #dlForm {
        width: 600px;
        max-width: 100%;
        border-radius: 8px;
        background: #fafafa;
        border: #959595 1px solid;
        padding: 20px 20px;
        position: relative
    }

    #page-downloads #dlForm .form-field {
        margin: 0 0 10px;
        display: flex;
        flex-wrap: wrap
    }

    #page-downloads #dlForm .form-field .form-label {
        width: 150px
    }

    #page-downloads #dlForm .form-field .form-label label {
        margin: 0
    }

    #page-downloads #dlForm .form-field .form-control {
        width: calc(100% - 150px)
    }

    #page-downloads #dlForm .form-field .form-control .input-l {
        width: 400px
    }

    #page-downloads #dlForm .form-control-button {
        margin: 20px 0 0
    }

    #page-downloads #dlForm .form-control-button input[type=submit] {
        border-radius: 4px;
        background-color: #cd353f;
        border-color: #fff;
        cursor: pointer
    }

    #page-downloads #dlForm .form-control-button input[type=submit]:hover, #page-downloads #dlForm .form-control-button input[type=submit]:focus {
        opacity: .9;
        color: #fff;
        border-color: #fff;
        box-shadow: none
    }

    #page-downloads #dlForm .overlay {
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, .6);
        display: none;
        position: absolute;
        z-index: 10;
        transition: .4s
    }

    #page-downloads #dlForm.active .overlay {
        display: block
    }

    #page-downloads .table-download {
        font-size: 14px;
        font-size: 0.875rem;
        line-height: 2
    }

    #page-downloads .table-download th {
        background-color: #fafafa
    }

    #page-downloads .table-download td {
        text-align: center
    }

    #page-downloads .table-download td span {
        font-size: 12px;
        font-size: 0.75rem;
        text-align: left;
        display: block
    }

    #page-downloads .table-download a {
        border-radius: 4px;
        box-shadow: 0 1px 2px #959595;
        background-color: #fffcee;
        padding: 0 4px;
        display: inline-block
    }

    #page-trouble-shooting h2 {
        margin-top: 20px
    }

    #page-trouble-shooting h3 {
        font-size: 18px;
        font-size: 1.125rem;
        margin: 40px 0 10px
    }

    #page-trouble-shooting h3::before {
        content: "";
        width: .75em;
        height: .75em;
        background-color: #333;
        margin-right: 7px;
        display: inline-block;
        transform: translateY(2px)
    }

    #page-privacy-policy .lead {
        width: 80%;
        font-size: 15px;
        font-size: 0.9375rem;
        line-height: 1.8666666667;
        margin: 20px auto
    }

    #page-privacy-policy dl {
        width: 80%;
        margin: 0 auto;
        display: table
    }

    #page-privacy-policy dl dt {
        font-size: 18px;
        font-size: 1.125rem;
        line-height: 1.5555555556;
        font-weight: 500;
        border-bottom: #ccc 1px solid;
        padding: 0 0 5px 10px
    }

    #page-privacy-policy dl dd {
        font-size: 15px;
        font-size: 0.9375rem;
        line-height: 1.8666666667;
        margin: 10px 15px 40px 15px
    }

    #page-privacy-policy dl dd ul {
        font-size: 14px;
        font-size: 0.875rem;
        margin: 5px 0 10px 10px
    }
}

@media all and (max-width: 1024px) {
    #page-products fieldset, #page-products .search-result ul li .image-set {
        width: 100%
    }

    #page-products #categoryList {
        justify-content: flex-start;
        flex-wrap: wrap;
        -moz-column-gap: 3.33%;
        column-gap: 3.33%
    }

    #page-products #categoryList li {
        width: 30%
    }

    #page-about .about .image-set {
        flex-wrap: wrap;
        flex-direction: column-reverse
    }

    #page-about .about .text {
        width: 100%;
        padding-top: 70px
    }

    #page-about .about .image {
        width: 90%;
        transform: translate(5%, 30px)
    }


}

@media all and (max-width: 768px) {
    .page-category .products-list li {
        width: 33.33%
    }

    #page-products #categoryList {
        justify-content: space-between;
        -moz-column-gap: auto;
        column-gap: auto
    }

    #page-products #categoryList li {
        width: 48%
    }


}

@media all and (max-width: 430px) {
    .wrapper+.wrapper>.inner {
        padding-top: 0
    }

    .wrapper+.wrapper>.inner h2:first-child {
        margin-top: 20px
    }

    .page-category .products-list {
        justify-content: space-between
    }

    .page-category .products-list li {
        width: 48%
    }
    .inner-after .image-set-gemu {
        margin-top: 60px;
        flex-wrap: wrap
    }

    .inner-after .image-set-gemu .image, .inner-after .image-set-gemu .text {
        width: 100%
    }

    #page-home h2 {
        font-size: 16px;
        font-size: 1rem;
        margin-top: 20px
    }

    #page-home h2 span {
        margin-bottom: 0
    }

    #page-home .pickup-products {
        background-image: linear-gradient(to right, #333 30%, #FAFAFA 30%, #FAFAFA)
    }

    #page-home .pickup-products .inner-bg {
        height: 540px
    }

    #page-home .pickup-products .inner-bg::before {
        left: -94px;
        transform: skewX(-22deg)
    }

    #page-home .pickup-products .slick-wrapper {
        position: relative
    }

    #page-home .pickup-products .slick-wrapper .slick-slider-top .slick-prev, #page-home .pickup-products .slick-wrapper .slick-slider-top .slick-next {
        top: 130px
    }

    #page-home .pickup-products .slick-wrapper .slick-slider-top li {
        padding: 0 20px
    }

    #page-home .pickup-products .slick-wrapper .slick-slider-top .slick-current {
        color: #343434
    }

    #page-home .pickup-products .slick-wrapper .slick-slider-top img {
        width: 170px
    }

    #page-home .topics ul {
        margin-top: 20px
    }

    #page-home .topics .image-set {
        margin-bottom: 50px
    }

    #page-home .topics .image-set .image, #page-home .topics .image-set .text {
        width: 100%;
        padding: 0
    }

    #page-home .topics .image-set .image {
        width: 80%;
        margin: 0 auto
    }

    #page-home .topics .image-set .text {
        font-size: 14px;
        font-size: 0.875rem;
        margin: 20px 0 0
    }

    #page-home .topics .image-set .text h2 {
        font-size: 16px;
        font-size: 1rem
    }

    #page-home .news {
        min-height: 600px
    }

    #page-home .news .inner-bg::before {
        right: -65px
    }

    #page-home .news .inner-bg h2 {
        top: 40px
    }

    #page-home .news .inner-bg p {
        top: 105px
    }

    #page-home .news .inner-bg ul {
        top: 150px
    }

    #page-home .news .inner-bg ul li a {
        background-color: rgba(255, 255, 255, .5)
    }

    #page-home .guide li {
        width: 100%
    }

    #page-about .about .text {
        font-size: 16px;
        font-size: 1rem
    }

    #page-about .quality ul li {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.875;
        display: block
    }

    #page-about .quality ul li img {
        width: 80%;
        margin: 0 auto;
        display: table
    }

    #page-about .customer ul li {
        width: 48%;
        margin-bottom: 20px
    }

    #page-products #searchForm .form-field {
        flex-wrap: wrap
    }

    #page-products #searchForm .form-field .form-label, #page-products #searchForm .form-field .form-control, #page-products #searchForm .form-field .form-control-checkbox {
        width: 100%
    }

    #page-products #searchForm .form-field .form-label {
        margin-bottom: 10px;
        font-weight: 600
    }

    #page-products #categoryList li {
        width: 100%
    }

    #page-company iframe {
        height: 300px
    }

    #page-recruit .recruit-image h2 {
        font-size: 18px;
        font-size: 1.125rem;
        margin-top: 0
    }

    #page-recruit .recruit-image p {
        font-size: 16px;
        font-size: 1rem;
        margin: 10px
    }

    #page-recruit h3 {
        margin-left: auto;
        margin-right: auto;
        display: table
    }

    #page-recruit .mt20.align-right.medium {
        text-align: left
    }

    #page-contact .information {
        font-size: 14px;
        font-size: 0.875rem;
        line-height: 1.5714285714
    }

    #page-contact #contactForm .form-field {
        border-bottom: none;
        padding-bottom: 0
    }

    #page-contact #contactForm .form-label, #page-contact #contactForm .form-control {
        width: 100%
    }

    #page-contact #contactForm .form-control-half {
        width: 140px
    }

    #page-contact #contactForm .l-input {
        width: 100%
    }

    #page-downloads #dlForm .form-field {
        margin: 0
    }

    #page-downloads #dlForm .form-field .form-label {
        width: 100%;
        margin: .5em 0 .25em
    }

    #page-downloads #dlForm .form-field .form-label label {
        margin: 0
    }

    #page-downloads #dlForm .form-field .form-control {
        width: 100%
    }

    #page-downloads #dlForm .form-field .form-control input {
        font-size: 13px;
        font-size: 0.8125rem
    }

    #page-downloads #dlForm .form-field .form-control .input-l {
        width: 100%
    }

    #page-privacy-policy .lead {
        width: 100%
    }

    #page-privacy-policy dl {
        width: 100%
    }
}

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

    .page-content.wrapper .inner-after {
        padding: 20px 10px 0
    }

    .page-archive .archive-list a:hover {
        background-color: #d6e1e7;
        transform: translateX(10px);
        transition: .3s
    }

    .page-category .products-list li {
        width: 20%
    }

    .page-category .products-list li a:hover img {
        transform: scale(1.1);
        transition: .4s
    }
    .search-results a:hover h3 {
        color: #333
    }

    #single-topics .content {
        width: calc(100% - 300px);
        margin: 0 auto
    }

    #single-topics .content h1 {
        font-size: 20px;
        font-size: 1.25rem;
        margin: 14px 0 20px
    }

    #page-home h2 {
        font-size: 25px;
        font-size: 1.5625rem
    }

    #page-home h2 span {
        font-size: 40px;
        font-size: 2.5rem
    }

    #page-home .pickup-products {
        height: 620px;
        background-image: linear-gradient(to right, #333 30%, #FAFAFA 30%, #FAFAFA);
        overflow: hidden
    }

    #page-home .pickup-products .inner-bg {
        height: 530px;
        background-image: linear-gradient(to right, #333 405px, #FAFAFA 405px, #FAFAFA);
        overflow: visible
    }

    #page-home .pickup-products .inner-bg h2 {
        top: 50px
    }

    #page-home .pickup-products .inner-bg::before {
        left: 230px;
        height: 630px;
        transform: skewX(-29deg)
    }

    #page-home .pickup-products .slick-wrapper {
        width: calc((100vw - 1200px)/2 + 1200px - 40px);
        padding-top: 220px
    }

    #page-home .pickup-products .slick-wrapper .slick-slider-top li {
        padding: 0 20px
    }

    #page-home .pickup-products .slick-wrapper .slick-slider-top li img {
        max-width: 240px;
        width: auto
    }

    #page-home .pickup-products .slick-wrapper .slick-slider-top .slick-prev, #page-home .pickup-products .slick-wrapper .slick-slider-top .slick-next {
        top: 140px
    }

    #page-home .pickup-products .slick-wrapper .slick-slider-top .slick-prev:before, #page-home .pickup-products .slick-wrapper .slick-slider-top .slick-next:before {
        font-size: 40px
    }

    #page-home .pickup-products .slick-wrapper .slick-slider-top h3 {
        background-color: rgba(250, 250, 250, .5)
    }

    #page-home .pickup-products .slick-wrapper .slick-slider-top p {
        background-color: inherit
    }

    #page-home .pickup-products .slick-wrapper .slick-slider-top .slick-current a {
        color: #fff
    }

    #page-home .pickup-products .slick-wrapper .slick-slider-top .slick-current a h3 {
        background-color: inherit
    }

    #page-home .pickup-products .slick-wrapper .slick-slider-top a {
        display: block
    }

    #page-home .pickup-products .slick-wrapper .slick-slider-top a:hover {
        opacity: .8;
        transition: .4s
    }

    #page-home .topics .inner-wide {
        position: relative
    }

    #page-home .topics h2 {
        padding-top: 50px
    }

    #page-home .topics h2+p {
        right: 0;
        top: 40px;
        position: absolute
    }

    #page-home .topics .image-set {
        margin: 40px 0 60px
    }

    #page-home .topics .image-set .image {
        width: 240px;
        height: 240px;
        overflow: hidden
    }

    #page-home .topics .image-set .text {
        width: calc(100% - 240px)
    }

    #page-home .news .inner-bg {
        min-height: 100%;
        background-image: linear-gradient(to left, #333 280px, #FAFAFA 280px, #FAFAFA)
    }

    #page-home .news .inner-bg::before {
        right: 89px
    }

    #page-home .news .inner-bg h2 {
        top: 50px
    }

    #page-home .news .inner-bg ul {
        top: 160px
    }

    #page-home .news .inner-bg ul a:hover {
        background-color: #d6e1e7;
        transition: .4s
    }

    #page-home .guide li {
        margin-bottom: 0
    }

    #page-home .guide li a:hover img {
        transform: scale(1.05);
        transition: .4s
    }

    #page-about h2 {
        font-size: 25px;
        font-size: 1.5625rem
    }

    #page-about h2 span {
        font-size: 40px;
        font-size: 2.5rem
    }

    #page-about .about .image-set {
        justify-content: space-between
    }

    #page-about .about .image-set .text {
        width: 600px;
        padding: 50px 20px
    }

    #page-about .about .image-set .text strong:first-of-type {
        margin-bottom: -30px
    }

    #page-about .about .image-set .image {
        width: 640px;
        transform: translate(-50px, 50px)
    }

    #page-about .quality {
        background-image: linear-gradient(to top, #ffffff 55%, #333 55%)
    }

    #page-about .quality ul li {
        width: 22%;
        display: block
    }

    #page-about .quality ul li:nth-child(1) p, #page-about .quality ul li:nth-child(2) p {
        color: #343434
    }

    #page-about .quality ul li img {
        width: 100%
    }

    #page-about .quality ul li p {
        padding: 20px 0
    }

    #page-about .customer h2+p {
        display: inline-block;
        transform: translate(260px, -50px)
    }

    #page-about .customer ul {
        margin: 20px 0
    }

    #page-products #searchForm input[type=submit]:hover, #page-products #searchForm input[type=submit]:focus {
        background-color: #000;
        color: #fff;
        opacity: .8;
        cursor: pointer
    }

    #page-products .search-result ul li a:hover .image-set {
        border-color: #cd353f
    }

    #page-company iframe {
        height: 500px
    }

    #page-recruit .recruit-image {
        padding-top: 0
    }

    #page-recruit .recruit-image p {
        color: #343434;
        text-shadow: none
    }

    #page-contact #contactForm input[type=submit]:hover, #page-contact #contactForm input[type=submit]:focus {
        color: #fff;
        opacity: .8
    }
}

@media screen and (min-width: 2450px) {
    #page-home .pickup-products {
        background-image: linear-gradient(to right, #333 40%, #FAFAFA 40%, #FAFAFA)
    }

    #page-home .news {
        background-image: linear-gradient(to right, #FAFAFA 64%, #333 64%, #01539c)
    }
}

@media all {
    .page-single {
        padding-bottom: 50px
    }

    .page-single h2:not(.title) {
        font-size: 24px;
        font-size: 1.5rem;
        line-height: 1;
        background: #333;
        margin: 60px 0 16px;
        padding: 6px 10px
    }

    .page-single h3 {
        font-size: 20px;
        font-size: 1.25rem;
        line-height: 1;
        margin: 30px 0 10px;
        padding: 0 0 10px;
        position: relative
    }

    .page-single h3:after {
        content: "";
        bottom: 0;
        left: 0;
        width: 100%;
        height: 6px;
        background-image: repeating-linear-gradient(-45deg, #ccc, #ccc 1px, transparent 2px, transparent 5px);
        background-size: 7px 7px;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        position: absolute
    }

    .page-single h4 {
        font-size: 20px;
        font-size: 1.25rem;
        line-height: 1.3;
        border-bottom: 4px solid #cd353f;
        margin: 0 0 10px;
        padding: 1rem .5rem .5rem;
        position: relative
    }

    .page-single h4::before {
        content: "■";
        margin-right: 5px
    }

    .page-single h4::after {
        content: "";
        bottom: -4px;
        left: 0;
        width: 25%;
        height: 4px;
        background: #5c1717;
        position: absolute
    }

    .page-single .wrapper+.wrapper>.inner {
        padding-top: 0
    }

    .page-single .slick-prev:before, .page-single .slick-next:before {
        color: #959595
    }

    .page-single .product-item.no-slider ul {
        gap: 20px
    }

    .page-single .product-item .image {
        width: 340px;
        padding: 0 20px
    }

    .page-single .product-item .image .type {
        width: 100%;
        font-size: 12px;
        font-size: 0.75rem;
        display: table
    }

    .page-single .product-item .image .type li {
        width: 50%;
        color: #fff;
        background-color: #959595;
        text-align: center;
        border: #fff 2px solid;
        padding: 4px 6px;
        display: table-cell;
        vertical-align: middle
    }

    .page-single .product-item .text {
        width: calc(100% - 300px);
        min-height: 270px;
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.875;
        padding: 0 10px 0 25px;
        flex-direction: column;
        display: flex;
        justify-content: space-between
    }

    .page-single .product-item .text .description {
        font-size: 15px;
        font-size: 0.9375rem;
        line-height: 1.7333333333;
        margin-bottom: 20px
    }

    .page-single .product-item .text .table {
        font-size: 15px;
        font-size: 0.9375rem
    }

    .page-single .product-item .text .table th, .page-single .product-item .text .table td {
        text-align: center;
        padding: 5px
    }

    .page-single .product-item .download-link li {
        width: 100%;
        margin-top: 10px;
        display: inline-flex;
        justify-content: flex-end
    }

    .page-single .product-item .download-link a {
        font-weight: 500;
        display: block;
        padding: 0 0 0 2em;
        position: relative
    }

    .page-single .product-item .download-link a::before {
        content: "";
        left: 0;
        top: 0;
        width: 1.5em;
        height: 1.5em;
        background-image: url("/assets/img/icon-document.svg");
        background-repeat: no-repeat;
        background-size: contain;
        display: inline-block;
        position: absolute
    }

    .page-single .product-item .download-link a.small {
        width: 200px
    }

    .page-single .product-item .download-link a.large {
        width: 340px;
        max-width: 100%
    }

    .page-single .table caption {
        white-space: nowrap
    }

    .page-single .table .bg-light {
        background-color: #fffcee
    }

    .page-single .image-set-size {
        align-items: flex-start
    }

    .page-single .image-set-size .image {
        text-align: center;
        padding: 16px 0
    }

    .page-single .image-set-size .text {
        padding: 16px 0 0 32px
    }

    .page-single .hose-standard .right {
        padding-left: 30px
    }

    .page-single .hose-fittings-parts .image-set {
        align-items: flex-start;
        margin-bottom: 20px
    }

    .page-single .hose-fittings-parts .image-set .image {
        width: 150px;
        padding: 10px
    }

    .page-single .hose-fittings-parts .image-set .text {
        width: calc(100% - 150px);
        padding: 10px 0 0 10px
    }

    .page-single .hose-fittings-parts .image-set .text h5 {
        border-bottom: #959595 1px solid;
        padding: 0 0 2px 5px
    }

    .page-single .item-ferrule-concentric .ferrule-concentric-image-wrapper {
        margin-top: 40px;
        gap: 4%
    }

    .page-single .item-ferrule-concentric .ferrule-concentric-image-wrapper ul, .page-single .item-ferrule-concentric .ferrule-concentric-image-wrapper .table-wrapper {
        width: 48%;
        align-self: flex-start
    }

    .page-single .item-ferrule-concentric .ferrule-concentric-image-wrapper ul {
        -moz-column-gap: 0;
        column-gap: 0;
        row-gap: 40px
    }

    .page-single .item-ferrule-concentric .ferrule-concentric-image-wrapper ul li {
        width: 50%
    }

    .page-single .item-ferrule-concentric .ferrule-concentric-image-wrapper ul li:first-of-type {
        width: 100%;
        text-align: center
    }

    .page-single .item-ferrule-concentric .ferrule-concentric-image-wrapper ul figure {
        max-width: 100%
    }
}

@media all and (max-width: 1024px) {
    .page-single .item-ferrule-concentric .ferrule-concentric-image-wrapper {
        width: 100%;
        flex-wrap: wrap
    }

    .page-single .item-ferrule-concentric .ferrule-concentric-image-wrapper ul, .page-single .item-ferrule-concentric .ferrule-concentric-image-wrapper .table-wrapper {
        width: 100%
    }

    .page-single .item-ferrule-concentric .ferrule-concentric-image-wrapper .table-wrapper {
        margin-top: 40px
    }
}

@media all and (max-width: 768px) {
    .page-single .product-item.no-slider ul {
        justify-content: center
    }

    .page-single .image-set {
        flex-wrap: wrap
    }

    .page-single .image-set .image {
        width: 100%
    }

    .page-single .image-set .image .slick-slide img {
        margin: 0 auto;
        display: table
    }

    .page-single .image-set .image .slick-prev, .page-single .image-set .image .slick-next {
        z-index: 10
    }

    .page-single .image-set .text {
        width: 100%;
        min-height: auto;
        padding: 20px 10px 0 0
    }

    .page-single .image-set .text .description {
        font-size: 15px;
        font-size: 0.9375rem;
        line-height: 1.7333333333;
        margin-bottom: 20px
    }

    .page-single .image-set .text .download-link li {
        padding: 0 10px
    }

    .page-single .image-set .text .download-link li a {
        width: 100%
    }

    .page-single .image-set.image-set-size .image {
        padding-top: 20px;
        padding-bottom: 0
    }

    .page-single .image-set.image-set-size .text {
        width: auto;
        margin: 0 auto;
        padding-top: 0
    }

    .page-single .image-set+.list-info {
        margin: 10px 0 0 10px
    }
}

@media all and (max-width: 430px) {
    .page-single h2:not(.title) {
        font-size: 18px;
        font-size: 1.125rem;
        line-height: 1.4444444444
    }

    .page-single .table-wrapper th, .page-single .table-wrapper td {
        white-space: nowrap
    }

    .page-single .hose-standard .left, .page-single .hose-standard .right {
        width: 100%;
        padding: 0
    }

    .page-single .hose-fittings-parts .image-set {
        align-items: flex-start
    }

    .page-single .hose-fittings-parts .image-set .image {
        width: 80px;
        padding: 10px 0
    }

    .page-single .hose-fittings-parts .image-set .text {
        width: calc(100% - 90px);
        font-size: 12px;
        font-size: 0.75rem;
        line-height: 1.6666666667;
        padding: 10px 0 0 10px
    }

    .page-single .hose-fittings-parts .image-set h5 {
        font-size: 14px;
        font-size: 0.875rem
    }

    .page-single .item-ferrule-concentric .ferrule-concentric-image-wrapper ul li {
        width: 100%;
        text-align: center
    }
}

@media all and (min-width: 1200px) {
    .page-single .product-item li.w-full {
        padding-left: 150px
    }

    .page-single .item-ferrule-concentric .ferrule-concentric-image-wrapper {
        flex-wrap: nowrap
    }

    .page-single .item-ferrule-concentric .ferrule-concentric-image-wrapper ul {
        width: 640px;
        margin-right: 40px;
        justify-content: space-between
    }

    .page-single .item-ferrule-concentric .ferrule-concentric-image-wrapper ul li {
        width: 48%
    }

    .page-single .item-ferrule-concentric .ferrule-concentric-image-wrapper .table-wrapper {
        align-self: flex-start
    }

    .page-single .pfa-lining2 {
        transform: translateY(-170px)
    }

    .page-single .pfa-lining3 {
        transform: translateY(-280px)
    }
}

/*# sourceMappingURL=style.css.map*/