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

@media only screen and (min-device-width: 1025px) and (max-device-width: 1366px) and (-webkit-min-device-pixel-ratio: 1) {
    .p_faq .faq_list {
        min-width: 4400px;
    }

    .pages #company_message .company_message_block {
        width: 1580px;
    }

    .pages #company_message .profile_title {
        margin-bottom: 30px;
    }

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

    .pages #company_information .company_block:first-child {
        width: 2200px;
    }

    .pages #about_philosophy .about_block {
        width: 2440px;
    }

    .pages #my_work .about_block {
        width: 1580px;
    }

    .pages #about_balance .about_block {
        width: 2310px;
    }
}

@media screen and (max-height: 800px) {
    .pages .catcher_title {
        font-size: 26px;
    }

    .pages .catcher_txt {
        font-size: 2vh;
    }

    .pages #p_mainvisual .under_mv_headline h2 {
        font-size: 5.25vh;
    }

    #works #p_mainvisual .under_mv_headline h2 {
        font-size: 3.5vh;
    }
}

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

    .pages .media_back li:not(.special-btn) a:hover,
    .p_journal .journal_list .journal_card a:hover,
    .p_contact .contact_form .btn_submit:hover {
        opacity: .6;
    }

    .pages .wp-pagenavi .previouspostslink:hover::before,
    .pages .wp-pagenavi .nextpostslink:hover::before {
        transform: scaleY(0) translateZ(0);
        transition: transform .6s cubic-bezier(0.165, 0.84, 0.44, 1);
    }

    .pages .wp-pagenavi .previouspostslink:hover::after,
    .pages .wp-pagenavi .nextpostslink:hover::after {
        transform: scaleY(1) translateZ(0);
        transition: transform .6s cubic-bezier(0.165, 0.84, 0.44, 1) 0.2s;
    }

    .pages .catcher_txt,
    .p_about .about_txt_wrap,
    .pages #company_message .company_message_txt,
    .pages #company_information .company_profile {
        -ms-writing-mode: tb-lr;
        -webkit-writing-mode: vertical-lr;
        -moz-writing-mode: vertical-lr;
        -ms-writing-mode: vertical-lr;
        writing-mode: vertical-lr;
    }

    .pages .catcher_txt p,
    .p_about .about_txt_wrap p,
    .pages #company_message .company_message_txt p,
    .pages #company_information .company_profile dl {
        -ms-writing-mode: lr-tb;
        -webkit-writing-mode: horizontal-tb;
        -moz-writing-mode: horizontal-tb;
        -ms-writing-mode: horizontal-tb;
        writing-mode: horizontal-tb;
    }
}

