.box_sp {
    display: none;
}

.box_pc {
    display: block;
}

/* responsive */
@media screen and (max-width: 1900px) {
    #idx_mainvisual h2 {
        font-size: 7.368vw;
        left: 6.211vw;
    }

    #idx_mainvisual .mv_txt {
        font-size: 2.105vw;
    }

    /*----- idx_service -----*/
    #idx_service .service_item .idx_service_headline {
        padding: 3.684vw 0 2.895vw 4.211vw;
    }

    #idx_service .service_item .idx_service_headline::before {
        border-top-left-radius: 5.053vw;
    }

    #idx_service .service_item .idx_service_connect a {
        border-radius: 5.053vw 16px 5.053vw 16px;
        padding: 5.053vw 3.632vw 3.737vw 4.526vw;
    }

    #idx_service .service_item .idx_service_connect .tag_no {
        font-size: 6.316vw;
    }

    #idx_service .service_item:nth-child(even) .idx_service_headline {
        padding-right: 4.211vw;
    }

    #idx_service .service_item:nth-child(even) .idx_service_headline::before {
        border-top-right-radius: 5.053vw;
    }

    #idx_service .service_item:nth-child(even) .idx_service_connect a {
        border-radius: 16px 5.053vw 16px 5.053vw;
        padding-left: 3.632vw;
        padding-right: 4.526vw;
    }
}

@media screen and (max-width: 1500px) {
    .inner {
        max-width: 1200px;
    }

    /*----- header -----*/
    #header #top a {
        width: 17.742vw;
        max-width: 220px;
    }

    #header .menu {
        gap: 20px;
    }

    #header .gnavi {
        max-width: 780px;
    }

    #header .gnavi li a {
        font-size: 14px;
    }

    #header .h_contact {
        max-width: 135px;
        height: 50px;
    }

    #header .h_contact a {
        font-size: 15px;
    }

    /*----- idx_mainvisual -----*/
    #idx_mainvisual h2 {
        left: 5%;
    }

    /*----- idx_intro -----*/
    #idx_intro .idx_intro_gallery {
        margin: 7.333vw 0 -20.867vw 3%;
    }

    #idx_intro .idx_intro_gallery .gallery_list {
        gap: 40px;
    }

    #idx_intro .idx_intro_gallery .gallery_item li {
        margin-bottom: 40px;
    }

    /*----- idx_bynumbers -----*/
    #idx_bynumbers {
        padding: 29.4vw 0 128px;
    }

    #idx_bynumbers .idx_bynumbers_list .bynumbers_item {
        min-height: 20vw;
    }

    #idx_bynumbers .idx_bynumbers_list .card_special h3 {
        font-size: 4.267vw;
    }

    #idx_bynumbers .idx_bynumbers_list .card_special .card_special_txt {
        font-size: 2.267vw;
    }

    #idx_bynumbers .idx_bynumbers_list .bynumbers_item .item_no {
        font-size: 3.333vw;
    }

    #idx_bynumbers .idx_bynumbers_list .bynumbers_item .item_no span.en {
        font-size: 8vw;
    }

    /*----- idx_service -----*/
    #idx_service .service_item .idx_service_headline {
        width: 82.224vw;
        max-width: 1050px;
    }

    /*----- footer -----*/
    #footer .box_contact .box_contact_frame {
        max-width: 1200px;
    }
