@media screen and (max-width: 767px) {
    body {
        -webkit-text-size-adjust: 100%
    }
}

.search-form__sp, .search-form__sp-close {
    display: none
}

@media screen and (max-width: 767px) {
    .headshrunk {
        display: none !important
    }

    .header {
        position: fixed;
        width: 100%;
        height: 66px;
        top: 0;
        left: 0;
        box-sizing: border-box
    }

    .header .inner {
        padding: 14px
    }

    .header .logo {
        margin-top: 0;
        display: inline-block;
        width: 42%;
        float: none
    }

    .header .logo img {
        width: auto;
        height: auto;
        vertical-align: top;
        max-height: 38px
    }

    .header-nav__top {
        position: relative;
        top: auto;
        right: auto;
        display: block;
        width: 88%;
        margin: 0 auto
    }

    .header-nav__top .search-form {
        display: none
    }

    .header-nav-sub__wrapper {
        display: none;
        height: auto;
        min-height: unset;
        position: relative;
        top: auto;
        left: auto
    }

    #main-nav {
        width: 100%
    }

    .header-nav {
        margin-left: 0;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between
    }

    .header-nav__item {
        display: block;
        margin-bottom: 2%;
    /*}*/

    /*.header-nav__item:first-of-type {*/
    /*    width: 100%*/
    /*}*/

    /*.header-nav__item:not(:first-of-type) {*/
        width: 49%
    }

    .header-nav__link {
        padding: 1.3em;
        background-color: #fff;
        border: 1px solid #3075b6;
        color: #3075b6;
        position: relative
    }

    .header-nav__link:hover {
        color: #3075b6;
        opacity: 1
    }

    .header-nav .js-lang-trigger .icon, .header-nav .js-lang-trigger .icon:hover {
        right: 12px;
        background: linear-gradient(to top right, rgba(255, 255, 255, 0) 50%, #3075b6 50.5%) no-repeat top left/50% 100%, linear-gradient(to top left, rgba(255, 255, 255, 0) 50%, #3075b6 50.5%) no-repeat top right/50% 100%
    }

    .header-nav .js-lang-trigger:hover .icon {
        transform: translateY(-50%)
    }

    .header-nav .js-lang-trigger.active .icon {
        transform: translateY(-50%) scale(1, -1)
    }

    .header-nav-sub {
        border-bottom: 1px solid #3075b6
    }

    .header-nav-sub__wrapper {
        box-sizing: border-box
    }

    .header-nav-sub__item {
        border-top: none;
        border-left: 1px solid #3075b6;
        border-right: 1px solid #3075b6
    }

    .header-nav-sub__item:not(:first-of-type) {
        border-top: 1px solid #3075b6
    }

    .header-nav-sub__item a {
        padding: 1.2em;
        background-color: #fff;
        color: #3075b6;
        position: relative
    }

    .header-nav-sub__item a:after {
        content: "";
        display: block;
        width: 4px;
        height: 4px;
        border-top: 1px solid #97badb;
        border-right: 1px solid #97badb;
        position: absolute;
        top: 50%;
        right: 1.3em;
        transform: rotate(45deg) translateY(-50%)
    }

    .search-form__sp {
        display: block;
        position: fixed;
        top: 5px;
        right: 70px;
        z-index: 90;
        opacity: 1
    }

    .search-form__sp-txt {
        width: 45px;
        height: 60px;
        position: relative;
        z-index: 100;
        background-image: url(../image/icon-search__sp.svg);
        background-position: center center
    }

    .search-form__sp .search-form {
        position: fixed;
        opacity: 0;
        top: 0;
        left: 0;
        width: 100%;
        background-color: #fff;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
        transition: 0.2s;
        padding: 10px;
        box-sizing: border-box;
        pointer-events: none
    }

    .search-form__sp .search-form form {
        width: calc(100% - 60px)
    }

    .search-form__sp .search-form__input {
        width: 100%;
        font-size: 16px;
        padding: 8px 10px;
        box-sizing: border-box
    }

    .search-form__sp .search-form__btn {
        padding: 1px 10px
    }

    .search-form__sp-close {
        display: block;
        width: 60px;
        height: 60px;
        position: absolute;
        right: 5px;
        top: 50%;
        box-sizing: border-box;
        padding: 0 !important;
        transform: translateY(-50%)
    }

    .search-form__sp-close:before, .search-form__sp-close:after {
        content: "";
        width: 32px;
        height: 2px;
        background-color: #2f75b6;
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        transform-origin: left;
        margin-top: -1px
    }

    .search-form__sp-close:before {
        transform: rotate(45deg) translate(-50%, -50%)
    }

    .search-form__sp-close:after {
        transform: rotate(-45deg) translate(-50%, -50%)
    }

    .search-open .search-form {
        opacity: 1;
        z-index: 101;
        pointer-events: auto
    }

    .search-open .mobile-menu-btn {
        opacity: 0;
        z-index: -1
    }
}

.subNav-sp__content .is_title {
    display: none
}

@media screen and (max-width: 767px) {
    #tabs {
        border: none
    }

    .mobile-menu-btn {
        position: relative;
        width: 60px;
        height: 60px;
        background: none;
        transition: all 0.4s;
        box-sizing: border-box;
        z-index: 99;
        position: fixed;
        top: 5px;
        right: 5px
    }
}

@media screen and (max-width: 767px) and (min-width: 768px) {
    .mobile-menu-btn {
        top: 20px;
        right: 20px
    }
}

