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

    .pages #service_feature::before,
    .pages #our_products .our_products_headline::before {
        height: 18.22vw;
    }
}

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

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

@media screen and (min-width: 1025px) {
    .pages .wp-pagenavi a:not(.nextpostslink):not(.previouspostslink):hover {
        color: var(--main-color);
        background: var(--white-color);
    }

    .pages .wp-pagenavi a.previouspostslink:hover,
    .pages .wp-pagenavi a.nextpostslink:hover,
    .pages .btn_back li:not(.special-btn) a:hover {
        opacity: 0.7;
    }
}

@media screen and (max-width: 1024px) {
    .pages h3.pages_mainttl {
        font-size: 26px;
    }

    .pages h3.pages_mainttl span.en {
        font-size: 20px;
    }

    .pages #p_mainvisual h2 {
        font-size: 33px;
    }

    .pages #p_mainvisual h2 span {
        font-size: 24px;
    }

    .pages .wp-pagenavi span,
    .pages .wp-pagenavi a {
        font-size: 18px;
        width: 40px;
        height: 40px;
        border-width: 2px;
        padding: 2px 0 0;
        margin: 0 3px 8px;
    }

    .pages #p_mainvisual .fv_logo::after {
        bottom: -9.375vw;
        left: -18.262vw;
    }

    .pages .wp-pagenavi .current {
        border-width: 2px;
    }

    .pages .wp-pagenavi a.previouspostslink,
    .pages .wp-pagenavi a.nextpostslink {
        width: 16px;
    }

    .pages .wp-pagenavi a.previouspostslink {
        margin-right: 8px;
    }

    .pages .wp-pagenavi a.nextpostslink {
        margin-left: 8px;
    }

    .pages .wp-pagenavi .pages {
        font-size: 16px;
        margin-right: 5px;
    }

    .pages #comingsoon {
        padding: 65px 0 30px;
    }

    .pages #comingsoon .comingsoon_title {
        font-size: 38px;
        margin-bottom: 20px;
    }

    .pages #comingsoon .comingsoon_txt {
        font-size: 18px;
        margin-bottom: 50px;
    }
}

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

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

    .pages .image_r,
    .pages .image_l {
        float: none;
        text-align: center;
        margin: 0 0 20px;
    }

    /*-----table scroll------*/
    .pages .tb_scroll {
        overflow: scroll;
        margin-bottom: 10px
    }

    .pages .tb_scroll > table {
        width: 800px;
        border: 2px solid #118abf;
    }

    .pages #content .txt_note {
        display: block;
        font-size: 12px;
        color: #AFAFAF;
        margin-bottom: 8px;
    }

    /*-----table block-----*/
    .pages #content table.tb_block tr th,
    .pages #content table.tb_block tr td {
        display: block !important;
        width: 100% !important;
    }

    /*tb_cal*/
    .pages .tb_cal th {
        line-height: 1.3;
    }

    .pages .tb_cal td {
        font-size: 15px;
    }

    .pages #p_mainvisual {
        height: 350px;
    }

}

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

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

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

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

/* ------------------------------------------------------
p_notfound
------------------------------------------------------ */
@media screen and (max-width: 1024px) {
    .pages #notfound {
        padding: 50px 0;
    }

    .pages #notfound .notfound_title {
        font-size: 80px;
        margin-bottom: 10px;
    }

    .pages #notfound .notfound_txt {
        margin-bottom: 45px;
    }
}

/* ------------------------------------------------------
p_company
------------------------------------------------------ */
@media screen and (max-height: 950px) {
    .pages #company_philosophy {
        padding: 13.579vh 0;
    }

    .pages #company_philosophy .pages_mainttl {
        margin-bottom: 12.105vh;
    }

    .pages #company_philosophy .philosophy_lines .line:not(:last-child) {
        margin-bottom: 3.684vh;
    }
}

@media screen and (max-width: 1350px) {
    .pages #company_philosophy .philosophy_lines .line {
        font-size: 4.296vw;
    }

    .pages #company_outline .inner::before {
        bottom: -30.074vw;
        right: -27.407vw;
    }

    .pages #company_outline .inner {
        margin-top: -120px;
    }

    .pages #company_outline .company_outline_wrap::before {
        top: 114px;
    }
}

