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

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

    /*----- p_mainvisual -----*/
    .pages #p_mainvisual .p_mv_component h2 span {
        font-size: 5.333vw;
    }
}

@media screen and (min-width: 1025px) {
    .pages #header .h_contact a:hover span {
        color: var(--white-color);
        -webkit-text-fill-color: inherit;
    }

    .pages #topic_path li a:hover::before {
        transform: scaleX(1);
        transform-origin: bottom left;
    }

    .pages .wp-pagenavi a:not(.nextpostslink):not(.previouspostslink):hover {
        color: var(--white-color);
        background: var(--blue-color);
        border-color: var(--blue-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;
    }

    .pages #mail_form .smf-action .smf-button-control__control:hover .smf-sending {
        background: var(--green-color);
    }

    .pages #mail_form .smf-action .smf-button-control__control:hover .smf-sending::before {
        animation: arrow_animation1 .3s ease forwards;
    }

    .pages #mail_form .smf-action .smf-button-control__control:hover .smf-sending::after {
        animation: arrow_animation2 .3s ease forwards .2s;
    }

    .pages #blog_category .category_list li a:hover {
        color: var(--white-color);
        background: var(--blue-color);
        border-color: var(--blue-color);
    }

    .pages #blog_information .blog_list .blog_card a:hover figure img {
        transform: scale(1.08, 1.08) translateZ(0);
    }

    .pages #sidenavi .new_articles .article_item a:hover figure img {
        transform: scale(1.08, 1.08) translateZ(0);
    }

    .pages #sidenavi dl dd .category_list li a:hover::before {
        transform: scaleX(1);
        transform-origin: bottom left;
    }
}

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

    .pages h3.under_mainttl {
        font-size: 20px;
    }

    .pages h3.under_mainttl span.en {
        font-size: 35px;
        margin-bottom: 5px;
    }

    .pages #p_mainvisual {
        height: 280px;
        justify-content: center;
        align-items: center;
        padding-bottom: 0;
    }

    .pages #p_mainvisual .p_mv_component h2 {
        text-align: center;
    }

    .pages #p_mainvisual .p_mv_component h2 span.en {
        font-size: 30px;
        margin-bottom: 10px;
    }

    .pages #p_mainvisual .p_mv_cover {
        width: 100%;
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
        bottom: 0;
        z-index: -1;
    }

    .pages #topic_path {
        padding: 10px 0 55px;
    }

    .pages #topic_path ul {
        width: 100%;
    }

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

    .pages .wp-pagenavi a.previouspostslink,
    .pages .wp-pagenavi a.nextpostslink {
        font-size: 14px;
    }

    .pages .wp-pagenavi a.previouspostslink::before,
    .pages .wp-pagenavi a.nextpostslink::before {
        width: 22px;
        height: 19px;
        margin-bottom: 3px;
    }

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

    .pages .wp-pagenavi a.nextpostslink {
        margin-left: 10px;
    }
	#idx_features .btn_primary {
		margin: 0 auto;
	}
}