@media screen and (max-width: 767px) {
    .mobile-menu-btn a {
        display: block;
        padding: 20px 14px;
        height: inherit;
        box-sizing: border-box;
        cursor: pointer
    }

    .mobile-menu-btn .mobile-menu-bar {
        position: relative;
        display: block;
        height: 100%
    }

    .mobile-menu-btn span {
        display: inline-block;
        transition: all 0.2s;
        box-sizing: border-box;
        position: absolute;
        left: 0;
        width: 100%;
        height: 2px;
        background-color: #2f75b6
    }

    .mobile-menu-btn span:nth-of-type(1) {
        top: 0
    }

    .mobile-menu-btn span:nth-of-type(2) {
        top: 9px
    }

    .mobile-menu-btn span:nth-of-type(2)::after {
        position: absolute;
        top: 0;
        left: 0;
        content: "";
        width: 100%;
        height: 2px;
        background-color: #2f75b6;
        transition: all 0.2s
    }

    .mobile-menu-btn span:nth-of-type(3) {
        bottom: 0
    }

    .mobile-menu-btn img {
        position: relative;
        top: -0.2em
    }
}

@media screen and (max-width: 767px) and (max-width: 768px) {
    .mobile-menu-btn.hover {
        opacity: 0.6
    }
}

@media screen and (max-width: 767px) and (min-width: 769px) {
    .mobile-menu-btn:hover {
        opacity: 0.6
    }
}

@media screen and (max-width: 767px) {
    .open .mobile-menu-bar span:nth-of-type(1) {
        transform: translateY(20px) scale(0)
    }

    .open .mobile-menu-bar span:nth-of-type(2) {
        transform: rotate(-45deg)
    }

    .open .mobile-menu-bar span:nth-of-type(2)::after {
        transform: rotate(90deg)
    }

    .open .mobile-menu-bar span:nth-of-type(3) {
        opacity: 0
    }

    .nav-global {
        background-color: #fff;
        position: fixed;
        top: 0;
        left: 100%;
        width: 100%;
        height: 100%;
        min-height: 100%;
        display: block;
        z-index: 98;
        transition: 0.4s;
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch
    }

    .nav-global #main-nav {
        float: none;
        height: auto;
        margin-top: 66px;
        padding-bottom: 40px;
        position: relative;
        flex: 1
    }

    .nav-global .mainNav {
        float: none
    }

    .nav-global .mainNav a {
        display: block;
        width: 100%;
        font-size: 13.5px;
        font-size: 3.6vw
    }

    .header.open .nav-global {
        left: 0
    }

    .header.open .search-form__sp {
        opacity: 0;
        z-index: -1
    }

    #dropmenu {
        height: auto
    }

    #dropmenu li {
        display: block;
        margin-left: 0
    }

    #dropmenu a {
        height: auto;
        border-bottom: none;
        padding: 22px 30px;
        line-height: 1;
        box-sizing: border-box;
        position: relative
    }

    #dropmenu a img {
        vertical-align: top;
        bottom: auto;
        width: auto !important;
        height: 11px !important
    }

    #dropmenu a:after {
        content: "";
        display: block;
        width: 5px;
        height: 5px;
        border-top: 2px solid #97badb;
        border-right: 2px solid #97badb;
        position: absolute;
        top: 50%;
        right: 2.2em;
        transform: rotate(45deg) translateY(-50%)
    }

    #dropmenu .acNavi a:after {
        display: none
    }

    #dropmenu .acNavi .icon-plus {
        width: 10px;
        height: 10px;
        position: absolute;
        top: 50%;
        right: 1.75em;
        transform: translateY(-50%);
        transform-origin: top
    }

    #dropmenu .acNavi .icon-plus:before, #dropmenu .acNavi .icon-plus:after {
        content: "";
        display: block;
        background-color: #97badb;
        position: absolute
    }

    #dropmenu .acNavi .icon-plus:before {
        width: 100%;
        height: 2px;
        top: 50%;
        left: 0;
        transform: translateY(-50%)
    }

    #dropmenu .acNavi .icon-plus:after {
        width: 2px;
        height: 100%;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        transform-origin: left
    }

    #dropmenu .acNavi.open .icon-plus {
        transform: rotate(45deg) translateY(-50%)
    }

    #dropmenu .subNav {
        height: auto;
        position: relative;
        top: auto;
        left: auto;
        display: none
    }

    #dropmenu .acNavi.open .subNav {
        display: block
    }

    #dropmenu .acNavi.open .icon-plus {
        transform: rotate(45deg) translateY(-50%)
    }

    #dropmenu #tabs {
        width: 100%
    }

    #dropmenu #tabs > p {
        display: none
    }

    .subNav-sp#tabs {
        padding: 0 !important;
        background-color: #fff
    }

    .subNav-sp#tabs .subNav-sp__back {
        width: auto;
        height: auto;
        float: none;
        margin-right: auto;
        margin-top: 0 !important
    }

    .subNav-sp#tabs .subNav-sp__content {
        display: block
    }

    .subNav-sp#tabs .subNav-sp__content a {
        display: block;
        height: auto;
        line-height: 1.3em
    }

    .subNav-sp {
        box-sizing: border-box
    }

    .subNav-sp__menu {
        padding-left: 2em
    }

    .subNav-sp__menu a {
        display: block !important;
        height: auto !important;
        padding: 16px !important
    }

    .subNav-sp__menu a:after {
        display: block !important
    }

    .subNav-sp__content {
        width: 100%;
        height: 100%;
        position: fixed;
        box-sizing: border-box;
        padding-top: 66px;
        top: 0;
        left: 110%;
        background-color: #fff;
        transition: 0.5s;
        z-index: 99;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch
    }

    .subNav-sp__content.current {
        left: 0
    }

    .subNav-sp__content li:nth-child(odd) {
        background-color: #fafafa
    }

    .subNav-sp__content li a {
        font-size: 13.5px
    }

    .subNav-sp__content li a:after {
        display: block !important
    }

    .subNav-sp__content li a font {
        font-size: 11px;
        position: relative;
        font-feature-settings: "palt"
    }

    .subNav-sp__back {
        width: 66px !important;
        height: auto !important;
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
        border-right: 1px solid #d7d7d7;
        padding: 32px 10px;
        box-sizing: border-box;
        position: relative
    }

    .subNav-sp__back .icon-arrow {
        width: 24px;
        height: 20px;
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        margin-left: 2px
    }

    .subNav-sp__back .icon-arrow:before, .subNav-sp__back .icon-arrow:after {
        content: "";
        position: absolute;
        display: block
    }

    .subNav-sp__back .icon-arrow:before {
        border-bottom: 2px solid #2f75b6;
        border-left: 2px solid #2f75b6;
        width: 15px;
        height: 15px;
        transform: rotate(45deg);
        top: 50%;
        left: 1px;
        margin-top: -8px
    }

    .subNav-sp__back .icon-arrow:after {
        width: 24px;
        height: 2px;
        background-color: #2f75b6;
        top: 50%;
        left: 0;
        transform: translateY(-50%)
    }

    .subNav-sp .is_title {
        display: flex;
        flex-direction: row-reverse;
        align-items: center;
        border-top: 1px solid #d7d7d7;
        border-bottom: 1px solid #d7d7d7
    }

    .subNav-sp .is_title__name {
        width: calc(100% - 66px);
        padding-left: 2em;
        box-sizing: border-box;
        margin-bottom: 0 !important
    }

    .subNav-sp .is_title__name a {
        padding: 0 30px 0 0 !important;
        display: flex !important;
        flex-wrap: wrap;
        align-items: center;
        line-height: 1;
        box-sizing: border-box
    }

    .subNav-sp .is_title__name a:after {
        content: "";
        display: block !important;
        width: 5px;
        height: 5px;
        border-top: 2px solid #97badb;
        border-right: 2px solid #97badb;
        position: absolute;
        top: 50%;
        right: 2.2em;
        transform: rotate(45deg) translateY(-50%)
    }

    .subNav-sp .is_title__name span {
        width: 100%
    }

    .subNav-sp .is_title__name img {
        display: block
    }

    .subNav-sp .is_title__name_img {
        margin-bottom: 0.5em
    }

    .subNav-sp .is_title__name_txt {
        font-size: 16px
    }

    .language {
        position: relative;
        bottom: 0;
        left: 0;
        top: auto;
        right: auto;
        border-top: 1px solid #efefef;
        padding: 20px 30px;
        width: 100%;
        box-sizing: border-box;
        margin-top: 0
    }

    .language span {
        display: none
    }

    .language a {
        margin-right: 2em
    }
}