@media screen and (max-width: 1024px) {
    .under-viewport {
        height: inherit;
        overflow: inherit;
    }

    .under-scroll-wrapper {
        display: block;
    }

    .under-scroll-wrapper .panel_wrap {
        height: auto;
    }

    .side_contents {
        width: 100%;
        padding: 0 0 !important;
        margin: 0 0 0 !important;
    }

    .pages .wp-pagenavi span,
    .pages .wp-pagenavi a {
        font-size: 22px;
        -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 .wp-pagenavi .previouspostslink,
    .pages .wp-pagenavi .nextpostslink {
        margin: 0 15px;
    }

    .pages .wp-pagenavi .previouspostslink::before,
    .pages .wp-pagenavi .previouspostslink::after,
    .pages .wp-pagenavi .nextpostslink::before,
    .pages .wp-pagenavi .nextpostslink::after {
        display: none;
    }

    .pages .catcher_title {
        font-size: 26px;
        margin: 0 auto;
    }

    .pages .catcher_txt {
        max-height: inherit;
        text-align: justify;
    }

    .pages .catcher_txt p {
        margin-right: 0;
    }

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

    .pages .catcher_txt p br {
        display: none;
    }

    .pages #p_mainvisual {
        height: 100vh;
        height: calc(var(--vh, 1vh) * 100);
    }

    .pages #p_mainvisual::before {
        background: rgba(0, 0, 0, 0.35);
    }

    .under-scroll-wrapper #p_mainvisual .panel_wrap {
        height: 100%;
    }

    .pages #p_mainvisual .under_mv_headline {
        width: 100%;
        color: var(--white-color);
        background: none;
        z-index: 2;
    }

    .pages #p_mainvisual .under_mv_headline h2 {
        font-size: 26px;
        padding-bottom: 20px;
    }

    .pages #p_mainvisual .under_mv_headline h2 span {
        font-size: 22px;
        margin-right: 5px;
        margin-bottom: -20px;
    }

    .pages #p_mainvisual .btn-scroll {
        display: none;
    }

    .pages #p_mainvisual.under_vertical {
        height: 280px;
    }

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

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

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

    .pages .contents_detail .wp-block-image {
        margin-bottom: 35px;
    }
}

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

    /*topic path*/
    .pages #topic_path {
        margin: 0 0 35px;
    }

    .pages #topic_path ul {
        padding: 25px 0 0;
    }

    /*-----table-----*/
    .pages table {
        border: 1px solid #118abf;
    }

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

    .pages table th {
        font-size: 15px;
    }

    /*-----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;
    }

    .pages table.tb_block tr th {
        text-align: center;
    }

    .pages table.tb_block tr:last-child td:last-child {
        border-bottom: 1px solid #118abf;
    }

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

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

    .pages .media_back {
        flex-direction: column;
    }

    .pages .media_back li {
        width: 100%;
        text-align: center !important;
    }

    .pages .media_back li.prev-btn {
        margin-bottom: 25px;
    }

    .pages .media_back li.special-btn {
        width: 100%;
    }

    .pages .media_back li.next-btn {
        margin-top: 25px;
    }

}

@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_journal
------------------------------------------------------ */
@media screen and (max-height: 950px) {
    .p_journal #journal_filter {
        margin-bottom: 11.579vh;
    }

    .p_journal .journal_list .journal_card a {
        padding: 4.947vh 26px 5.263vh;
    }
}

@media screen and (max-height: 700px) {
    .p_journal #journal_filter {
        margin-bottom: 5vh;
    }
}

@media screen and (max-width: 1024px) {
    #journal .under-scroll-wrapper {
        height: auto;
        position: relative;
        top: auto;
        left: auto;
    }

    .p_journal {
        padding: 55px 3%;
        margin: 0 0 50vw;
    }

    .p_journal .panel_wrap {
        display: block;
        padding: 0 0;
    }

    .p_journal #journal_filter {
        width: auto;
        margin-bottom: 25px;
    }

    .p_journal .cate_list {
        justify-content: center;
    }

    .p_journal .cate_list li {
        font-size: 15px;
        padding-left: 30px;
        margin: 0 10px 15px;
    }

    .p_journal .cate_list li::before {
        width: 22px;
        height: 22px;
        top: 0;
    }

    .p_journal .cate_list li::after {
        width: 14px;
        height: 14px;
        top: 4px;
        left: 4px;
    }

    .p_journal .journal_list {
        display: block;
        margin-right: 0;
        -ms-writing-mode: lr-tb;
        -webkit-writing-mode: horizontal-tb;
        -moz-writing-mode: horizontal-tb;
        -ms-writing-mode: horizontal-tb;
        writing-mode: horizontal-tb;
    }

    .p_journal .journal_list .journal_card {
        width: 100%;
        margin-left: 0;
    }

    .p_journal .journal_list .journal_card:nth-child(3n - 2) {
        border-top: 0;
    }

    .p_journal .journal_list .journal_card:first-child {
        border-top: 1px solid #b3b3b3;
    }

    .p_journal .journal_list .journal_card a {
        padding: 20px 10px;
    }

    .p_journal .journal_list .journal_meta {
        width: 100%;
        margin-bottom: 10px;
    }

    .p_journal .journal_list .journal_title {
        font-size: 16px;
    }

    .p_journal .wp-pagenavi {
        left: auto;
        margin-top: 35px;
    }

    .media_wrap {
        padding: 50px 0 100px;
    }

    .media_wrap .media_headline {
        padding-bottom: 35px;
        margin-bottom: 30px;
    }

    .media_wrap .media_meta {
        margin-bottom: 10px;
    }

    .media_wrap .media_title {
        font-size: 18px;
    }
}