#footer .box_contact .box_contact_frame dl dd span {
    max-width: 95%;
    margin: 15px 0;
}
    #footer .box_info .box_info_list li a {
        padding: 2.533vw 20px 0;
    }

    #footer .footer_info .f_logo {
        width: 34.16vw;
        max-width: 427px;
        border-bottom: 0;
    }

    #footer .footer_info .footer_wrap {
        margin-bottom: 80px;
    }

    #footer .footer_info .footer_link {
        width: 54.609vw;
        max-width: 628px;
        flex-direction: column;
        margin-top: -180px;
    }

    #footer .footer_info .footer_link dl {
        max-width: 100%;
        background: linear-gradient(to right, rgba(45, 78, 145, 1) 0%, rgba(0, 78, 41, 0.7) 100%);
        border-radius: 14px;
        padding: 17px 23px 25px;
    }

    #footer .footer_info .footer_link dl dt {
        margin-bottom: 16px;
    }

    #footer .footer_info .footer_link dl dd {
        display: flex;
        gap: 20px;
    }

    #footer .footer_info .footer_link dl dd .f_special_btn {
        margin-bottom: 0;
    }
}

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

    /*----- idx_service -----*/
    #idx_service .service_item .idx_service_headline h4 {
        font-size: 2.37vw;
    }

    #idx_service .service_item .idx_service_connect h5 {
        font-size: 2.963vw;
    }
}
@media (max-width: 1024px) {
	#idx_features .btn_primary {
		margin: 0 auto;
	}
	#idx_blog .h3title {
        margin-bottom: 30px;
        text-align: center;
    }
	#idx_blog .idx_blog_txt {
        text-align: center;
    }
	#idx_ourcompany .h3title {
    text-align: center;
}
}
@media (max-width: 1200px) {
    .c-contact__title { font-size: 36px; }
    .c-contact__text { font-size: 22px; }
    .c-contact__btn--tel .tel_number { font-size: 32px; }
    .c-contact__btn--form .label { font-size: 28px; }
    .c-contact__bg-text { font-size: 8vw; }
}
@media screen and (max-width: 1150px) {

    /*----- idx_faq -----*/
    #idx_faq .idx_faq_gallery figure:last-child {
        margin: 12.174vw 0 -90px 0;
    }

    /*----- footer -----*/
    #footer .footer_info .footer_connect dl dd span {
        display: block;
        margin: 0 0;
    }
}

@media screen and (min-width: 1025px) {
    a[href^="tel:"] {
        pointer-events: none;
		color: #fff;
    }
	#contact a[href^="tel:"] {
		color: #385cb0;
    }
	.c-contact a[href^="tel:"] {
		color: #385cb0;
    }
    .btn_primary a:hover .icon {
        background: var(--green-color);
    }

    .btn_primary a:hover .icon::before {
        animation: arrow_animation1 .3s ease forwards;
    }

    .btn_primary a:hover .icon::after {
        animation: arrow_animation2 .3s ease forwards .2s;
    }

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

    #header .h_contact a:hover::before {
        opacity: 1;
    }

    #idx_mainvisual .mv_contact a:hover dl dt,
    #idx_mainvisual .mv_contact a:hover .mv_phone {
        color: var(--green-color);
    }

    #idx_mainvisual .mv_contact a:hover dl dd {
        background: var(--green-color);
    }

    #idx_faq .idx_faq_link li a:hover {
        color: var(--blue-color);
        background: var(--white-color);
    }

    #idx_faq .idx_faq_link li a:hover .icon {
        background: var(--blue-color);
    }

    #idx_faq .idx_faq_link li a:hover .icon::before,
    #idx_faq .idx_faq_link li a:hover .icon::after {
        background-image: url(../images/common/icon_arrow.png);
    }

    #idx_blog .swiper-slide a:hover figure img {
        transform: scale(1.08, 1.08) translateZ(0);
    }

    #idx_service .service_item .idx_service_connect a:hover figure img,
    #footer .box_contact .box_contact_frame a:hover figure img,
    #footer .box_info .box_info_list li a:hover figure img {
        transform: scale(1.2, 1.2) translateZ(0);
    }

    #idx_service .idx_service_frame a:hover::before {
        animation: arrow_animation1_service .3s ease forwards;
    }

    #idx_service .idx_service_frame a:hover::after {
        animation: arrow_animation2_service .3s ease forwards .2s;
    }

    #footer .footer_info .footer_link li a:hover::before {
        transform: scaleX(1);
        transform-origin: bottom left;
    }

    #footer .footer_info .footer_link dl dd .f_special_btn a:hover .icon {
        transform: translate(5px, -5px);
    }

    #footer .footer_info .footer_link dl dd .f_special_btn:nth-child(1) a:hover {
        color: #000;
    }

    #footer .footer_info .footer_link dl dd .f_special_btn:nth-child(1) a:hover .icon .cls-1 {
        stroke: #000;
    }

    #footer .footer_info .footer_link dl dd .f_special_btn:nth-child(2) a:hover {
        color: var(--green-color);
    }

    #footer .footer_info .footer_link dl dd .f_special_btn:nth-child(2) a:hover .icon .cls-1 {
        stroke: var(--green-color);
    }

    .bnr_fixed.is-active:hover {
        transform: translateX(0);
    }

    .bnr_fixed.is-active:hover::after {
        background-image: url(../images/footer/bnr_icon_arrow02.svg);
    }

    .bnr_fixed.is-active:hover .bnr_title::before {
        opacity: 1;
    }

    #totop:hover {
        border-color: var(--green-color);
    }

    #totop:hover .cls-1 {
        fill: var(--green-color);
    }

    #totop:hover .totop_txt {
        color: var(--green-color);
    }
}