@media screen and (max-width: 767px) {
    body {
        width: 100%;
        overflow-x: hidden;
        min-width: 100%;
        font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif
    }

    .inner {
        width: 100%;
        box-sizing: border-box
    }

    li.mainNav .subNav {
        width: 100%
    }

    #mainImg .inner {
        width: 100%;
        box-sizing: border-box
    }

    #breadcrumb {
        margin-bottom: 40px;
        padding: 0
    }

    #breadcrumb .inner {
        padding: 0
    }

    #breadcrumb ul {
        white-space: nowrap
    }

    #breadcrumb ul li {
        background-position: left 0.2em
    }

    #breadcrumb ul li:last-child {
        padding-right: 14px
    }

    #breadcrumb .sp-scroll {
        padding: 8px 16px;
        transition: 0.4s
    }

    #breadcrumb .sp-scroll.is-left-scrollable.is-right-scrollable {
        box-shadow: -20px 0 10px -10px #ccc inset
    }

    #breadcrumb .is-left-scrollable {
        box-shadow: none
    }

    .privacy, .contact, .member, .product, .inquiry {
        padding: 0
    }

    #catList {
        padding: 0;
        margin-top: -40px
    }

    #catList ul {
        display: flex;
        justify-content: space-between;
        padding: 10px 0
    }

    #catList ul li {
        width: 25%;
        position: relative;
        box-sizing: border-box;
        padding: 0 4px;
        border-right: 1px solid #e6e6e6;
        background-image: none
    }

    #catList ul li:last-child {
        border-right: none
    }

    #catList ul li a {
        display: block;
        margin: 0;
        font-size: 10px
    }

    #catList ul li span {
        position: absolute;
        top: 0;
        right: 0
    }
}

@media screen and (max-width: 767px) and (max-width: 767px) {
    #new #catList ul li {
        width: calc(100% / 3);
        position: relative
    }
}

@media screen and (max-width: 767px) {
    .bgWhite {
        padding-top: 0
    }

    .linkArea {
        padding-top: 36px
    }

    .linkArea .inner {
        width: 100%
    }

    .linkArea .box-base-L, .linkArea .box-base-R {
        box-sizing: border-box;
        float: none !important;
        height: auto;
        padding: 20px 36px;
        width: 100%
    }

    .linkArea .box-base-L img, .linkArea .box-base-R img {
        width: 100%;
        height: auto
    }

    .linkArea .box-base-L.right {
        margin-bottom: 0
    }

    .linkArea h3 {
        width: 100%;
        text-indent: -1.4em
    }

    .linkArea p {
        font-size: 11px;
        font-size: 2.93333vw;
        margin-bottom: 16px
    }

    .linkArea p img {
        width: auto !important;
        height: 12px !important
    }

    .linkArea ul li input, .linkArea ul li a {
        font-size: 12px;
        font-size: 3.2vw;
        display: block;
        background-size: 8px auto;
        background-position: right 0.4em;
        letter-spacing: 0;
        padding-right: 1em;
        text-align: left
    }

    .linkArea ul li:last-child {
        margin-bottom: 0
    }

    .linkArea ul li input {
        white-space: normal
    }

    .linkArea ul li input.link {
        margin-bottom: 0 !important
    }

    .mobile-scroll {
        width: 860px !important;
        min-height: 100px
    }

    .scroll-hint-icon {
        top: calc(50% - 40px)
    }

    #pagetop {
        position: fixed !important;
        bottom: 14px !important;
        z-index: 2
    }

    #pagetop a {
        display: block
    }

    #pagetop img {
        vertical-align: top;
        width: 48px;
        height: 48px
    }

    .cboxPhoto {
        width: 100% !important;
        height: auto !important
    }
}