@media screen and (max-width: 768px) {
    .p_journal #journal_filter .inner {
        flex-direction: column;
        align-items: center;
    }

    .p_journal #journal_filter .archive_select {
        width: 100%;
        max-width: 325px;
    }

    .p_journal #journal_filter .filter_title {
        width: 100%;
        max-width: 100px;
        margin-right: 5px;
        flex-shrink: 0;
    }

    .p_journal .journal_list .journal_title {
        -webkit-line-clamp: 2;
    }
}

/* ------------------------------------------------------
p_faq
------------------------------------------------------ */
@media screen and (max-height: 700px) {
    .p_faq .faq_list .faq_card dd {
        min-height: calc(1em * 2.125 * 2);
    }
}

@media screen and (max-width: 1024px) {
    .p_faq {
        padding: 50px 3%;
        margin: 0 0 50vw;
    }

    .p_faq .faq_list {
        height: auto;
        max-height: inherit;
        -ms-writing-mode: lr-tb;
        -webkit-writing-mode: horizontal-tb;
        -moz-writing-mode: horizontal-tb;
        -ms-writing-mode: horizontal-tb;
        writing-mode: horizontal-tb;
    }

    .p_faq .faq_list .faq_card {
        width: 100%;
        margin: 0 0 35px;
    }

    .p_faq .faq_list .faq_card:last-child {
        margin-bottom: 0;
    }

    .p_faq .faq_list .faq_card dt {
        font-size: 16px;
        margin-bottom: 8px;
    }

    .p_faq .faq_list .faq_card dt span {
        margin-right: 10px;
        top: -3px;
    }

    .p_faq .faq_list .faq_card dd {
        min-height: inherit;
        font-size: 14px;
    }
}

/* ------------------------------------------------------
p_contact
------------------------------------------------------ */
@media screen and (max-height: 950px) {
    .p_contact .contact_form dl {
        padding: 5.263vh 20px 5.684vh;
    }

    .p_contact .contact_form dl.field_textarea {
        padding-bottom: 5.158vh;
    }

    .p_contact .contact_form dl.confirm_group {
        padding-top: 4.316vh;
    }

    .p_contact .wpcf7 form .wpcf7-response-output {
        bottom: -9.474vh;
    }
}

@media screen and (max-height: 750px) {
    .p_contact .contact_form .txt_custom {
        height: 220px;
    }

    .p_contact .wpcf7 form .wpcf7-response-output {
        bottom: 0;
    }
}

@media screen and (max-width: 1024px) {
    .p_contact {
        padding: 60px 3%;
    }

    .p_contact .panel_container {
        max-height: inherit;
        display: block;
    }

    .p_contact .contact_form {
        display: block;
    }

    .p_contact .contact_title {
        font-size: 26px;
        margin: 0 auto 35px;
    }

    .p_contact .contact_form .contact_layout {
        width: 100%;
        margin: 0 0;
    }

    .p_contact .contact_form dl {
        min-height: inherit;
        align-items: flex-start;
        padding: 25px 10px;
    }

    .p_contact .contact_form dl:last-child {
        border-bottom: 0;
    }

    .p_contact .contact_form dl dt {
        width: 30%;
        padding-top: 18px;
    }

    .p_contact .contact_form dl.field_textarea {
        padding-bottom: 20px;
    }

    .p_contact .contact_form dl.confirm_group dd {
        display: block;
    }

    .p_contact .contact_form .input_custom {
        height: 55px;
    }

    .p_contact .contact_form dl.field_checkbox dt {
        padding-top: 5px;
    }

    .p_contact .contact_form dl.field_checkbox dd {
        padding-top: 5px;
    }

    .p_contact .contact_form .txt_custom {
        height: 220px;
    }

    .p_contact .contact_form dl.confirm_group {
        padding-top: 45px;
    }

    .p_contact .contact_form .accept_box {
        margin-bottom: 45px;
    }

    .p_contact .contact_form .accept_box label::before {
        width: 30px;
        height: 30px;
        top: -3px;
    }

    .p_contact .contact_form .accept_box label::after {
        width: 20px;
        height: 19px;
        top: 3px;
        left: 5px;
    }

    .p_contact .contact_form .accept_box .wpcf7-list-item-label {
        font-size: 13px;
        padding-left: 25px;
    }

    .p_contact .contact_form .btn_submit {
        height: 55px;
        margin: 0 auto;
    }

    .p_contact .contact_form .btn_submit input {
        font-size: 16px;
    }

    .p_contact .contact_form .wpcf7-not-valid-tip {
        margin: 10px 0 0;
        position: relative;
        bottom: auto !important;
        left: auto;
    }

    .p_contact .contact_form dl.confirm_group .wpcf7-not-valid-tip {
        white-space: normal;
    }

    .p_contact .wpcf7 form .wpcf7-response-output {
        margin: 35px 0 0;
        position: relative;
        bottom: auto;
        right: auto;
    }
}