@media screen and (max-width: 1024px) {
    .pages #company_message {
        padding: 50px 0;
    }

    .pages #company_message .pages_mainttl {
        margin-bottom: 35px;
    }

    .pages #company_message .company_message_wrap {
        gap: 30px;
    }

    .pages #company_message .company_message_txt {
        font-size: 16px;
        margin-bottom: 35px;
    }

    .pages #company_message .company_message_txt p:not(:last-child) {
        margin-bottom: 20px;
    }

    .pages #company_message .company_message_tag {
        font-size: 20px;
    }

    .pages #company_outline .company_outline_wrap {
        padding-bottom: 15px;
    }

    .pages #company_outline .company_outline_wrap::before {
        top: 54px;
    }

    .pages #company_outline .inner {
        margin-top: -60px;
    }

    .pages #company_outline .pages_mainttl {
        margin-bottom: 35px;
    }

    .pages #company_equipement {
        padding: 0 0 35px;
    }

    .pages #company_equipement .under_curve {
        margin-bottom: 45px;
    }

    .pages #company_equipement .pages_mainttl {
        margin-bottom: 35px;
    }

    .pages #company_equipement .tb_equipement th,
    .pages #company_equipement .tb_equipement td {
        padding: 35px 0;
    }

    .pages #company_equipement .tb_equipement th {
        font-size: 18px;
    }

    .pages #company_equipement .tb_equipement td {
        font-size: 16px;
    }
}

@media screen and (max-width: 768px) {
    .pages #company_message .company_message_wrap {
        flex-direction: column-reverse;
    }

    .pages #company_message .company_message_txt {
        max-width: 100%;
    }

    .pages #company_outline .company_outline_wrap::before {
        top: 9px;
    }

    .pages #company_outline .inner {
        margin-top: -15px;
    }

    .pages #company_outline .tb_outline dl {
        flex-direction: column;
        gap: 0;
        margin-bottom: 25px;
    }

    .pages #company_outline .tb_outline dl:last-child {
        margin-bottom: 0;
    }

    .pages #company_outline .tb_outline dl dt,
    .pages #company_outline .tb_outline dl dd {
        padding-left: 0;
        padding-right: 0;
        border-bottom: 0;
    }

    .pages #company_outline .tb_outline dl dt {
        width: 100%;
        padding-top: 0;
    }

    .pages #company_outline .tb_outline dl dd {
        padding-top: 0;
        padding-bottom: 0;
        margin: 0 0;
    }

    .pages #company_outline .tb_outline dl:first-child dt,
    .pages #company_outline .tb_outline dl:first-child dd {
        border-top: 0;
    }

    .pages #company_access .company_access_map {
        height: 299px;
    }

    .pages #company_equipement .tb_equipement th {
        border-bottom: 0;
        padding-bottom: 0;
    }

    .pages #company_equipement .tb_equipement td {
        padding-top: 8px;
    }

    .pages #company_equipement .tb_equipement tr:first-child td {
        border-top: 0;
    }
}

/* ------------------------------------------------------
p_service
------------------------------------------------------ */
@media screen and (max-width: 1850px) {
    .pages #our_service .service_item .item_component {
        padding: 8.865vw 6.486vw 2.703vw;
    }

    .pages #our_service .service_item .item_headline {
        margin-bottom: 2.541vw;
    }

    .pages #our_service .service_item .our_service_title {
        font-size: 3.892vw;
    }

    .pages #our_service .service_item .item_title {
        font-size: 8.108vw;
        margin-top: -3.838vw;
        margin-left: 8.649vw;
    }

    .pages #our_service .service_item .item_txt p:not(:last-child) {
        margin-bottom: 1.946vw;
    }
}

@media screen and (max-width: 1500px) {
    .pages #service_feature {
        padding-top: 11.867vw;
    }

    .pages #service_feature .card_component {
        padding: 50px 4vw;
    }
}