@media screen and (max-width: 767px) {
    .swiper-button-next, .swiper-button-prev {
        width: 25px;
        height: 46px;
        margin-top: -25px;
        background-size: 100% auto
    }

    section h1 img {
        width: auto;
        height: 18px
    }

    #mainImg {
        background-size: auto 100%
    }

    #mainImg #carouselMain div {
        height: auto;
        overflow: hidden
    }

    #mainImg #carouselMain img {
        vertical-align: top;
        height: auto
    }

    #mainImg .inner {
        padding: 0
    }

    #mainImg picture {
        height: auto;
        display: block
    }

    #mainImg #pagerMain span {
        width: 8px;
        height: 8px
    }

    #mainImg .swiper-slide img {
        width: 100%;
        height: auto
    }

    #mainImg .mainImg-pagination {
        display: flex;
        justify-content: center;
        align-items: center
    }

    #mainImg .swiper-pagination {
        padding: 14px 0
    }

    #mainImg .swiper-pagination-bullet {
        width: 7px;
        height: 7px
    }

    #mainImg .swiper-pagination-bullet-active {
        width: 10px;
        height: 10px
    }

    .newProduct .box-base-L {
        margin: 0 -20px 40px;
        padding: 20px 0;
        border: none;
        outline: none;
        box-shadow: none
    }

    .newProduct .shadow-L {
        display: none
    }

    .newProduct .list_carousel {
        width: 100%
    }

    .newProduct .swiper-slide img {
        width: 100%;
        height: auto
    }

    .newProduct .lensBox .img {
        height: auto
    }

    .product {
        margin-bottom: 40px
    }

    .product .box-base-L {
        background-color: #fff;
        border: none;
        outline: none;
        box-shadow: none;
        padding: 0
    }

    .product .box-base-L ul {
        display: block
    }

    .product .box-base-L li {
        margin: 0 0 4px;
        width: 100%;
        height: auto
    }

    .product .box-base-L a {
        width: 100%;
        height: auto
    }

    .product .box-base-L a img {
        width: 100%;
        height: 100px;
        object-fit: cover;
        vertical-align: top
    }

    .product .box-base-L li:first-child img {
        object-position: 50% 80%
    }

    .product .box-base-L li:nth-child(2) img {
        object-position: 50% 80%
    }

    .product .box-base-L li:nth-child(3) img {
        object-position: center 90%
    }

    .product .box-base-L li:nth-child(4) img {
        object-position: center 25%
    }

    .product .shadow-L {
        display: none
    }

    .topics {
        float: none;
        width: 100%;
        height: auto !important;
        box-sizing: border-box;
        margin-bottom: 38px !important
    }

    .topics h1 img {
        width: auto;
        height: 13px
    }

    .topics dt, .topics dd {
        float: none
    }

    .topics dt {
        transform: scale(0.75);
        transform-origin: left top;
        margin-bottom: 0
    }

    .topics dd {
        font-size: 13px;
        font-size: 3.46667vw
    }

    .topics .list {
        top: 44px
    }

    .link {
        float: none;
        width: 100%;
        height: auto !important;
        box-sizing: border-box;
        overflow: hidden;
        margin-bottom: 28px !important
    }

    .link ul {
        display: flex;
        flex-wrap: wrap;
        margin: auto;
        margin-block-start: 0;
        margin-block-end: 0;
        float: left
    }

    .link ul li {
        width: 50%;
        margin: 0;
        padding: 6px;
        box-sizing: border-box;
        display: block
    }

    .link ul li img {
        width: 100%;
        height: auto;
        vertical-align: top
    }
}

@media screen and (max-width: 767px) {
    #greeting, #overview, #access {
        padding: 0 8%
    }

    .company .is_title__name {
        text-align: left;
        padding-top: 0;
        margin-bottom: 0
    }

    .company h2 {
        padding-top: 60px;
        margin-bottom: 25px
    }

    .company h2 img {
        height: 16px;
        width: auto
    }

    #philosophy {
        width: 100%;
        height: auto;
        padding: 60px 0;
        margin-bottom: 0
    }

    #philosophy h2 {
        padding-top: 0;
        margin-bottom: 2em
    }

    #philosophy p {
        font-size: 13px;
        font-size: 3.46667vw;
        line-height: 1.8em
    }

    #greeting {
        background-image: none
    }

    #greeting p {
        width: 100%;
        line-height: 2.4em
    }

    #overview {
        margin-bottom: 0
    }

    #overview table {
        width: 100%
    }

    #overview table th, #overview table td {
        display: block;
        width: 100%
    }

    #overview table th {
        padding-bottom: 0;
        border-bottom: none;
        color: rgba(80, 80, 80, 0.6);
        font-size: 11px;
        font-size: 2.93333vw;
        font-weight: bold;
        background: none;
        letter-spacing: 0.05em
    }

    #overview table td {
        padding-left: 0;
        padding-top: 0.5em;
        font-size: 13px;
        font-size: 3.46667vw;
        letter-spacing: 0.05em
    }

    #overview table td dl {
        overflow: hidden
    }

    #overview table td dl:first-child dt {
        padding-top: 0
    }

    #overview table td dt {
        font-size: 13px;
        font-size: 3.46667vw;
        padding-top: 1em
    }

    #overview table td dd {
        font-size: 11px;
        font-size: 2.93333vw
    }

    #access {
        margin-bottom: 0
    }

    #access .border {
        width: 100%;
        box-sizing: border-box;
        padding: 20px
    }

    #access .img {
        width: 30%;
        height: auto;
        margin-right: 0
    }

    #access .left {
        float: right;
        width: 70%;
        box-sizing: border-box;
        padding-left: 1.5em;
        font-size: 12px;
        font-size: 3.2vw
    }

    #access .map {
        float: none;
        width: 100%;
        height: auto;
        margin-top: 2em
    }
}