@media screen and (max-width: 768px) {
    .p_contact .contact_form dl {
        display: block;
        padding-top: 20px;
    }

    .p_contact .contact_form dl dt {
        width: 100%;
        padding-top: 0;
        margin-bottom: 10px;
    }

    .p_contact .contact_form dl.field_checkbox {
        padding-bottom: 15px;
    }

    .p_contact .contact_form dl.field_textarea dt {
        padding-top: 0;
    }

    .p_contact .contact_form .accept_box .wpcf7-list-item-label {
        font-size: 12px;
        padding-left: 20px;
    }

    .p_contact .contact_form .accept_box .required {
        font-size: 10px;
        margin-left: 5px;
    }
}

/* ------------------------------------------------------
p_works
------------------------------------------------------ */
@media screen and (max-height: 950px) {
    .p_works .panel_wrap {
        padding: 0 0 0 23.158vh;
    }

    .p_works .works_category {
        margin-bottom: 11.579vh;
    }
}

@media screen and (max-width: 1500px) {
    .p_works .works_category {
        padding-left: 7.53vw;
    }

    .p_works .works_category .cate_list {
        max-width: 66.67vw;
    }

    .p_works .works_category .cate_list li a {
        font-size: 15px;
    }

    .p_works .works_category .cate_list li a::before {
        top: -2px;
    }

    .p_works .works_category .cate_list li a::after {
        top: 3px;
    }

    .p_works .catcher_layout {
        min-width: 98vw;
    }
}

@media screen and (max-width: 1024px) {
    .p_works {
        margin: 0 0 50vw;
    }

    .p_works .panel_wrap {
        padding: 55px 3%;
    }

    #works #p_mainvisual .under_mv_headline h2 {
        font-size: 24px;
    }

    #works #p_mainvisual .btn_primary a {
        color: #fff;
    }

    #works #p_mainvisual .btn_primary i::before {
        background: #fff;
    }

    .p_works .works_category {
        padding: 0 0;
        margin-bottom: 35px;
    }

    .p_works .works_category .cate_list {
        max-width: 100%;
        justify-content: center;
    }

    .p_works .works_category .cate_list li {
        margin: 0 10px 25px;
    }

    .p_works .catcher_layout {
        min-width: inherit;
        display: block;
        margin-right: 0;
    }

    .p_works .works_list {
        flex-wrap: wrap;
    }

    .p_works .works_list .works_item {
        width: calc((100% - 60px) / 3);
        margin: 0 10px 35px;
    }

    .p_works .works_list .works_item .works_cate li {
        font-size: 13px;
    }

    .p_works .works_list .works_item .works_title {
        font-size: 18px;
    }

    .pages .p_works .wp-pagenavi {
        height: auto;
        max-height: inherit;
        flex-direction: row;
        margin: 25px 0 0;
    }

    .p_works .media_wrap {
        padding: 55px 0 75px;
    }

    .p_works .media_wrap .media_headline {
        margin-bottom: 45px;
    }

    .p_works .media_headline .category_group li {
        font-size: 13px;
        padding: 1px 8px;
    }

    .p_works .media_headline .media_title {
        font-size: 24px;
    }

    .p_works .media_headline .main_photo {
        margin-bottom: 45px;
    }

    .p_works .media_headline .overview {
        gap: 20px;
        row-gap: 0;
    }

    .p_works .media_headline .overview dl {
        width: calc((100% - 20px) / 2);
        padding: 20px 10px;
    }

    .p_works .works_block .description p:not(:last-child) {
        margin-bottom: 20px;
    }

    .p_works .works_block ul.works_gallery {
        margin-top: 55px;
    }

    .pages .p_works .media_back {
        margin-top: 55px;
    }
}