@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;
    }

    .pages #topic_path li {
        font-size: 12px;
    }

    /*-----table-----*/
    .pages table {}

    .pages table th,
    .pages table td {
        padding: 8px;
    }

    /*-----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;
        box-sizing: border-box;
    }

    .pages table.tb_block tr th,
    .pages table.tb_block tr td {
        border-bottom: none;
    }

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

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

}
@media screen and (max-width: 640px) {
.p-prop-intro__txt br {
    display: none;
	text-align: left;
 }
.p-prop-intro__txt {
	text-align: left;
 }
.business-item__content {
    width: 100% !important;
    padding: 60px 0px;
  }
}
@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_privacypolicy
------------------------------------------------------ */
@media screen and (max-width: 1024px) {
    .pages #privacypolicy_info {
        padding: 0 0 65px;
    }

    .pages #privacypolicy_info .under_mainttl {
        margin-bottom: 45px;
    }

    .pages #privacypolicy_info .privacypolicy_txt {
        margin-bottom: 35px;
    }

    .pages #privacypolicy_info .privacypolicy_contents dl {
        margin-bottom: 50px;
    }

    .pages #privacypolicy_info .privacypolicy_contents dl dt {
        font-size: 22px;
        gap: 10px;
        margin-bottom: 20px;
    }

    .pages #privacypolicy_info .privacypolicy_contents dl dt .tag {
        max-width: 130px;
        height: 55px;
    }

    .pages #privacypolicy_info .privacypolicy_contents dl dd p:not(:last-child) {
        margin-bottom: 15px;
    }

    .pages #privacypolicy_info .privacypolicy_contents dl dd ul.policy_list01 {
        margin-bottom: 27px;
    }

    .pages #privacypolicy_info .privacypolicy_contents dl dd .privacypolicy_frame {
        border-radius: 10px;
        padding: 20px 20px;
        margin-bottom: 27px;
    }

    .pages #privacypolicy_info .privacypolicy_contents dl dd .privacypolicy_frame ul li::before {
        top: 2px;
    }

    .pages #privacypolicy_info .privacypolicy_contents dl dd .privacypolicy_frame h4 {
        font-size: 20px;
    }
}

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

    .pages #privacypolicy_info .privacypolicy_contents dl dt {
        flex-direction: column;
    }

    .pages #privacypolicy_info .privacypolicy_contents dl dd .privacypolicy_frame.set02 {
        text-align: center;
        padding-bottom: 45px;
    }

    .pages #privacypolicy_info .privacypolicy_contents dl dd .privacypolicy_2col {
        display: block;
    }

    .pages #privacypolicy_info .privacypolicy_contents dl dd .privacypolicy_frame.set02 .btn_primary {
        margin: 0 auto;
    }
}

/* ------------------------------------------------------
p_company
------------------------------------------------------ */
@media screen and (max-width: 1250px) {
    .pages #company_greeting .greeting_image figure.image02 {
        margin-top: 35px;
        position: relative;
        bottom: auto;
        left: auto;
    }

    .pages #company_greeting .under_mainttl span.en {
        font-size: 8vw;
    }
}

@media screen and (max-width: 1024px) {
    .pages #company_greeting .greeting_wrap {
        flex-direction: column-reverse;
    }

    .pages #company_greeting .greeting_component {
        width: 100%;
    }

    .pages #company_greeting .under_mainttl {
        margin-bottom: 30px;
    }

    .pages #company_greeting .under_mainttl span.en {
        font-size: 35px;
    }

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

    .pages #company_greeting .tag_name span {
        font-size: 22px;
    }

    .pages #company_greeting .greeting_image figure.image01 {
        width: 78.125vw;
        height: 78.125vw;
        margin: 0 auto;
    }

    .pages #company_greeting .greeting_image figure.image02 {
        display: none;
    }

    .pages #company_profile {
        padding-bottom: 50px;
    }

    .pages #company_profile .profile_headline {
        height: 320px;
    }

    .pages #company_profile .profile_headline .under_mainttl span.en {
        font-size: 30px;
    }

    .pages #company_profile .inner {
        border-top-left-radius: 50px;
        border-top-right-radius: 50px;
        margin-top: -95px;
    }

    .pages #company_profile .profile_contents {
        padding: 55px 0;
    }

    .pages #company_profile .profile_contents dl dt,
    .pages #company_profile .profile_contents dl dd {
        padding: 15px 10px;
    }

    .pages #company_profile .profile_contents dl dt {
        max-width: 180px;
    }
}

@media screen and (max-width: 768px) {
    .pages #company_profile .profile_contents dl {
        flex-direction: column;
        gap: 0;
    }

    .pages #company_profile .profile_contents dl dt {
        max-width: 100%;
        padding-bottom: 0;
        border-bottom: 0;
    }

    .pages #company_profile .profile_contents dl dd {
        border-bottom: 0;
        padding-top: 3px;
        padding-bottom: 8px;
    }
}

/* ------------------------------------------------------
p_contact
------------------------------------------------------ */
@media screen and (max-width: 1200px) {
    .pages #contact_info .contact_frame h4 {
        font-size: 28px;
    }
}