@media screen and (max-width: 767px) {
    .archive h1 {
        padding-top: 0
    }

    #product-archive .listBox {
        opacity: 1
    }

    #product-archive .listBox h2 {
        font-size: 16px;
        font-size: 4.26667vw;
        padding: 3px 10px
    }

    #product-archive .listBox .txt {
        font-size: 13px;
        font-size: 3.46667vw;
        line-height: 1.8em;
        letter-spacing: 0
    }

    #product-archive .listBox .txt br {
        display: none
    }

    #product-archive .productList {
        margin: 0
    }

    #product-archive .productList li {
        display: block;
        width: 100%;
        margin-left: 0
    }

    #product-archive .productBox .img {
        height: auto
    }

    #product-archive .productBox .img img {
        width: 100%;
        height: auto;
        vertical-align: top
    }

    #product-archive .productBox h3, #product-archive .productBox p {
        width: 100%
    }

    #product-archive .productBox h3 {
        font-size: 15px;
        font-size: 4vw
    }

    #product-archive .productBox h3 br {
        display: none
    }

    #product-archive .productBox p {
        font-size: 12px;
        font-size: 3.2vw
    }

    #product-archive .productBox p br {
        display: none
    }

    #product-archive .productBox .series {
        width: auto;
        font-size: 10px;
        padding-top: 2px;
        padding-bottom: 2px;
        line-height: 1;
        letter-spacing: 0
    }
}

@media screen and (max-width: 767px) {
    .single #breadcrumb {
        margin-bottom: 0
    }

    .single .titleArea {
        min-width: 100%;
        position: relative
    }

    .single .titleArea .img, .single .titleArea .txt {
        width: 100%;
        float: none;
        height: auto !important
    }

    .single .titleArea .img img {
        width: 100%;
        height: auto
    }

    .single .titleArea ul {
        display: flex
    }

    .single .titleArea ul li {
        bottom: 0;
        display: flex;
        align-items: center;
        padding: 4px 8px;
        box-sizing: border-box;
        line-height: 1;
        margin-right: 0.2em
    }

    .single .titleArea .txt {
        padding: 10% 5%;
        box-sizing: border-box
    }

    .single .titleArea .txt .inner {
        margin: 0
    }

    .single .titleArea .txt h1 {
        font-size: 17px;
        font-size: 4.53333vw;
        letter-spacing: 0.05em
    }

    .single .titleArea .txt p {
        font-size: 13px;
        font-size: 3.46667vw
    }

    .single .titleArea #prev, .single .titleArea #next {
        display: none
    }

    .single .featureArea {
        padding: 10%
    }

    .single .featureArea ul {
        margin-bottom: 0
    }

    .single .featureArea li {
        text-align: left;
        background-position: left 0.25em;
        font-size: 13px;
        font-size: 3.46667vw;
        line-height: 1.6em;
        margin-bottom: 10px;
        padding-left: 8px
    }

    .single .featureArea table {
        width: 100% !important;
        margin-bottom: 0 !important;
        margin-top: 2em
    }

    .single .featureArea table tr {
        height: auto !important
    }

    .single .featureArea table td {
        height: auto !important;
        text-align: left !important
    }

    .single .featureArea table td img.aligncenter {
        width: auto;
        height: 18px !important
    }

    .single .featureArea img {
        width: auto;
        height: auto;
        max-width: 100%;
        max-height: 100%
    }

    .single .featureArea-sub {
        margin-top: 60px
    }

    .single .featureArea-sub__inner {
        width: 90%;
        display: block
    }

    .single .featureArea-sub__title {
        font-size: 17px;
        font-size: 4.53333vw
    }

    .single .featureArea-sub__title-txt {
        font-size: 12px;
        font-size: 3.2vw
    }

    .single .featureArea-sub__item {
        width: 100%
    }

    .single .featureArea-sub__item-title {
        font-size: 15px;
        font-size: 4vw;
        margin-bottom: 0.2em
    }

    .single .featureArea-sub__item-txt {
        font-size: 12px;
        font-size: 3.2vw;
        margin-top: 0.5em;
        text-align: left
    }

    .single .specArea {
        padding: 10% 5%
    }

    .single .specArea .inner {
        width: 100%;
        box-sizing: border-box;
        padding: 20px
    }

    .single .specArea .inner p {
        margin-bottom: 20px
    }

    .single .specArea .sp-scroll__spec {
        width: 100%;
        padding: 0 20px 0 0;
        box-sizing: border-box;
        border-left: 1px solid #efeded;
        border-right: 1px solid #efeded
    }

    .single .specArea .sp-scroll__spec.is-left-scrollable, .single .specArea .sp-scroll__spec.is-right-scrollable {
        background: none
    }

    .single .specArea .sp-scroll__spec .scroll-hint-icon {
        border-radius: 2px;
        width: 80px;
        height: 80px;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%)
    }

    .single .specArea table {
        margin-right: 20px;
        padding: 0 20px;
        position: relative;
        left: -1px;
        box-sizing: border-box;
        margin: 0 -1px;
        width: 860px;
        min-width: 400px
    }

    .single .specArea table th:last-child, .single .specArea table td:last-child {
        border-right: none
    }

    .single .specArea table p {
        margin-bottom: 0 !important
    }

    .single .featureArea h2 img, .single .specArea h2 img {
        width: auto;
        height: 30px
    }
}