@media screen and (max-width: 768px) {
    .p_works .works_list {
        flex-direction: column;
        align-items: center;
    }

    .p_works .works_list .works_item {
        width: 82vw;
        max-width: 410px;
        margin: 0 0 35px;
    }

    .p_works .media_headline .overview {
        flex-direction: column;
        gap: 0;
    }

    .p_works .media_headline .overview dl {
        width: 100%;
    }

    .p_works .media_headline .overview dl:nth-child(2) {
        border-top: 0;
    }
}

@media screen and (max-width: 576px) {
    .p_works .media_headline .overview dl {
        flex-direction: column;
    }

    .p_works .media_headline .overview dl dt {
        font-weight: 700;
        max-width: 100%;
        margin-bottom: 8px;
    }

    .p_works .media_headline .overview dl dd {
        padding-left: 0;
    }
}

/* ------------------------------------------------------
p_flow
------------------------------------------------------ */
@media screen and (max-height: 950px) {
    .p_flow .flow_list li.flow_card {
        padding: 0.421vh 60px 2.632vh;
    }

    .p_flow .flow_list li.flow_card .tag {
        font-size: 12.632vh;
        margin-bottom: 7.053vh;
    }

    .p_flow .flow_list li.flow_card .flow_card_title {
        margin-bottom: 2.105vh;
    }

    .p_flow .flow_list li.flow_card figure {
        height: 28.421vh;
    }

    #flow_intro .flow_intro_image01 {
        width: 55.263vh;
        max-width: 525px;
        height: 73.684vh;
        max-height: 700px;
    }

    #flow_intro .flow_intro_image01 img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    #flow_intro .flow_intro_wrap .flow_intro_txt {
        margin-bottom: 10.316vh;
    }

    #flow_intro .flow_intro_wrap .flow_intro_txt p:not(:last-child) {
        margin-bottom: 3.684vh;
    }

    #flow_intro .flow_intro_wrap .component_image {
        width: 31.579vh;
        height: 23.684vh;
        margin-right: -8.842vh;
    }
}

@media screen and (max-height: 800px) {
    .p_flow .flow_list li.flow_card .tag {
        margin-bottom: 5vh;
    }

    .p_flow .flow_list li.flow_card .flow_card_title {
        font-size: 22px;
    }

    .p_flow .flow_list li.flow_card .flow_txt {
        font-size: 13px;
        margin-bottom: 3vh;
    }

    #flow_intro .flow_intro_wrap .flow_intro_txt {
        font-size: 13px;
    }

    #flow_intro .flow_intro_image02 {
        width: 50vh;
        height: 50vh;
    }
}