@media screen and (max-width: 1024px) {
    #contact #content {
        padding-bottom: 65px;
    }

    .pages #contact_info {
        padding-bottom: 65px;
    }

    .pages #contact_info .contact_txt {
        margin-bottom: 45px;
    }

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

    .pages #contact_info .contact_wrap {
        flex-direction: column;
        align-items: center;
    }

    .pages #contact_info .contact_frame h4 {
        font-size: 24px;
    }

    .pages #contact_info .contact_frame .contact_phone {
        font-size: 35px;
    }

    .pages #mail_form {
        padding: 55px 0 65px;
    }

    .pages #mail_form .under_mainttl {
        margin-bottom: 55px;
    }

    .pages #mail_form .under_mainttl span.en {
        font-size: 30px;
    }

    .pages #mail_form .smf-progress-tracker {
        max-width: 280px;
        gap: 20px;
    }

    .pages #mail_form .smf-progress-tracker__item {
        width: 70px;
    }

    .smf-progress-tracker__item:not(:last-child)::after {
        width: 20px;
        height: 17px;
        top: 27px;
        right: -28px;
    }

    .pages #mail_form .smf-progress-tracker__item__number {
        height: 70px;
        font-size: 35px;
    }

    .pages #mail_form .smf-item__label__text,
    .pages #mail_form .smf-item__description {
        font-size: 16px;
    }
}

@media screen and (max-width: 490px) {
    .pages #contact_info .contact_frame .contact_phone {
        font-size: 30px;
    }

    .pages #contact_info .contact_frame .notes {
        text-align: justify;
    }

    .pages #contact_info .contact_frame .notes br {
        display: none;
    }
}

/* ------------------------------------------------------
p_features
------------------------------------------------------ */
@media screen and (max-width: 1700px) {
    .pages #features_strength .strength_headline .headline_subttl {
        font-size: 10.588vw;
    }
}

@media screen and (max-width: 1500px) {
    .pages #features_strength .strength_headline {
        min-height: 35vw;
    }

    .pages #features_strength .strength_headline .inner {
        max-width: 100%;
    }

    .pages #features_strength .strength_headline .headline_title,
    .pages #features_plan .plan_block .features_plan_title {
        font-size: 3vw;
    }

    .pages #management_plan .plan_card .plan_card_component {
        padding: 34px 1.933vw 40px;
    }
}

@media screen and (max-width: 1250px) {
    .pages #management_plan .plan_card .plan_card_ttl {
        font-size: 26px;
    }

    .pages #management_plan .plan_card .plan_card_subttl02 {
        font-size: 18px;
    }

    .pages #optional_services .optional_services_list li h4 {
        font-size: 20px;
    }
}

@media screen and (max-width: 1024px) {
    .pages #features_intro .inner {
        flex-direction: column;
        gap: 35px;
    }

    .pages #features_intro figure {
        text-align: center;
    }

    .pages #features_intro .intro_contents {
        width: 100%;
    }

    .pages #features_intro .features_intro_list li {
        height: 130px;
    }

    .pages #features_intro .features_intro_list li h4 {
        font-size: 26px;
    }

    .pages #features_strength .strength_headline .headline_subttl {
        left: -8%;
    }

    .pages #features_strength .strength_headline .headline_title,
    .pages #features_plan .plan_block .features_plan_title {
        font-size: 28px;
    }

    .pages #features_strength .strength_headline .headline_notes {
        font-size: 20px;
    }

    .pages #features_strength .strength_headline .headline_notes span {
        min-width: inherit;
        padding: 8px 10px;
    }

    .pages #features_strength .strength_wrap {
        padding: 164px 0 65px;
    }

    .pages #features_strength .strength_card {
        margin-bottom: 14.355vw;
    }

    .pages #features_strength .strength_card .strength_title {
        font-size: 24px;
    }

    .pages #features_strength .strength_card .strength_title br {
        display: none;
    }

    .pages #features_plan {
        flex-direction: column;
    }

    .pages #features_plan .plan_block {
        width: 100%;
    }

    .pages #features_plan .plan_block:nth-child(1) {
        padding: 55px 3%;
    }

    .pages #features_plan .plan_block:nth-child(2) {
        padding: 55px 3% 55px 0;
    }

    .pages #management_plan {
        padding: 50px 0;
    }

    .pages #management_plan .management_plan_ttl {
        font-size: 28px;
    }

    .pages #management_plan .management_plan_txt {
        margin-bottom: 45px;
    }

    .pages #management_plan .management_plan_list {
        flex-direction: column;
        align-items: center;
        gap: 45px;
    }

    .pages #management_plan .plan_card {
        width: 100%;
    }

    .pages #management_plan .plan_card .plan_card_ttl {
        height: 100px;
        font-size: 20px;
    }

    .pages #management_plan .plan_card .plan_card_component {
        padding: 34px 25px 40px;
    }

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

    .pages #optional_services .optional_services_ttl {
        font-size: 28px;
        margin-bottom: 40px;
    }

    .pages #optional_services .optional_services_list li {
        width: calc((100% - 16px) / 2);
    }

    .pages #optional_services .optional_services_list li h4 {
        font-size: 18px;
    }
}