@media screen and (max-width: 767px) {
    .topics-wrapper {
        display: flex;
        flex-wrap: wrap;
        flex-wrap: wrap-reverse
    }

    .topics-wrapper #sidebar {
        width: 100%;
        box-sizing: border-box;
        padding: 0 10%
    }

    .topics-wrapper #box-base {
        width: 100%;
        box-sizing: border-box;
        margin-bottom: 60px;
        padding: 0 10%
    }

    .single-post #breadcrumb {
        margin-bottom: 40px
    }

    .single-post #contents {
        margin-bottom: 0;
        padding-top: 0;
        padding-bottom: 60px;
        width: 100%
    }

    .single-post #box-base #h3_box h3 {
        width: 100%;
        font-size: 17px;
        font-size: 4.53333vw;
        line-height: 1.4em
    }

    .single-post #box-base #h3_box span {
        transform: scale(0.8);
        transform-origin: top left
    }

    .single-post #box-base #date {
        text-align: left;
        color: rgba(0, 0, 0, 0.4)
    }

    .single-post #box-base #txt-area p {
        line-height: 1.6em
    }

    .topics-archive .inner {
        width: 100%;
        padding: 0
    }

    .topics-archive h1 {
        padding-top: 0;
        text-align: center;
        width: auto
    }

    .topics-archive h1 img {
        height: 18px;
        width: auto
    }

    .topics-archive #txt-area-box {
        box-sizing: border-box;
        float: none;
        margin-bottom: 60px;
        padding: 0 10%;
        width: 100%
    }

    .topics-archive #txt-area-t table {
        width: 100%;
        letter-spacing: 0.05em
    }

    .topics-archive #txt-area-t table th, .topics-archive #txt-area-t table td {
        display: block
    }

    .topics-archive #txt-area-t table th {
        font-size: 11px;
        font-size: 2.93333vw;
        color: rgba(0, 0, 0, 0.4);
        border-bottom: none;
        padding-bottom: 0.5em;
        line-height: 1;
        width: 100%;
        vertical-align: middle
    }

    .topics-archive #txt-area-t table th span {
        position: relative;
        bottom: 0.05em;
        transform: scale(0.7);
        transform-origin: left center;
        margin-left: 0.5em
    }

    .topics-archive #txt-area-t table td {
        padding-top: 0;
        font-size: 15px;
        font-size: 4vw;
        line-height: 1.4em
    }

    .category #contents {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 38px
    }

    .category #contents .inner {
        width: 100%
    }

    .category #contents h1 {
        padding-top: 0
    }
}

@media screen and (max-width: 767px) {
    #about #contents .about ul {
        margin-bottom: 60px
    }

    #contents .about p {
        font-size: 12px;
        font-size: 3.2vw;
        line-height: 1.8em
    }

    #contents .about .txt {
        font-size: 13px;
        font-size: 3.46667vw
    }

    #contents .about ul {
        margin-bottom: 0
    }

    #contents .about ul li {
        font-size: 12px;
        font-size: 3.2vw
    }

    .about .mb_fix {
        margin-bottom: 40px
    }

    .about .bgWhite, .about .bgGray {
        padding: 0 5% 60px;
        box-sizing: border-box
    }

    .about .bgWhite table th, .about .bgWhite table td, .about .bgGray table th, .about .bgGray table td {
        display: table-cell
    }

    .about .bgGray .inner {
        width: 100%;
        padding: 0
    }

    .about .leftArea, .about .rightArea {
        width: 100%;
        float: none
    }

    .about .leftArea img, .about .rightArea img {
        width: 100%;
        height: auto
    }

    .about h2 img {
        width: 100%;
        height: auto
    }

    .about h3 {
        font-size: 18px;
        font-size: 4.8vw;
        margin-bottom: 20px
    }

    .about .bgGray h4, .about h4 {
        font-size: 16px;
        font-size: 4.26667vw
    }

    .about .txt {
        width: 100%;
        margin-bottom: 0
    }

    .about table td img {
        width: 100%;
        height: auto
    }

    .about .sec1 .inner {
        width: 100%;
        padding: 0
    }

    .about .sec1 .leftArea, .about .sec1 .rightArea, .about .sec1 .centerArea {
        margin-top: 60px
    }

    .about .sec1 .mt_fix {
        margin-top: 10px
    }

    .about .sec2 .inner {
        width: 100%;
        padding: 0
    }

    .about .sec2 h3 {
        margin-top: 40px
    }

    .about .sec2 .box {
        padding: 20px;
        margin-bottom: 0
    }

    .about .sec2 .box.img {
        margin-bottom: 0
    }

    .about .sec3 .inner {
        padding: 0
    }

    .about .sec3 h2 img {
        padding: 0
    }

    .about .sec3 .leftArea, .about .sec3 .rightArea {
        width: 100%;
        float: none
    }

    .about .sec3 .leftArea img, .about .sec3 .rightArea img {
        width: 100%;
        height: auto;
        box-sizing: border-box
    }

    .about .sec3 .leftArea {
        margin-bottom: 40px
    }

    .about .sec3 dl {
        display: flex
    }

    .about .sec3 dl dt {
        white-space: nowrap
    }

    .about .sec3 dl dd {
        font-size: 12px;
        font-size: 3.2vw;
        height: auto !important;
        text-align: justify
    }

    .about .sec4 h2 {
        margin-bottom: 0
    }

    .about .sec4 h4.mb_fix {
        margin-bottom: -12px
    }

    .about .sec4 img.mobile-scroll {
        width: 100%;
        height: auto;
        margin-bottom: 0
    }

    .about .sec4 table {
        margin-bottom: 0
    }

    .about .sec4 table th {
        font-size: 15px;
        font-size: 4vw
    }

    .about .sec4 .sp-scroll__spec {
        margin-top: 20px
    }

    .about .mobile-scroll.img {
        display: flex;
        align-items: center;
        justify-content: center
    }

    .about .mobile-scroll.img img {
        max-width: 100%;
        max-height: 100%;
        width: auto;
        height: auto
    }
}