@media screen and (max-width: 1024px) {
    #flow_layer01 {
        padding: 55px 3% 10px;
    }

    .p_flow .flow_list {
        height: auto;
        max-height: inherit;
        flex-wrap: wrap;
    }

    .p_flow .flow_list li.flow_card {
        width: 50%;
        align-items: center;
        padding: 4px 20px 25px;
        margin: 0 0 45px;
    }

    .p_flow .flow_list li.flow_card:nth-child(odd) {
        border-left: 1px solid #ccc;
    }

    .p_flow .flow_list li.flow_card .tag {
        font-size: 58px;
        margin-bottom: 30px;
    }

    .p_flow .flow_list li.flow_card .flow_card_title {
        font-size: 20px;
    }

    .p_flow .flow_list li.flow_card .flow_txt {
        margin-bottom: 35px;
    }

    .p_flow .flow_list li.flow_card figure {
        height: 31.54vw;
    }

    #flow_layer02 {
        background: var(--main-color);
        padding: 55px 3% 10px;
    }

    #flow_layer02 .panel_container {
        display: block;
    }

    #flow_layer02 .catcher_title {
        margin-bottom: 45px;
    }

    #flow_layer02 .flow_list {
        margin-left: 0;
    }

    #flow_layer02 figure {
        opacity: 1;
    }

    #flow_intro {
        background: var(--white-color);
        padding: 50px 3%;
        margin: 0 0 50vw;
    }

    #flow_intro .panel_container {
        display: block;
    }

    #flow_intro .catcher_title {
        margin-right: auto;
        margin-bottom: 45px;
    }

    #flow_intro .flow_intro_wrap {
        display: block;
        margin: 0 0 45px;
    }

    #flow_intro .flow_intro_image01 {
        width: 68.36vw;
        height: 91.15vw;
        margin: 0 auto 35px;
    }

    #flow_intro .flow_intro_wrap .flow_intro_component {
        max-width: 100%;
        margin-left: 0;
    }

    #flow_intro .flow_intro_wrap .flow_intro_txt {
        margin-bottom: 0;
    }

    #flow_intro .flow_intro_wrap .flow_intro_txt p:not(:last-child) {
        margin-bottom: 20px;
    }

    #flow_intro .flow_intro_wrap .component_image {
        display: none;
    }

    #flow_intro .flow_intro_image02 {
        width: 69.44vw;
        max-width: 400px;
        height: 69.44vw;
        max-height: 400px;
        margin: 0 auto;
    }
}

@media screen and (max-width: 576px) {
    .p_flow .flow_list li.flow_card {
        width: 100%;
        border-left: 1px solid #ccc;
    }

    .p_flow .flow_list li.flow_card figure {
        height: 63.08vw;
    }
}

/* ------------------------------------------------------
p_profile
------------------------------------------------------ */
@media screen and (max-height: 1000px) {

    .pages #company_message .panel_container,
    .pages #company_information .panel_container,
    .pages #our_office .panel_container {
        height: 100%;
    }

    .pages #company_message .company_message_block,
    .pages #company_information .company_block,
    .pages #our_office .our_office_block {
        padding-top: 7.474vh;
    }
}

@media screen and (max-height: 950px) {
    .p_profile .profile_title {
        margin-bottom: 11.368vh;
    }

    .pages #company_message .profile_title {
        margin-bottom: 9.263vh;
    }

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

    .pages #company_message .message_profile_txt p:not(:last-child) {
        margin-bottom: 4.421vh;
    }

    .pages #company_information .company_profile dl dt,
    .pages #company_information .company_profile dl dd {
        padding: 4.421vh 5px 4.632vh 20px;
    }

    .pages #our_office .profile_title {
        margin-bottom: 5.895vh;
    }

    .pages #our_office .our_office_txt p:not(:last-child) {
        margin-bottom: 4.421vh;
    }
}

@media screen and (max-height: 800px) {
    .p_profile .profile_title {
        font-size: 6.25vh;
        margin-bottom: 7vh;
    }

    .pages #company_message .profile_title {
        margin-bottom: 7vh;
    }

    .pages #company_message .company_message_txt,
    .pages #company_message .message_profile_txt,
    .pages #our_office .our_office_txt {
        font-size: 2vh;
    }

    .pages #company_message .message_profile h4 {
        font-size: 7.5vh;
    }

    .pages #company_information .access_map {
        height: 55vh;
    }
}