@media screen and (max-width: 1024px) {
    body {
        font-size: 14px;
    }

    #wrapper,
    #header,
    #main,
    #footer,
    .pages .pages_inner {
        width: 100% !important;
        min-width: inherit !important;
    }

    .h3title {
        font-size: 20px;
    }

    .h3title span.en {
        font-size: 35px;
    }

    .btn_primary {
        height: 60px;
    }

    .btn_primary .icon {
        width: 50px;
        height: 50px;
    }

    .btn_primary .icon::before,
    .btn_primary .icon::after {
        width: 20px;
        height: 18px;
    }

    /*----- header -----*/
    #header {
        padding: 0 2%;
    }

    #header #top a {
        width: 220px;
        max-width: inherit;
    }

    #header #toggle-menu {
        width: 60px;
        height: 60px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        border-radius: 5px;
        background: linear-gradient(to right, rgba(56, 92, 176, 1) 0%, rgba(0, 78, 41, 1) 100%);
        color: var(--white-color);
        padding-top: 4px;
        position: fixed;
        top: 10px;
        right: 2%;
        z-index: 9999;
        transition: all .3s ease;
        overflow: hidden;
        cursor: pointer;
    }

    #header #toggle-menu .txt {
        font-size: 12px;
        font-weight: 500;
        text-align: justify;
        margin: 0 0;
        transition: all .3s ease;
    }

    #header #toggle-menu .txt span {
        letter-spacing: 0.1em;
        padding-left: 2px;
    }

    #header #toggle-menu .txt .close_txt {
        display: none;
    }

    #header #toggle-menu.active .txt .menu_txt {
        display: none;
    }

    #header #toggle-menu.active .txt .close_txt {
        display: block;
    }