@media screen and (max-width: 767px) {
    #inquiry .bgWhite, #contact .bgWhite, #member .bgWhite, .product .bgWhite {
        width: 100%;
        box-sizing: border-box;
        padding: 0 10%
    }

    #inquiry .bgWhite .left, #contact .bgWhite .left, #member .bgWhite .left, .product .bgWhite .left {
        float: none;
        margin-bottom: 40px
    }

    #inquiry .bgWhite .right, #contact .bgWhite .right, #member .bgWhite .right, .product .bgWhite .right {
        float: none
    }

    #inquiry .bgWhite h2, #contact .bgWhite h2, #member .bgWhite h2, .product .bgWhite h2 {
        margin-bottom: 10px
    }

    #inquiry .bgWhite p, #contact .bgWhite p, #member .bgWhite p, .product .bgWhite p {
        letter-spacing: 0.03em;
        font-size: 13px;
        font-size: 3.46667vw
    }

    #inquiry .bgWhite p.tel, #contact .bgWhite p.tel, #member .bgWhite p.tel, .product .bgWhite p.tel {
        font-size: 28px;
        font-size: 7.46667vw
    }

    #inquiry .bgWhite .notes, #contact .bgWhite .notes, #member .bgWhite .notes, .product .bgWhite .notes {
        font-size: 11px;
        font-size: 2.93333vw
    }

    .bgGray {
        padding: 20px
    }

    .bgGray table {
        width: 100%
    }

    .bgGray table th, .bgGray table td {
        box-sizing: border-box;
        display: block;
        padding: 14px 10px
    }

    .bgGray table th {
        width: 100%;
        text-align: left;
        position: relative;
        padding-bottom: 0;
        border-bottom: none;
        font-weight: bold
    }

    .bgGray table td {
        width: 100%;
        border-top: none;
        padding-top: 0.5em
    }

    .bgGray table input[type="text"], .bgGray table input[type="email"], .bgGray table input[type="tel"], .bgGray table textarea {
        width: 100% !important;
        border: 1px solid #999;
        border-radius: 2px;
        font-size: 16px !important;
        box-sizing: border-box;
        padding: 6px !important
    }

    .bgGray table .input-flex {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap
    }

    .bgGray table input.w50p {
        width: 49% !important
    }

    .bgGray table textarea {
        box-sizing: border-box
    }

    .bgGray table .check li {
        float: none
    }

    .bgGray .must {
        width: 36px;
        height: 14px;
        background-size: cover;
        position: absolute;
        right: 1em;
        top: 1.6em;
        transform: translateY(-50%)
    }

    #mailformpro .mfp_buttons button:first-child {
        display: none
    }

    #member .bgWhite .memberTxt {
        margin-bottom: 0
    }

    #mfp_overlay_inner {
        width: 90% !important;
        box-sizing: border-box
    }

    #mfp_overlay_inner .mfp_buttons {
        margin-bottom: 10px;
        display: flex;
        flex-wrap: wrap;
        justify-content: center
    }

    #mfp_overlay_inner .mfp_buttons #mfp_button_send {
        margin-bottom: 10px
    }

    #mfp_overlay_inner #mfp_confirm_table th, #mfp_overlay_inner #mfp_confirm_table td {
        display: block;
        width: 100%;
        box-sizing: border-box
    }

    #mfp_overlay_inner #mfp_confirm_table th {
        font-weight: bold;
        border-bottom: none
    }

    #mfp_overlay_inner #mfp_confirm_table td {
        border-top: none;
        padding-top: 0
    }
}

@media screen and (max-width: 767px) {
    #support #support-title {
        padding-top: 0
    }

    #support .txt {
        box-sizing: border-box;
        font-size: 13px;
        font-size: 3.46667vw;
        line-height: 2em;
        letter-spacing: 0.05em;
        padding: 0 10%;
        width: 100% !important;
        text-align: left
    }

    #support .bgGray {
        padding: 40px 10%
    }

    #support .bgGray .inner {
        box-sizing: border-box;
        padding: 0;
        width: 100%
    }

    #support #support-txt .box {
        font-size: 13px;
        font-size: 3.46667vw;
        box-sizing: border-box;
        float: none;
        margin-bottom: 20px;
        padding: 40px;
        width: 100%
    }

    #support #support-txt .box.right.bottom {
        margin-bottom: 0
    }

    #support #support-txt h3 {
        width: 100%;
        box-sizing: border-box;
        font-size: 18px;
        font-size: 4.8vw
    }

    #support #support-txt h4 {
        font-size: 16px;
        font-size: 4.26667vw
    }

    #support .support .linkArea h3 {
        width: 100%
    }
}