@media screen and (max-width: 768px) {
    .pages #features_intro {
        padding: 0 0 55px;
    }

    .pages #features_strength .strength_headline {
        min-height: inherit;
        padding: 65px 0;
    }

    .pages #features_strength .strength_headline .inner {
        flex-direction: column;
    }

    .pages #features_strength .strength_headline .headline_frame {
        width: 100%;
        text-align: center;
        margin-bottom: 55px;
    }

    .pages #features_strength .strength_headline .headline_subttl {
        top: -50px;
        left: 50%;
        transform: translateX(-50%);
    }

    .pages #features_strength .strength_headline .headline_image {
        justify-content: center;
        margin: 0 0 0;
    }

    .pages #features_strength .strength_headline .headline_image figure {
        width: 38.021vw;
    }

    .pages #features_strength .strength_headline .headline_image figure:nth-child(1) {
        padding-top: 19.531vw;
    }

    .pages #features_strength .strength_wrap {
        padding: 90px 0 65px;
    }

    .pages #features_strength .strength_card {
        flex-direction: column !important;
        gap: 40px;
        margin-bottom: 130px;
    }

    .pages #features_strength .strength_card::before {
        right: 0;
    }

    .pages #features_strength .strength_card:nth-child(even)::before {
        left: auto;
        right: 0;
    }

    .pages #features_strength .strength_card .strength_frame {
        width: 97%;
        max-width: 100%;
        padding: 0 0;
    }

    .pages #features_strength .strength_card figure {
        width: 75vw;
        height: 56.25vw;
        margin: 0 auto -41px;
    }

    .pages #management_plan .management_plan_txt br {
        display: none;
    }

    .pages #optional_services .optional_services_list li {
        width: 100%;
        max-width: 480px;
        margin: 0 auto;
    }
}

/* ------------------------------------------------------
p_blog
------------------------------------------------------ */
@media screen and (max-width: 1700px) {
    .pages #blog_wrap .inner {
        margin: 0 auto;
    }
}

@media screen and (max-width: 1350px) {
    .pages .blog_contents .blog_headline .headline_title {
        font-size: 30px;
    }

    .pages .blog_contents .contents_detail .table_contents {
        padding: 44px 15px 46px;
    }

    .pages .blog_contents .contents_detail .blog_section .catcher_title_lv1 {
        font-size: 26px;
        padding: 6px 10px 6px 20px;
    }
}

@media screen and (max-width: 1250px) {
    .pages #blog_information .blog_list {
        gap: 10px;
    }

    .pages #blog_information .blog_list .blog_card {
        width: calc((100% - 20px) / 3);
        margin-bottom: 20px;
    }

    .pages #blog_information .blog_list .blog_card figure {
        height: 18.96vw;
        max-height: 237px;
    }

    .pages #blog_information .blog_card .blog_component {
        padding: 26px 2.32vw 23px;
    }

    .pages .same_category h3.under_mainttl span.en {
        font-size: 8vw;
    }
}