#idx_mainvisual p.mv_sub_txt {
    padding: 0 20px;
}
	#idx_mainvisual p.mv_sub_txt br{
    display: none;
}
    #header .hamburger {
        width: 40px;
        height: 22px;
        display: block;
        margin-bottom: 5px;
        position: relative;
    }

    .hamburger span {
        display: block;
        height: 2px;
        width: 100%;
        background: var(--white-color);
        opacity: 1;
        position: absolute;
        left: 0;
        transform: rotate(0deg);
        transition: .25s ease-in-out;
    }

    .hamburger span:nth-child(1) {
        top: 0px;
    }

    .hamburger span:nth-child(2),
    .hamburger span:nth-child(3) {
        top: 10px;
    }

    .hamburger span:nth-child(4) {
        top: 20px;
    }

    .hamburger.active span:nth-child(1) {
        top: 9px;
        width: 0%;
        left: 50%;
    }

    .hamburger.active span:nth-child(2) {
        transform: rotate(45deg);
    }

    .hamburger.active span:nth-child(3) {
        transform: rotate(-45deg);
    }

    .hamburger.active span:nth-child(4) {
        top: 9px;
        width: 0%;
        left: 50%;
    }

    /* ========== */
    #header .menu {
        width: 100%;
        height: calc(100vh - 80px);
        flex-direction: column;
        justify-content: flex-start;
        background: var(--white-color);
        padding: 0 0 75px;
        position: fixed;
        top: 80px;
        right: -100%;
        z-index: 9999;
        overflow: auto;
        transition: transform 1s;
    }

    #header .menu.opened {
        transform: translateX(-100%);
    }

    #header .gnavi {
        max-width: 100%;
        flex-direction: column;
        justify-content: flex-start;
    }

    #header .gnavi li {
        width: 100%;
        border-bottom: 1px solid var(--white-color);
    }

    #header .gnavi li:last-child {
        display: block;
    }

    #header .gnavi li a {
        height: 55px;
        display: flex;
        align-items: center;
        font-size: 16px;
        text-align: left;
        color: var(--white-color);
        background: var(--blue-color);
        padding: 0 3%;
        position: relative;
    }

    #header .h_contact {
        display: none;
    }

    /*----- idx_mainvisual -----*/
    #idx_mainvisual .mv_txt {
        font-size: 22px;
        margin-bottom: 5vh;
    }

    #idx_mainvisual .mv_contact {
        max-width: 380px;
        height: 190px;
    }

    #idx_mainvisual .mv_contact a {
        padding-top: 10px;
    }

    #idx_mainvisual .mv_contact a::before {
        height: 380px;
    }

    #idx_mainvisual .mv_contact a::after {
        width: 242px;
        height: 60px;
        top: -40px;
    }

    #idx_mainvisual .mv_contact dl dt {
        font-size: 24px;
    }

    #idx_mainvisual .mv_contact dl dd {
        font-size: 16px;
    }

    #idx_mainvisual .mv_contact .mv_phone {
        font-size: 22px;
    }

    /*----- idx_intro -----*/
    #idx_intro {
        padding-top: 45px;
    }

    #idx_intro .inner {
        flex-direction: column;
        gap: 20px;
    }

    #idx_intro .idx_intro_title {
        width: 100%;
        font-size: 26px;
        line-height: 1.5;
        text-align: center;
    }

    #idx_intro .idx_intro_title br {
        display: none;
    }

    #idx_intro .idx_intro_txt {
        width: 100%;
    }

    #idx_intro .idx_intro_gallery {
        margin: 50px 0 -20.867vw 3%;
    }

    #idx_intro .idx_intro_gallery .gallery_list {
        gap: 20px;
    }

    #idx_intro .idx_intro_gallery .gallery_item li {
        margin-bottom: 20px;
    }

    /*----- idx_bynumbers -----*/
    #idx_bynumbers {
        padding: 29.4vw 0 60px;
    }

    #idx_bynumbers .idx_bynumbers_list {
        gap: 20px;
        row-gap: 20px;
    }

    #idx_bynumbers .idx_bynumbers_list .bynumbers_item {
        width: calc((100% - 20px) / 2);
    }

    #idx_bynumbers .idx_bynumbers_list .card_special h3 {
        font-size: 32px;
        margin-bottom: 8px;
    }

    #idx_bynumbers .idx_bynumbers_list .card_special .card_special_txt {
        font-size: 24px;
    }

    #idx_bynumbers .idx_bynumbers_list .bynumbers_item h4 {
        font-size: 24px;
    }

    #idx_bynumbers .idx_bynumbers_list .bynumbers_item .item_info dt {
        font-size: 16px;
    }

    #idx_bynumbers .idx_bynumbers_list .bynumbers_item .item_info dd {
        font-size: 16px;
    }

    /*----- idx_features -----*/
    #idx_features {
        padding-top: 50px;
    }

    #idx_features .h3title {
        margin-bottom: 30px;
    }

    #idx_features .h3title span.en {
        margin-bottom: 5px;
    }

    #idx_features .idx_features_flow {
        padding: 60px 0;
        margin-top: 45px;
    }

    #idx_features .idx_features_flow .inner {
        flex-direction: column;
        gap: 45px;
    }

    #idx_features .idx_features_component {
        max-width: 100%;
    }

    #idx_features .idx_features_component .component_txt {
        margin-bottom: 35px;
    }

    #idx_features .idx_features_component .component_txt p:not(:last-child) {
        margin-bottom: 25px;
    }

    /*----- idx_property -----*/
    #idx_property {
        padding: 55px 0 60px;
    }

    #idx_property .h3title {
        margin-bottom: 30px;
    }

    #idx_property .idx_property_list {
        gap: 20px;
        margin-bottom: 50px;
    }

    #idx_property .idx_property_list .property_item {
        width: calc((100% - 20px) / 2);
    }

    #idx_property .property_item h4 {
        font-size: 20px;
    }

    /*----- idx_cover -----*/
    #idx_cover::after {
        top: auto;
        bottom: -18px;
        right: -62px;
    }

    /*----- idx_service -----*/
    #idx_service {
        padding: 60px 0;
    }

    #idx_service .h3title {
        margin-bottom: 25px;
    }

    #idx_service .h3title span.en {
        margin-bottom: 5px;
    }

    #idx_service .idx_service_txt {
        margin-bottom: 35px;
    }

    #idx_service .idx_service_list {
        margin-bottom: 55px;
    }

    #idx_service .service_item:not(:last-child) {
        margin-bottom: 55px;
    }

    #idx_service .service_item .idx_service_headline h4 {
        font-size: 22px;
    }

    #idx_service .service_item .idx_service_connect h5 {
        font-size: 24px;
    }

    #idx_service .service_item .idx_service_headline {
        flex-direction: column !important;
        align-items: flex-start;
        gap: 15px;
        padding: 35px 0 25px 20px;
    }

    #idx_service .service_item .idx_service_headline::before {
        height: 280px;
        max-height: inherit;
        border-top-left-radius: 40px;
    }

    #idx_service .service_item .idx_service_headline .item_txt br {
        display: none;
    }

    #idx_service .service_item .idx_service_connect {
        width: 100%;
        height: 280px;
        max-height: inherit;
    }

    #idx_service .service_item .idx_service_connect a {
        border-radius: 40px 16px 40px 16px;
        padding: 35px 25px 25px 35px;
    }

    #idx_service .service_item .idx_service_connect .tag_no {
        font-size: 60px;
    }

    #idx_service .service_item:nth-child(even) .idx_service_headline {
        padding-right: 20px;
    }

    #idx_service .service_item:nth-child(even) .idx_service_headline::before {
        border-top-right-radius: 40px;
    }

    #idx_service .service_item:nth-child(even) .idx_service_connect a {
        border-radius: 16px 40px 16px 40px;
        padding-left: 25px;
        padding-right: 35px;
    }

    #idx_service .btn_primary {
        margin-bottom: 55px;
    }

    #idx_service .idx_service_frame {
        height: 140px;
    }

    #idx_service .idx_service_frame a {
        font-size: 18px;
        border-width: 3px;
        padding: 0 90px 0 15px;
    }

    #idx_service .idx_service_frame a::before {
        right: 25px;
    }

    #idx_service .idx_service_frame a .icon {
        right: -130px;
    }

    #idx_service .idx_service_frame a .frame_txt span::before {
        width: 3px;
        height: 3px;
        top: 0;
    }

    /*----- idx_faq -----*/
    #idx_faq {
        padding: 55px 0;
    }

    #idx_faq .h3title {
        margin-bottom: 30px;
    }

    #idx_faq .idx_faq_txt {
        margin-bottom: 40px;
    }

    #idx_faq .idx_faq_gallery {
        flex-shrink: 0;
    }

    #idx_faq .idx_faq_link {
        margin-bottom: 45px;
    }

    #idx_faq .idx_faq_link li {
        height: 80px;
    }

    #idx_faq .idx_faq_link li a {
        font-size: 18px;
    }

    /*----- idx_blog -----*/
    #idx_blog {
        padding: 50px 0 95px;
    }

    #idx_blog::after {
        height: 120px;
    }

    #idx_blog .h3title {
        margin-bottom: 30px;
    }

    #idx_blog .idx_blog_txt {
        line-height: 2.5;
        margin-bottom: 40px;
    }

    #idx_blog .idx_blog_slider {
        margin-bottom: 50px;
    }

    #idx_blog .swiper-slide {
        max-width: 280px;
    }

    #idx_blog .swiper-slide figure {
        height: 160px;
    }

    #idx_blog .swiper-slide .idx_blog_component {
        padding: 10px 10px;
    }

    #idx_blog .swiper-slide .idx_blog_date,
    #idx_blog .swiper-slide .group_cate span {
        font-size: 13px;
    }

    #idx_blog .swiper-slide .group_cate {
        margin-bottom: 5px;
    }

    #idx_blog .swiper-slide .idx_blog_title {
        font-size: 16px;
    }

    #idx_blog .idx_blog_control {
        max-width: 100px;
    }

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

    #idx_blog .idx_blog_control .swiper-button-next::before,
    #idx_blog .idx_blog_control .swiper-button-prev::before {
        width: 24px;
        height: 21px;
        margin-bottom: 8px;
    }

    #idx_blog .idx_blog_control .swiper-button-next::after,
    #idx_blog .idx_blog_control .swiper-button-prev::after {
        font-size: 18px;
    }

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

    /*----- idx_ourcompany -----*/
    #idx_ourcompany {
        padding: 15px 0 55px;
    }

    #idx_ourcompany .idx_ourcompany_title {
        font-size: 26px;
        margin-bottom: 32px;
    }

    #idx_ourcompany .idx_ourcompany_txt {
        margin-bottom: 35px;
    }

    /*----- footer -----*/
    #footer .box_contact {
        padding: 60px 0;
    }

    #footer .box_contact .box_contact_frame {
        height: 220px;
    }

    #footer .box_contact .box_contact_frame::after {
        background-size: 967px 100%;
        height: 45px;
        bottom: 15px;
        animation-name: box_contact_frame_sp;
    }

    #footer .box_contact .box_contact_frame dl dt {
        font-size: 26px;
    }

    #footer .box_contact .box_contact_frame dl dd {
        font-size: 18px;
    }

    #footer .box_info .box_info_list {
        gap: 20px;
    }

    #footer .box_info .box_info_list li {
        width: calc((100% - 40px) / 3);
        height: 150px;
        max-height: inherit;
    }

    #footer .box_info .box_info_list li .box_info_title span {
        font-size: 28px;
    }

    #footer .footer_info {
        padding-top: 155px;
    }

    #footer .footer_info::before {
        left: 25%;
    }

    #footer .footer_info .f_logo {
        width: 100%;
        max-width: 100%;
        padding-bottom: 0;
    }

    #footer .footer_info .footer_wrap {
        flex-direction: column;
        margin-bottom: 60px;
    }

    #footer .footer_info .footer_link {
        width: 100%;
        margin: 0 auto;
    }

    #footer .footer_info .link_connect {
        display: none;
    }

    #totop {
        width: 65px;
        height: 65px;
        bottom: 15px;
        right: 10px;
    }

    #totop .icon {
        width: 14px;
        height: 16px;
    }

    #totop .totop_txt {
        font-size: 7px;
    }

    .bnr_fixed::before,
    .bnr_fixed::after {
        display: none;
    }

    .bnr_fixed .bnr_title {
        max-width: 50px;
    }

    .bnr_fixed.is-active {
        transform: translateX(200px);
    }
}

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

    /*----- idx_mainvisual -----*/
    #idx_mainvisual {
        height: auto;
        flex-direction: column;
        align-items: flex-start;
    }

    #idx_mainvisual .idx_mv_gallery {
        width: 85%;
        height: 62.5vw;
        max-height: 480px;
        z-index: 1;
    }

    #idx_mainvisual h2 {
        font-size: 13vmin;
    }

    #idx_mainvisual .mv_slider {
        border-top-right-radius: 20px;
        border-bottom-right-radius: 20px;
    }

    #idx_mainvisual .idx_mv_component {
        width: 100%;
        height: auto;
        padding: 170px 3% 0;
        margin-top: -120px;
        margin-bottom: 0;
    }

    #idx_mainvisual .mv_contact {
        max-width: 300px;
        height: 150px;
    }

    #idx_mainvisual .mv_contact a::before {
        height: 300px;
    }

    #idx_mainvisual .mv_contact dl {
        margin-bottom: 5px;
    }

    #idx_mainvisual .mv_contact dl dt {
        font-size: 20px;
        margin-bottom: 5px;
    }

    #idx_mainvisual .mv_contact dl dd {
        font-size: 14px;
    }

    /*----- idx_faq -----*/
    #idx_faq .inner {
        flex-direction: column-reverse;
    }

    #idx_faq .idx_faq_component {
        max-width: 100%;
    }

    #idx_faq .idx_faq_gallery {
        width: 100%;
    }

    #idx_faq .idx_faq_gallery figure {
        width: 36.458vw;
    }

    #idx_faq .idx_faq_gallery figure:last-child {
        margin-bottom: 0;
    }

    /*----- idx_blog -----*/
    #idx_blog .idx_blog_slider {
        flex-direction: column-reverse;
    }

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

    #idx_blog .idx_blog_control {
        max-width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-top: 25px;
    }

    #idx_blog .idx_blog_control .swiper-button-next {
        order: 1;
        margin-bottom: 0;
    }

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

    /*----- footer -----*/
    #footer .box_info {
        padding-bottom: 60px;
        margin-bottom: 0;
    }

    #footer .box_info .box_info_list {
        flex-direction: column;
        align-items: center;
    }

    #footer .box_info .box_info_list li {
        width: 100%;
        max-width: 520px;
    }

    #footer .footer_info {
        padding-top: 60px;
    }

    .bnr_fixed {
        /*        display: none;*/
    }
}