@media screen and (max-width: 767px) {
    .search #contents {
        padding-top: 0
    }

    .search .cat-icon {
        font-size: 10px;
        font-size: 2.66667vw;
        padding: 1px 4px
    }

    .search-result__list {
        width: 100%;
        box-sizing: border-box;
        padding: 0 4%
    }

    .search-result__list-item a:after {
        width: 5px;
        height: 5px;
        right: 10px
    }

    .search-result__img {
        width: 30%;
        padding-top: 28%
    }

    .search-result__img-inner {
        background-position: center center;
        background-size: 100% auto;
        background-repeat: no-repeat
    }

    .search-result__txt {
        width: 70%;
        padding: 14px;
        border-left: 1px solid #eaeaea
    }

    .search-result__title {
        font-size: 13px;
        font-size: 3.46667vw;
        font-feature-settings: "palt"
    }

    .search-result__copy {
        font-size: 12px;
        font-size: 3.2vw
    }

    .search-result__cat {
        flex-wrap: wrap;
        position: relative;
        bottom: 0;
        margin-top: 0.5em
    }

    .search-result__cat-item {
        margin-top: 0.2em
    }
}

@media screen and (max-width: 767px) {
    #privacy .privacy {
        width: 80%;
        margin: 0 auto;
        padding-top: 0;
        padding-bottom: 0
    }

    #privacy .list nav {
        float: none !important
    }

    #privacy .list a {
        display: block;
        position: relative
    }

    #privacy .list a:after {
        content: '';
        display: block;
        width: 4px;
        height: 4px;
        border-top: 2px solid #97badb;
        border-right: 2px solid #97badb;
        position: absolute;
        top: 50%;
        right: 0.5em;
        transform: rotate(45deg) translateY(-50%)
    }

    #privacy .list .product {
        margin-top: 2em;
        margin-bottom: 0
    }

    #privacy .list .product li {
        margin-left: 0 !important;
        margin-bottom: 1em;
        float: none !important
    }

    #privacy .list .product .sub {
        margin-left: 1em
    }

    #privacy .list .product .sub li {
        margin-bottom: 0
    }

    #privacy #contents .sitemap nav ul li a {
        font-size: 13px;
        font-size: 3.46667vw
    }
}

@media screen and (max-width: 767px) {
    #sitemap .sitemap {
        width: 80%;
        margin: 0 auto;
        padding-top: 0;
        padding-bottom: 0
    }

    #sitemap .list nav {
        float: none !important
    }

    #sitemap .list a {
        display: block;
        position: relative
    }

    #sitemap .list a:after {
        content: '';
        display: block;
        width: 4px;
        height: 4px;
        border-top: 2px solid #97badb;
        border-right: 2px solid #97badb;
        position: absolute;
        top: 50%;
        right: 0.5em;
        transform: rotate(45deg) translateY(-50%)
    }

    #sitemap .list .product {
        margin-top: 2em;
        margin-bottom: 0
    }

    #sitemap .list .product li {
        margin-left: 0 !important;
        margin-bottom: 1em;
        float: none !important
    }

    #sitemap .list .product .sub {
        margin-left: 1em
    }

    #sitemap .list .product .sub li {
        margin-bottom: 0
    }

    #sitemap #contents .sitemap nav ul li a {
        font-size: 13px;
        font-size: 3.46667vw
    }
}

@media screen and (max-width: 767px) {
    .error404 #contents .bg {
        padding-top: 67px;
        box-sizing: border-box
    }

    .error404 .txtArea {
        width: 100%;
        top: 45%;
        left: 50%;
        transform: translate(-50%, -50%);
        padding: 0 5%;
        box-sizing: border-box
    }

    .error404 .txtArea h1 {
        font-size: 24px;
        font-size: 6.4vw;
        margin-bottom: 20px
    }

    .error404 .txtArea h1 img {
        width: 100%;
        height: auto
    }

    .error404 .txtArea h2 {
        font-weight: normal
    }

    .error404 .txtArea p {
        font-size: 13px;
        font-size: 3.46667vw;
        margin-bottom: 20px
    }
}

@media screen and (max-width: 767px) {
    footer {
        min-width: 100%
    }

    footer .inner {
        overflow: hidden;
        box-sizing: border-box;
        padding: 0 10%
    }

    footer .footer-nav {
        float: none;
        margin-bottom: 5px
    }

    footer .footer-nav nav {
        float: none
    }

    footer .footer-nav ul {
        width: 100%;
        margin-bottom: 1em
    }

    footer .footer-nav li {
        float: none;
        margin-bottom: 10px
    }

    footer .footer-nav li a {
        display: block;
        position: relative
    }

    footer .footer-nav li a:after {
        content: '';
        width: 4px;
        height: 4px;
        display: block;
        border-top: 1px solid #2f75b6;
        border-right: 1px solid #2f75b6;
        transform: rotate(45deg);
        position: absolute;
        top: 0.8em;
        right: 1px
    }

    footer .footer-nav a {
        font-size: 11px;
        font-size: 2.93333vw
    }

    footer .footer-nav .product ul li {
        border-top: 1px solid rgba(0, 0, 0, 0.06);
        padding-top: 1.5em
    }

    footer .footer-nav .product li {
        margin-left: 0;
        float: none
    }

    footer .footer-nav .product li:last-child .sub {
        margin-bottom: -1em
    }

    footer .footer-nav .product .sub {
        padding-left: 1em;
        box-sizing: border-box;
        margin-top: 1em
    }

    footer .footer-nav .product .sub li {
        border-top: none;
        padding-top: 0
    }

    footer .address {
        border-top: 1px solid rgba(0, 0, 0, 0.06);
        width: 100%;
        float: none;
        padding-top: 25px
    }

    footer .address address {
        margin-left: 0;
        margin-bottom: 25px
    }

    footer .address .name {
        margin-left: 0
    }

    footer .address .copy {
        padding-top: 30px;
        letter-spacing: 0;
        text-align: left;
        font-size: 10px;
        font-size: 2.66667vw
    }
}