@media screen and (max-width: 1350px) {
    .pages #service_intro .service_intro_title {
        font-size: 3.704vw;
    }

    .pages #service_intro .service_intro_photo .image01 {
        margin-bottom: 10.148vw;
    }

    .pages #service_feature .card_component .card_title {
        font-size: 26px;
    }
}

@media screen and (max-width: 1200px) {
    .pages #our_service .our_service_layout {
        width: 500vw;
    }
}

@media screen and (max-width: 1024px) {
    .pages .p_service #p_mainvisual .fv_logo::after {
        bottom: -34.961vw;
        right: -31.641vw;
    }

    .pages #service_intro {
        padding: 55px 0 45px;
    }

    .pages #service_intro .service_intro_title {
        font-size: 26px;
        margin-bottom: 35px;
    }

    .pages #service_intro .service_intro_txt {
        font-size: 16px;
    }

    .pages #service_intro .service_intro_txt p:not(:last-child) {
        margin-bottom: 25px;
    }

    .pages #service_feature {
        padding-bottom: 75px;
    }

    .pages #service_feature .pages_mainttl {
        margin-bottom: 25px;
    }

    .pages #service_feature .service_feature_txt {
        margin-bottom: 45px;
    }

    .pages #service_feature .card_component .card_title {
        font-size: 22px;
    }

    .pages #service_feature .card_component .card_txt p:not(:last-child) {
        margin-bottom: 20px;
    }

    #service #footer .box_contact {
        padding-top: 100px;
    }
}

@media screen and (max-width: 992px) {
    .pages #service_intro .service_intro_title br {
        display: none;
        text-align: justify;
    }

    .pages #service_intro .service_intro_wrap {
        flex-direction: column;
        gap: 45px;
    }

    .pages #service_intro .service_intro_txt {
        max-width: 100%;
        padding-top: 0;
    }

    .pages #service_intro .service_intro_photo {
        width: 82.813vw;
        margin: 0 auto;
    }

    .pages #service_intro .service_intro_photo .image01 {
        width: 70.313vw;
        margin-bottom: 12.097vw;
    }

    .pages #service_intro .service_intro_photo .image02 {
        width: 35.156vw;
    }

    .pages #service_intro .service_intro_photo .image03 {
        width: 62.5vw;
    }

    .pages #service_feature .service_feature_card {
        max-width: 600px;
        flex-direction: column-reverse;
        margin: 0 auto 45px;
    }

    .pages #service_feature .card_component,
    .pages #service_feature .card_photo {
        width: 100%;
    }

    .pages #our_service .our_service_layout {
        display: block;
        width: 100%;
    }

    .pages #our_service .service_item {
        height: auto;
    }

    .pages #our_service .service_item .pages_mainttl,
    .pages #our_service .service_item .our_service_title,
    .pages #our_service .service_item .item_title {
        opacity: 1;
        transform: translateY(0);
    }

    .pages #our_service .set_center {
        padding: 55px 0;
    }

    .pages #our_service .set_bg {
        flex-direction: column-reverse;
    }

    .pages #our_service .service_item .item_cover {
        width: 100%;
        max-width: 100%;
        height: 320px;
        clip-path: inset(0);
    }

    .pages #our_service .service_item .item_component {
        padding: 50px 3%;
    }

    .pages #our_service .service_item .item_headline {
        margin-bottom: 25px;
    }

    .pages #our_service .service_item .our_service_title {
        font-size: 28px;
        white-space: normal;
    }

    .pages #our_service .service_item .item_title {
        font-size: 78px;
    }

    .pages #our_service .service_item .item_txt p:not(:last-child) {
        margin-bottom: 20px;
    }
}

@media screen and (max-width: 576px) {
    .pages #service_feature .card_component .card_title br {
        display: none;
    }

    .pages #our_service .service_item .service_txt {
        text-align: justify;
    }

    .pages #our_service .service_item .service_txt br {
        display: none;
    }

    .pages #our_service .service_item .item_title {
        font-size: 13.542vw;
    }
}

/* ------------------------------------------------------
p_products
------------------------------------------------------ */
@media screen and (max-width: 1250px) {
    .pages #products_intro .products_intro_title {
        font-size: 38px;
    }

    .pages #our_products .our_products_list {
        width: 94%;
    }
}