@media screen and (max-width: 1024px) {
    .p_profile .profile_title {
        font-size: 35px;
        margin-bottom: 35px;
    }

    .pages #company_message .catcher_title {
        min-height: 410px;
        margin-right: auto;
        margin-left: auto;
    }

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

    .pages #company_message .panel_wrap {
        display: block;
    }

    .pages #company_message .panel_container {
        display: block;
    }

    .pages #company_message .company_message_block {
        padding: 0 3%;
        margin: 45px 0;
    }

    .pages #company_message .profile_title {
        margin-bottom: 25px;
    }

    .pages #company_message .company_message_txt {
        max-height: inherit;
        font-size: 14px;
    }

    .pages #company_message .company_message_txt p {
        margin-right: 0;
    }

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

    .pages #company_message .company_message_txt p br {
        display: none;
    }

    .pages #company_message .message_profile {
        min-width: inherit;
        padding: 50px 3%;
    }

    .pages #company_message .message_profile h4 {
        font-size: 38px;
        padding-top: 0;
    }

    .pages #company_message .message_profile_txt {
        font-size: 14px;
    }

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

    .pages #company_information {
        padding: 45px 3% 55px;
    }

    .pages #company_information .panel_container {
        display: block;
    }

    .pages #company_information .company_block {
        padding-top: 0;
        margin-bottom: 45px;
    }

    .pages #company_information .company_block:last-child {
        margin-bottom: 0;
    }

    .pages #company_information .company_profile {
        max-height: inherit;
    }

    .pages #company_information .company_profile dl {
        width: 100%;
        font-size: 14px;
        margin: 0 0;
    }

    .pages #company_information .company_profile dl dt,
    .pages #company_information .company_profile dl dd {
        padding: 20px 5px 20px 10px;
    }

    .pages #company_information .company_profile dl dt {
        width: 20%;
    }

    .pages #company_information .access_map {
        width: 100%;
        height: 299px;
    }

    .pages #our_office {
        display: block;
        background: var(--main-color);
        padding: 55px 3% 65px;
        margin: 0 0 50vw;
    }

    .pages #our_office .panel_container {
        display: block;
    }

    .pages #our_office .catcher_title {
        margin: 0 auto 35px;
    }

    .pages #our_office .our_office_block {
        width: 100%;
        padding-top: 0;
    }

    .pages #our_office .profile_title {
        margin-bottom: 25px;
    }

    .pages #our_office .our_office_txt {
        font-size: 14px;
    }

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

    .pages #our_office .our_office_gallery {
        width: 100%;
        max-width: 800px;
        height: 100vw;
        margin: 55px auto 0;
        overflow: hidden;
    }

    .pages #our_office .our_office_gallery .gallery_wrap {
        width: 50%;
    }

    .pages #our_office .our_office_gallery .gallery_item {
        width: 100%;
    }

    .pages #our_office .our_office_gallery .gallery_item .item {
        height: 35.21vw;
        max-height: 300px;
    }
}

@media screen and (max-width: 768px) {
    .pages #company_message .message_profile h4 {
        margin-right: 25px;
    }

    .pages #company_message .message_profile_txt {
        width: 100%;
    }

    .pages #company_information .company_profile dl {
        flex-direction: column;
    }

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

    .pages #company_information .company_profile dl dd {
        border: 0;
        padding-top: 10px;
    }

    .pages #company_information .company_profile dl:last-child dd {
        border-bottom: 1px solid #666;
    }
}

@media screen and (max-width: 490px) {
    .pages #company_message .message_profile {
        display: block;
    }

    .pages #company_message .message_profile h4 {
        margin: 0 auto 35px;
    }
}

/* ------------------------------------------------------
p_about
------------------------------------------------------ */
@media screen and (max-height: 1000px) {
    .p_about .about_block {
        padding-top: 7.474vh;
    }

    .p_about .about_title {
        margin-bottom: 8.8vh;
    }

    .pages #about_philosophy .panel_container,
    .pages #my_work .panel_container,
    .pages #about_balance .panel_container {
        height: 100%;
    }

    .pages #about_philosophy .philosophy_gallery .image01 {
        top: 3vh;
    }

    .pages #about_philosophy .philosophy_gallery .image02 {
        margin-right: -24vh;
        top: 11.5vh;
    }

    .pages #about_philosophy .philosophy_gallery .image03 {
        margin: 0 0 0 5.5vh;
    }

    .pages #about_philosophy .philosophy_gallery .image04 {
        margin-top: -2.2vh;
        margin-left: 6vh;
    }

    .pages #about_philosophy .philosophy_gallery .image05 {
        margin-right: -37.8vh;
        top: -12.1vh;
    }

    .pages #about_philosophy .philosophy_gallery .image06 {
        margin-right: -2.9vh;
        top: 0.5vh;
    }

    .pages #about_philosophy .catcher_title {
        margin: 0 12vh 0 36vh;
    }

    .pages #about_philosophy .about_block {
        margin-left: 54.1vh;
    }
}