@media screen and (max-width: 768px) {
    .box_sp {
        display: block;
    }

    .box_pc {
        display: none;
    }

    /*----- idx_intro -----*/
    #idx_intro .idx_intro_gallery .gallery_list {
        top: -80%;
    }
    #idx_ourcompany .idx_ourcompany_title {
        font-size: 24px;
    }
    /*----- idx_bynumbers -----*/
    #idx_bynumbers .idx_bynumbers_list {
        flex-direction: column;
        align-items: center;
    }

    #idx_bynumbers .idx_bynumbers_list .bynumbers_item {
        width: 100%;
        max-width: 580px;
    }

    #idx_bynumbers .idx_bynumbers_list .bynumbers_item:not(.card_special) {
        border-radius: 20px;
    }

    #idx_bynumbers .idx_bynumbers_list .card_special {
        text-align: center;
        margin-bottom: 25px;
    }

    #idx_bynumbers .idx_bynumbers_list .bynumbers_item .item_no {
        font-size: 30px;
    }

    #idx_bynumbers .idx_bynumbers_list .bynumbers_item .item_no span.en {
        font-size: 60px;
    }

    #idx_bynumbers .idx_bynumbers_list .bynumbers_item:nth-child(2) .item_record::before,
    #idx_bynumbers .idx_bynumbers_list .bynumbers_item:nth-child(3) .item_record::before,
    #idx_bynumbers .idx_bynumbers_list .bynumbers_item:nth-child(4) .item_record::before {
        width: 120px;
        max-width: inherit;
        height: 120px;
        max-height: inherit;
    }

    #idx_bynumbers .idx_bynumbers_list .bynumbers_item .icon {
        width: 80px;
        max-width: inherit;
    }

    /*----- idx_property -----*/
    #idx_property .idx_property_list {
        flex-direction: column;
        align-items: center;
    }

    #idx_property .idx_property_list .property_item {
        width: 100%;
        max-width: 580px;
    }

    /*----- footer -----*/
	#footer .box_contact .box_contact_frame {
        height: 250px;
    }
	#footer .box_contact .box_contact_frame dl dd {
    display: flex;
    text-align: justify;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    }
    #footer .box_contact .box_contact_frame a {
        padding: 30px 15px 0;
    }

    #footer .box_contact .box_contact_frame a::after {
        display: none;
    }

    #footer .box_contact .box_contact_frame dl {
        flex-direction: column;
    }

    #footer .box_contact .box_contact_frame dl dt {
        width: 100%;
        margin-bottom: 15px;
    }

    #footer .box_contact .box_contact_frame dl dd {
        width: 100%;
    }
    .c-contact { padding: 60px 0; }
    .c-contact__inner { height: auto; padding: 60px 0; }
    .c-contact__btns { flex-direction: column; align-items: center; }
    .c-contact__btn { width: 100%; height: auto; padding: 30px 20px; }
    .c-contact__bg-text { display: none; } 
}
@media screen and (max-width: 600px) {
	.pages #contact_info .contact_txt {
		text-align: left !important;
}
	.contact_txt p br {
    display: none;
}
}
@media screen and (max-width: 576px) {

    /*----- idx_intro -----*/
    #idx_intro .idx_intro_txt {
        text-align: justify;
    }

    #idx_intro .idx_intro_txt br {
        display: none;
    }

    /*----- footer -----*/
    #footer .footer_info .footer_link dl dd {
        flex-direction: column;
    }
}

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

    /*----- idx_mainvisual -----*/
    #idx_mainvisual .mv_txt {
        font-size: 20px;
    }

    /*----- idx_bynumbers -----*/
    #idx_bynumbers .idx_bynumbers_list .bynumbers_item {
        min-height: inherit;
        flex-direction: column;
    }

    #idx_bynumbers .idx_bynumbers_list .bynumbers_item .layer {
        width: 100%;
        padding: 35px 0 45px;
    }

    /*----- idx_service -----*/
    #idx_service .idx_service_frame a {
        padding-right: 15px;
    }

    #idx_service .idx_service_frame a .icon,
    #idx_service .idx_service_frame a::before,
    #idx_service .idx_service_frame a::after {
        display: none;
    }
	#idx_intro .idx_intro_title {
        font-size: 24px;
     }
	#idx_bynumbers .idx_bynumbers_list .card_special .card_special_txt {
        font-size: 23px;
    }
}

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

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