@media screen and (max-width: 1024px) {
    .pages .p_products #p_mainvisual .fv_logo::after {
        bottom: -73.047vw;
    }

    .pages #products_intro {
        padding: 70px 0;
    }

    .pages #products_intro .products_intro_title {
        font-size: 28px;
        margin-bottom: 35px;
    }

    .pages #products_intro .products_intro_txt p:not(:last-child) {
        margin-bottom: 30px;
    }

    .pages #products_gallery {
        margin-bottom: -21.484vw;
    }

    .pages #products_gallery .swiper-slide {
        margin: 0 10px;
    }

    .pages #our_products {
        padding: 13.477vw 0 0;
    }

    .pages #our_products .our_products_headline {
        padding: 15vw 0 50px;
    }

    .pages #our_products .our_products_txt {
        font-size: 14px;
    }

    .pages #our_products .our_products_wrap {
        padding-bottom: 20px;
    }

    .pages #our_products .our_products_list {
        gap: 20px;
    }

    .pages #our_products .our_products_list .product_card {
        width: calc((100% - 20px) / 2);
        margin-bottom: 35px;
    }

    .pages #our_products .product_card .product_name {
        font-size: 18px;
    }
}

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

    .pages #products_intro .products_intro_title,
    .pages #products_intro .products_intro_txt,
    .pages #our_products .our_products_txt {
        text-align: justify;
    }

    .pages #products_intro .products_intro_title br,
    .pages #products_intro .products_intro_txt br,
    .pages #our_products .our_products_txt br {
        display: none;
    }
}

@media screen and (max-width: 576px) {
    .pages .p_products #p_mainvisual .fv_logo::after {
        bottom: -43vw;
    }

    .pages #our_products .our_products_list .product_card {
        width: 100%;
    }
}

/* ------------------------------------------------------
p_community
------------------------------------------------------ */
@media screen and (max-width: 1150px) {
    .pages #shop_info .shop_list {
        flex-direction: column;
        align-items: center;
    }

    .pages #shop_info .shop_card {
        width: 100%;
        max-width: 768px;
    }
}

@media screen and (max-width: 1024px) {
    .pages .p_community #p_mainvisual .fv_logo::after {
        bottom: -52.93vw;
        left: -39.941vw;
    }

    .pages #community_intro {
        padding: 65px 0;
    }

    .pages #community_intro .community_intro_list {
        margin-bottom: 55px;
    }

    .pages #community_intro .community_intro_list li {
        align-items: center;
    }

    .pages #community_intro .community_intro_list li:nth-child(1) {
        margin-bottom: 0;
    }

    .pages #community_intro .community_intro_list li:nth-child(2) .intro_component {
        padding-top: 0;
    }

    .pages #community_intro .community_intro_list li .community_intro_title {
        font-size: 38px;
    }

    .pages #community_intro .community_intro_list li .community_intro_txt p:not(:last-child) {
        margin-bottom: 25px;
    }

    .pages #community_intro .btn_primary {
        height: 80px;
    }

    .pages #community_intro .btn_primary a {
        font-size: 22px;
    }

    .pages #shop_info {
        padding: 50px 0 65px;
    }

    .pages #shop_info .pages_mainttl {
        margin-bottom: 25px;
    }

    .pages #shop_info .shop_info_txt {
        font-size: 14px;
        margin-bottom: 45px;
    }

    .pages #community_event {
        padding: 50px 0 35px;
    }

    .pages #community_event .pages_mainttl {
        margin-bottom: 45px;
    }

    .pages #community_event .community_event_component {
        padding-top: 0;
    }

    .pages #community_event .community_event_txt {
        margin-bottom: 35px;
    }

    .pages #community_event .community_event_txt p:not(:last-child) {
        margin-bottom: 25px;
    }
}