@media screen and (max-height: 800px) {
    .p_about .about_title {
        font-size: 6.25vh;
    }

    .p_about .about_txt,
    .p_about .about_txt_wrap {
        font-size: 2vh;
    }
}

@media screen and (max-width: 1024px) {
    .p_about .about_block {
        padding-top: 0;
    }

    .p_about .about_title {
        font-size: 35px;
        text-align: center;
        margin-bottom: 35px;
    }

    .p_about .about_title span {
        display: block;
        margin: 10px 0 0;
    }

    .p_about .about_txt {
        font-size: 14px;
        line-height: 2.8;
    }

    .p_about .about_txt_wrap {
        max-height: inherit;
        display: block;
        font-size: 14px;
        line-height: 2.8;
        text-align: center;
    }

    .p_about .about_txt_wrap p {
        margin-right: 0;
    }

    .p_about .about_txt_wrap p:not(:last-child) {
        margin-bottom: 20px;
    }

    .pages #about_philosophy .panel_container,
    .pages #my_work .panel_container,
    .pages #about_balance .panel_container {
        height: auto;
    }

    .pages #about_philosophy {
        padding: 55px 3%;
    }

    .pages #about_philosophy .panel_container {
        display: block;
    }

    .pages #about_philosophy .catcher_title {
        min-height: 460px;
    }

    .pages #about_philosophy .philosophy_gallery {
        width: 100%;
        max-width: 700px;
        height: auto;
        max-height: inherit;
        margin: 0 auto;
        top: auto;
        transform: translateY(0);
    }

    .pages #about_philosophy .philosophy_gallery .image01 {
        width: 56.25vw;
        height: 37.5vw;
        top: 3.75vw;
    }

    .pages #about_philosophy .philosophy_gallery .image02 {
        width: 31.25vw;
        height: 31.25vw;
        margin-right: 0;
        top: 14.37vw;
    }

    .pages #about_philosophy .philosophy_gallery .image03 {
        width: 26.25vw;
        height: 35vw;
        margin: 0 0 0 6.88vw;
    }

    .pages #about_philosophy .philosophy_gallery .image04 {
        width: 23.63vw;
        height: 31.5vw;
        margin-top: 0;
    }

    .pages #about_philosophy .philosophy_gallery .image05 {
        width: 39vw;
        height: 29.25vw;
        margin-right: 0;
        top: -10vw;
    }

    .pages #about_philosophy .philosophy_gallery .image06 {
        width: 62.5vw;
        height: 41.75vw;
        margin-right: auto;
        top: -0.88vw;
    }

    .pages #about_philosophy .philosophy_block {
        width: 100%;
    }

    .pages #about_philosophy .philosophy_txt {
        margin-bottom: 45px;
        position: relative;
        top: auto;
        left: auto;
        transform: translateY(0);
    }

    .pages #about_philosophy .catcher_title {
        margin: 45px auto;
    }

    .pages #about_philosophy .about_block {
        margin: 45px 0 0;
    }

    .pages #my_work {
        padding: 55px 3%;
    }

    .pages #my_work .panel_container {
        display: block;
    }

    .pages #my_work .catcher_title {
        min-height: 460px;
    }

    .pages #my_work .about_block {
        margin: 35px 0 0;
    }

    .pages #about_balance {
        padding: 55px 3%;
        margin: 0 0 50vw;
        overflow: hidden;
    }

    .pages #about_balance .panel_container {
        display: block;
    }

    .pages #about_balance .catcher_title {
        min-height: 410px;
    }

    .pages #about_balance .about_block {
        margin: 35px 0 0;
    }
}