@media screen and (max-width: 1024px) {
    .pages #blog_category h4 {
        font-size: 22px;
        padding-left: 20px;
    }

    .pages #blog_category .category_list {
        gap: 10px;
    }

    .pages #blog_category .category_list li {
        width: calc((100% - 30px) / 4);
        height: 60px;
    }

    .pages #blog_category .category_list li a {
        font-size: 16px;
        border-radius: 10px;
    }

    .pages #blog_information {
        padding: 55px 0 0;
    }

    .pages #blog_information .blog_list {
        gap: 20px;
        margin-bottom: 35px;
    }

    .pages #blog_information .blog_list .blog_card {
        width: calc((100% - 20px) / 2);
    }

    .pages #blog_information .blog_list .blog_card figure {
        height: 28.418vw;
        max-height: 291px;
    }

    .pages #blog_information .blog_card .blog_component {
        padding: 15px 15px;
    }

    .pages #blog_information .blog_card .group_cate {
        margin-bottom: 10px;
    }

    .pages #blog_information .blog_card .blog_title {
        font-size: 16px;
    }

    .pages #blog_wrap {
        padding-bottom: 65px;
    }

    .pages #blog_wrap .inner {
        flex-direction: column;
        gap: 65px;
    }

    .pages .blog_contents {
        max-width: 100%;
    }

    .pages .blog_contents .blog_headline .blog_date,
    .pages .blog_contents .blog_headline .group_cate span {
        font-size: 16px;
    }

    .pages .blog_contents .blog_headline .headline_title {
        font-size: 24px;
    }

    .pages .blog_contents .contents_detail {
        margin-bottom: 55px;
    }

    .pages .blog_contents .contents_detail .blog_section {
        margin-bottom: 60px;
    }

    .pages .blog_contents .contents_detail .blog_subsection {
        margin-bottom: 50px;
    }

    .pages .blog_contents .contents_detail .table_contents {
        padding: 25px 20px 35px;
        margin-bottom: 65px;
    }

    .pages .blog_contents .contents_detail .table_contents .table_title {
        padding-left: 0;
    }

    .pages .blog_contents .contents_detail .table_contents .wp-block-list li {
        margin-left: 0;
    }

    .pages .blog_contents .contents_detail .table_contents ol > li {
        margin-bottom: 25px;
    }

    .pages .blog_contents .contents_detail .wp-block-image {
        text-align: center;
        margin-bottom: 30px;
    }

    .pages .blog_contents .contents_detail p:not(:last-child) {
        margin-bottom: 20px;
    }

    .pages .blog_contents .contents_detail .blog_section .catcher_title_lv1 {
        font-size: 20px;
    }

    .pages .blog_contents .contents_detail .blog_section .catcher_title_lv2 {
        font-size: 16px;
    }

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

    .pages #sidenavi dl {
        width: 94%;
        max-width: 100%;
        padding: 35px 0;
    }

    .pages #sidenavi dl dd .btn_search #sbox {
        font-size: 16px;
    }

    .pages #sidenavi dl dd .btn_search input::placeholder {
        font-size: 16px;
    }

    .pages #sidenavi dl dt {
        font-size: 20px;
    }

    .pages #sidenavi dl dt::before {
        top: 0;
    }

    .pages #sidenavi .new_articles .article_item {
        margin-bottom: 20px;
    }

    .pages #sidenavi .article_item figure {
        width: 36.667vw;
        height: 23.333vw;
    }

    .pages #sidenavi dl dd .category_list li::before {
        width: 8px;
        height: 8px;
        top: 7px;
    }

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

    .pages .same_category h3.under_mainttl {
        margin-bottom: 35px;
    }

    .pages .same_category h3.under_mainttl span.en {
        font-size: 32px;
    }

    .pages #idx_blog.same_category .swiper-slide .idx_blog_title {
        font-size: 14px;
    }

    .pages #idx_blog.same_category .idx_blog_control .swiper-button-next,
    .pages #idx_blog.same_category .idx_blog_control .swiper-button-prev {
        width: 80px;
        height: 80px;
    }

    .pages #idx_blog.same_category .idx_blog_control .swiper-pagination {
        max-width: 80px;
    }
}

@media screen and (max-width: 810px) {
    .pages #idx_blog.same_category .idx_blog_control .swiper-button-next {
        margin-bottom: 0;
    }

    .pages #idx_blog.same_category .idx_blog_control .swiper-pagination {
        margin-top: 0;
    }
}

@media screen and (max-width: 768px) {
    .pages #blog_category .category_list li {
        width: calc((100% - 20px) / 3);
    }

    .pages #blog_category .category_list li a {
        font-size: 14px;
    }
}

@media screen and (max-width: 576px) {
    .pages #blog_category .category_list li {
        width: calc((100% - 10px) / 2);
    }

    .pages #blog_information .blog_list .blog_card {
        width: 100%;
    }

    .pages #blog_information .blog_list .blog_card figure {
        height: 57.986vw;
        max-height: 334px;
    }
}