@media screen and (max-width: 768px) {
    .pages .p_community #p_mainvisual h2 {
        font-size: 26px;
    }

    .pages #community_intro .community_intro_list li {
        flex-direction: column !important;
    }

    .pages #community_intro .community_intro_list li:last-child {
        margin-top: 45px;
    }

    .pages #community_intro .community_intro_list li figure {
        border-radius: 10px;
    }

    .pages #community_intro .community_intro_group {
        flex-direction: column;
        align-items: center;
    }

    .pages #shop_info .shop_info_txt {
        text-align: justify;
    }

    .pages #community_event .community_event_wrap {
        flex-direction: column-reverse;
    }

    .pages #community_event .community_event_photo {
        margin: 0 auto;
    }

    .pages #community_event .community_event_component {
        max-width: 100%;
    }

    .pages #community_event .btn_primary {
        margin: 0 auto;
    }
}

@media screen and (max-width: 576px) {
    .pages #shop_info .shop_card {
        flex-direction: column-reverse;
    }

    .pages #shop_info .shop_card .card_photo {
        max-width: 100%;
        height: 67.708vw;
        max-height: 390px;
    }
}

/* ------------------------------------------------------
p_history
------------------------------------------------------ */
@media screen and (max-width: 1800px) {
    .pages #history_intro .history_intro_gallery li.history_intro_img01 {
        margin-right: 8.333vw;
    }

    .pages #history_intro .history_intro_gallery li.history_intro_img02 {
        margin-left: 5.778vw;
        margin-top: -7.056vw;
    }

    .pages #history_intro .history_intro_gallery li.history_intro_img03 {
        margin-right: 12.5vw;
    }

    .pages #history_intro .history_intro_gallery li.history_intro_img04 {
        margin-left: 10.833vw;
        margin-top: -4.611vw;
    }
}

@media screen and (max-width: 1024px) {
    .pages .p_history #p_mainvisual .fv_logo::after {
        bottom: -52.246vw;
        left: -6.836vw;
    }

    .pages #history_intro .history_intro_headline .history_intro_txt {
        height: 450px;
        font-size: 22px;
    }

    .pages #history_contents {
        padding: 65px 0 0;
    }

    .pages #history_contents .chapter_component .chapter_title,
    .pages #history_contents .chapter_component .chapter_subtitle,
    .pages #history_contents .history_component dl dd h4 {
        font-size: 22px;
    }

    .pages #history_contents .history_component dl dt {
        font-size: 18px;
    }

    .pages #history_contents .history_component dl dt span {
        font-size: 300%;
    }

    .pages #history_contents .history_component dl dd {
        padding-bottom: 40px;
    }

    .pages #history_contents .history_component dl dd .history_des li {
        padding-left: 15px;
    }
}

@media screen and (max-height: 550px) {
    .pages #history_intro .history_intro_headline {
        align-items: flex-start;
        padding: 45px 0;
    }

    .pages #history_intro .history_intro_headline .history_intro_txt {
        width: 100%;
        height: auto;
        font-size: 20px;
        line-height: 2;
        text-align: justify;
        -ms-writing-mode: lr-tb;
        -webkit-writing-mode: horizontal-tb;
        -moz-writing-mode: horizontal-tb;
        -ms-writing-mode: horizontal-tb;
        writing-mode: horizontal-tb;
    }

    .pages #history_intro .history_intro_headline .history_intro_txt br {
        display: none;
    }
}

@media screen and (min-width: 769px) {
    .pages #history_contents .chapter_component .chapter_title {
        -ms-writing-mode: tb-rl;
        -webkit-writing-mode: vertical-rl;
        -moz-writing-mode: vertical-rl;
        -ms-writing-mode: vertical-rl;
        writing-mode: vertical-rl;
    }
}

@media screen and (max-width: 768px) {
    .pages #history_contents .history_parts {
        flex-direction: column;
        gap: 15px;
        margin-bottom: 55px;
    }

    .pages #history_contents .history_parts:last-child {
        margin-bottom: 0;
    }

    .pages #history_contents .chapter_component {
        display: block;
        text-align: center;
    }

    .pages #history_contents .chapter_component .chapter_subtitle {
        margin-bottom: 10px;
    }

    .pages #history_contents .history_component dl dd {
        padding-left: 30px;
    }

    .pages #history_contents .history_component dl dd::before {
        left: 15px;
    }
}

@media screen and (max-width: 576px) {
    .pages .p_history #p_mainvisual h2 {
        font-size: 28px;
    }
}
