@charset "UTF-8";
/*----------------------------------------------------------------

大画面対応（1921px以上）

----------------------------------------------------------------*/
@media screen and (min-width: 1921px) {
  main .company_area .company_main {
    padding-top: 100px;
    padding-bottom: 100px;
  }
}
@media screen and (max-width: 1600px) {
  main {
    /*----------------------------------------------------------------

    TOPページ company

    ----------------------------------------------------------------*/
  }
  main .works_service_item {
    gap: 4vw;
  }
  main .company_area .company_content {
    gap: 30px;
  }
  main .company_area .company_content_right {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 45%;
            flex: 0 0 45%;
  }
}
@media screen and (max-width: 1400px) {
  /*----------------------------------------------------------------

  header

  ----------------------------------------------------------------*/
  header .header_dropdown .header_dropdown_menu {
    right: 50%;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
  }
  header .header_dropdown_grid_top {
    gap: 20px;
    margin-bottom: 10px;
  }
  header .header_dropdown_grid_bottom {
    gap: 20px;
  }
  main {
    /*----------------------------------------------------------------

    TOPページ works_service

    ----------------------------------------------------------------*/
    /*----------------------------------------------------------------

    serviceページ

     ----------------------------------------------------------------*/
  }
  main .about_area .about_inner .about_content {
    margin-left: 0px;
    margin-top: 0rem;
  }
  main .about_area .about_inner .about_content .about_text {
    max-width: 540px;
  }
  main .about_area .about_inner .about_gallery {
    max-width: 500px;
  }
  main .works_service_area_sub_area .works_service_area_sub_area_inner {
    gap: 80px;
  }
  main .works_service_item {
    gap: 0vw;
  }
  main .news_area .news_area_inner {
    gap: 0 80px;
  }
  main .news_list {
    grid-area: list;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: 860px;
  }
  main .news_list .news_item {
    border-bottom: 1px solid #e0e0e0;
  }
  main .news_list .news_item:first-child {
    border-top: 1px solid #e0e0e0;
  }
  main .news_list .news_item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
  main .news_list .news_item a:hover {
    opacity: 0.7;
  }
  main .news_list .news_category {
    height: 30px;
    width: 120px;
  }
  main .recruit_area {
    height: auto;
    min-height: 640px;
  }
  main .recruit_area .recruit_gallery .recruit_gallery_container .recruit_gallery_group .recruit_gallery_list .recruit_gallery_item {
    width: 33.3333333333vw;
  }
  main .recruit_area .recruit_content .recruit_card {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  main .about_feature_icon {
    position: absolute;
    top: 0%;
    right: 0;
    width: 168px;
    z-index: 0;
  }
  main .news_area .news_list_full .news_item a .news_title {
    max-width: 620px !important;
  }
  main .service_worries {
    padding-left: 3%;
    padding-right: 3%;
  }
  main .service_text_area03 {
    right: -90px !important;
    top: 90% !important;
  }
  main .service_text_area04 {
    top: 90%;
    right: -100px;
  }
}
@media screen and (max-width: 1440px) and (max-height: 800px) {
  main .mv .mv_catch_sub {
    top: 52vh;
  }
}
@media screen and (max-width: 1440px) and (max-height: 750px) {
  main .mv .mv_catch_sub {
    top: 53vh;
  }
}
@media screen and (max-width: 1440px) and (max-height: 700px) {
  main .mv_main_catch {
    top: 41vh !important;
  }
  main .mv .mv_catch_sub {
    top: 51vh;
  }
}
@media screen and (max-width: 1440px) and (max-height: 650px) {
  main .mv_main_catch {
    top: 36vh !important;
  }
  main .mv .mv_catch_sub {
    top: 41vh;
  }
}
@media screen and (max-width: 1440px) and (max-height: 600px) {
  main .mv_main_catch {
    top: 31vh !important;
  }
}
@media screen and (max-width: 1300px) and (min-width: 1001px) {
  .md_block {
    display: block;
  }
}
@media screen and (max-width: 1300px) {
  .header_pc {
    padding: 10px 0;
  }
  .header_nav {
    gap: 25px !important;
  }
  .header_dropdown .header_dropdown_menu {
    top: 76px;
    width: 95%;
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .section_en_title {
    font-size: 72px;
  }
  .section_ja_title {
    font-size: 18px;
  }
  main .works_service_items .works_service_item .works_service_overview .works_service_overview_sub {
    margin-bottom: 0;
  }
  main .works_service_items .works_service_item .works_service_overview .works_service_overview_title {
    font-size: 32px;
    margin-bottom: 10px;
  }
  main .works_service_items .works_service_item .works_service_overview .works_service_overview_title span {
    font-size: 32px;
  }
  main .works_service_items .works_service_item .works_service_overview .works_service_body_title {
    font-size: 20px;
  }
  main .works_service_items .works_service_item .works_service_overview .works_service_body_title span {
    font-size: 20px;
  }
  main .works_service_items .works_service_item .works_service_overview .works_service_body_text {
    margin-top: 20px;
  }
  main .works_service_items .works_service_item .works_service_overview .works_service_button {
    margin-top: 30px;
  }
  main .company_area .company_main_wrap {
    padding-bottom: 40px;
  }
  main .company_area .company_main_wrap .company_main {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  main .company_area .company_main_wrap .company_main .company_heading {
    margin-bottom: 5px;
  }
  main .company_area .company_main_wrap .company_main .company_heading .section_ja_title {
    margin-top: 0;
  }
}
@media screen and (max-width: 1200px) {
  .header_nav_list {
    gap: 30px;
  }
  main {
    /*----------------------------------------------------------------

    TOPページ about

    ----------------------------------------------------------------*/
  }
  main .about_area .about_inner .about_content {
    max-width: 500px;
  }
  main .about_area .about_inner .about_gallery {
    max-width: 400px;
  }
  main .works_service_area_sub_area .works_service_area_sub_link {
    position: relative;
    width: 420px;
    overflow: hidden;
    padding-top: 60px;
    padding-bottom: 60px;
  }
  main .works_service_item {
    gap: 0vw;
    grid-template-columns: 56% 1fr;
  }
  main .works_service_sticky_pic {
    width: 48%;
  }
  main .works_grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 20px;
  }
  main .recruit_area {
    min-height: 620px;
  }
  main .recruit_area .recruit_gallery .recruit_gallery_container .recruit_gallery_group .recruit_gallery_list .recruit_gallery_item {
    width: 40vw;
  }
  main .recruit_area .recruit_content .recruit_card {
    padding: 50px 30px;
  }
  header .header_inner nav {
    gap: 25px;
  }
  main .news_area .news_area_inner {
    gap: 0 40px;
  }
  main .news_list .news_category {
    margin-left: 10px;
    margin-right: 20px;
  }
  /*----------------------------------------------------------------

  companyページ  

    ----------------------------------------------------------------*/
  .company_greeting .company_greeting_inner .company_greeting_img {
    max-width: 480px;
  }
  /*----------------------------------------------------------------

  footer

  ----------------------------------------------------------------*/
  footer .footer_inner .footer_upper .footer_upper_right .footer_upper_right_upper nav:nth-child(1), footer .footer_inner .footer_upper .footer_upper_right .footer_upper_right_upper nav:nth-child(2) {
    margin-right: 30px;
  }
}
/*----------------------------------------------------------------

タブレット用CSS 

----------------------------------------------------------------*/
@media screen and (min-width: 768px) and (max-width: 1200px) {
  main .mv .mv_catch_sub .main_catch_text {
    font-size: 72px;
  }
  main .mv .mv_catch_sub .main_catch_text span {
    font-size: 72px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  header {
    max-width: 1200px;
  }
  .hamburger {
    display: block;
  }
  .hamburger.is-fixed .hamburger_contents {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: #ffffff;
    -webkit-animation: headerSlideDown 0.4s ease forwards;
            animation: headerSlideDown 0.4s ease forwards;
  }
  .hamburger .hamburger_contents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 60px;
  }
  .hamburger .hamburger_contents .sp_logo {
    position: relative;
    top: 0;
    left: 0;
    height: 60px;
    width: calc(100% - 70px);
    z-index: 1002;
    padding-left: 0px;
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
    background: transparent;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .hamburger .hamburger_contents .sp_logo a {
    margin-left: 2rem;
    max-width: 200px;
    width: 16.8rem;
    position: relative;
    z-index: 1;
    display: block;
  }
  .hamburger .hamburger_contents .sp_logo a img {
    width: 100%;
    height: auto;
  }
  .hamburger .hamburger_contents .sp_logo a .sp_logo_default {
    display: block;
  }
  .hamburger .hamburger_contents .sp_logo a .sp_logo_scrolled {
    display: none;
  }
  .hamburger .hamburger_contents .sp_logo.sp_logo_scroll a .sp_logo_default {
    display: none;
  }
  .hamburger .hamburger_contents .sp_logo.sp_logo_scroll a .sp_logo_scrolled {
    display: block;
  }
  .hamburger .hamburger_contents .sp_logo.bg_white_2 a .sp_logo_default {
    display: none;
  }
  .hamburger .hamburger_contents .sp_logo.bg_white_2 a .sp_logo_scrolled {
    display: block;
  }
  .hamburger .hamburger_contents .menu_trigger {
    z-index: 1003;
    position: relative;
    top: 0px;
    right: 0px;
    width: 70px;
    height: 60px;
    padding: 22px 16px;
    background: transparent;
    -webkit-transition: background-color 0.3s ease;
    transition: background-color 0.3s ease;
  }
  .hamburger .hamburger_contents .menu_trigger span {
    z-index: 1003;
    display: inline-block;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    position: absolute;
    left: 16px;
    width: 35px;
    height: 3px;
    background-color: #000000;
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
  }
  .hamburger .hamburger_contents .menu_trigger span:nth-of-type(1) {
    top: 24px;
  }
  .hamburger .hamburger_contents .menu_trigger span:nth-of-type(2) {
    top: 36px;
  }
  .hamburger .hamburger_contents .menu_trigger.is-top span {
    background-color: #ffffff;
  }
  .hamburger .hamburger_contents .menu_trigger.is-top.scrolled span {
    background-color: #000000;
  }
  .hamburger .hamburger_contents .menu_trigger.is-top.active span {
    background-color: #000000;
  }
  .hamburger .hamburger_contents .menu_trigger.scrolled span {
    background-color: #000000;
  }
  .hamburger .hamburger_contents .menu_trigger.active {
    background-color: #EAEAEA;
  }
  .hamburger .hamburger_contents .menu_trigger.active span {
    background-color: #000000;
  }
  .hamburger .hamburger_contents .menu_trigger.active span:nth-of-type(1) {
    top: 29px;
    -webkit-transform: rotate(40deg);
            transform: rotate(40deg);
  }
  .hamburger .hamburger_contents .menu_trigger.active span:nth-of-type(2) {
    top: 29px;
    -webkit-transform: rotate(-40deg);
            transform: rotate(-40deg);
  }
  .hamburger .hamburger_contents nav {
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    background-color: #ffffff;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity 0.35s ease-in-out, visibility 0.35s ease-in-out, -webkit-transform 0.35s ease-in-out;
    transition: opacity 0.35s ease-in-out, visibility 0.35s ease-in-out, -webkit-transform 0.35s ease-in-out;
    transition: transform 0.35s ease-in-out, opacity 0.35s ease-in-out, visibility 0.35s ease-in-out;
    transition: transform 0.35s ease-in-out, opacity 0.35s ease-in-out, visibility 0.35s ease-in-out, -webkit-transform 0.35s ease-in-out;
    padding: 80px 0px 30px;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    z-index: 1000;
  }
  .hamburger .hamburger_contents nav.open {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
    visibility: visible;
    -webkit-transition: opacity 0.35s ease-in-out, visibility 0.35s ease-in-out, -webkit-transform 0.35s ease-in-out;
    transition: opacity 0.35s ease-in-out, visibility 0.35s ease-in-out, -webkit-transform 0.35s ease-in-out;
    transition: transform 0.35s ease-in-out, opacity 0.35s ease-in-out, visibility 0.35s ease-in-out;
    transition: transform 0.35s ease-in-out, opacity 0.35s ease-in-out, visibility 0.35s ease-in-out, -webkit-transform 0.35s ease-in-out;
  }
  .hamburger .hamburger_contents nav .nav_inner {
    width: 100%;
    margin: auto;
  }
  .header_pc {
    display: none !important;
  }
  .sp_nav_link {
    display: block;
    border-bottom: 1px solid #dddddd;
    padding: 2rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    font-size: 1.6rem;
  }
  .sp_accordion_wrapper {
    border-bottom: 1px solid #e0e0e0;
    padding: 2rem 0 0;
  }
  .sp_accordion_trigger_wrapper {
    padding: 0;
    padding-bottom: 2rem;
  }
  .sp_accordion_trigger {
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    font-size: 1.6rem;
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .sp_accordion_trigger .material-icons {
    font-size: 2.2rem;
  }
  .sp_accordion_arrow {
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  }
  .sp_accordion_arrow.is-active {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
  .sp_accordion_content {
    display: none;
    background-color: #EAEAEA;
    padding: 1rem 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.4rem;
  }
  .sp_accordion_content.is-open {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .sp_service_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-decoration: none;
    background-color: #fff;
    margin-left: 2rem;
    margin-right: 2rem;
    gap: 0;
  }
  .sp_service_img {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-bottom: 0;
  }
  .sp_service_img img {
    width: 9rem;
    height: 6rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .sp_service_text {
    font-size: 1.4rem;
    padding-left: 1rem;
  }
  .sp_service_arrow {
    width: 2rem;
    height: 2rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-right: 1rem;
  }
  .sp_service_item_simple {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-decoration: none;
    background-color: #fff;
    margin-left: 2rem;
    margin-right: 2rem;
    gap: 0;
    padding: 2rem 1rem 2rem 1rem;
  }
  .sp_service_item_simple .sp_service_text {
    font-size: 1.4rem;
    padding-left: 1rem;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .sp_service_item_simple .sp_service_arrow {
    width: 2rem !important;
    height: 2rem !important;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-right: 0;
  }
  .sp_contact_btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    text-decoration: none;
    padding: 2rem 0;
    margin-top: 2rem;
    width: 29.5rem;
    margin-left: auto;
    margin-right: auto;
  }
  .sp_contact_btn .material-symbols-outlined {
    font-size: 1.8rem;
    position: relative;
    z-index: 0;
    top: 0.1rem;
  }
  .sp_contact_btn .f_16 {
    font-size: 1.6rem;
  }
  main .mv_main_catch {
    margin-left: 6.5vw;
  }
  main .mv .mv_catch_sub {
    left: 6.5vw;
  }
  main .message_area {
    min-height: 80vh;
    padding-bottom: 160px;
  }
  main .message_area .message_desc {
    max-width: 680px;
  }
  main .message_text_inner {
    margin: 0 auto 0 6.5vw;
  }
  main .about_area .about_inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  main .about_area .about_inner .about_content .about_text {
    max-width: unset;
  }
  main .about_area .about_inner .about_gallery .about_gallery_col_01 {
    width: 26.3671875vw;
    height: 18.9453125vw;
    top: -10vw;
    right: -37vw;
  }
  main .about_area .about_inner .about_gallery .about_gallery_col_02 {
    width: 22.8515625vw;
    height: 30.56640625vw;
    top: 14vw;
    right: -42vw;
  }
  main .about_area .about_inner .about_gallery .about_gallery_col_03 {
    width: 35.9375vw;
    height: 22.265625vw;
    top: 27vw;
    right: -10vw;
  }
  main .about_area .about_inner .about_content {
    margin-top: 33rem;
    max-width: unset;
  }
  main .about_area .about_inner .about_content .about_middle ul {
    max-width: unset;
  }
  main .works_service_area_sub_area .works_service_area_sub_area_inner {
    top: -140px;
  }
  main .works_service_items {
    width: 100%;
  }
  main .works_service_items .works_service_item {
    grid-template-columns: 50% 1fr;
  }
  main .works_service_sticky_pic {
    width: 44%;
  }
  main .company_area .company_content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: start !important;
  }
  main .recruit_area .recruit_content .recruit_card {
    max-width: 480px;
  }
  main .news_area {
    padding: 100px 0;
  }
  main .about_features {
    padding: 80px 40px;
    margin-top: 60px;
  }
  main .about_features .about_features_inner .about_feature_item .about_feature_row {
    gap: 10px;
  }
  main .about_features .about_features_inner .about_feature_item .about_feature_row .about_feature_content {
    max-width: unset;
    width: 80%;
  }
  main .about_features .about_features_inner .about_feature_item .about_feature_row .about_feature_content .about_feature_text h3 .main_color {
    line-height: 1;
  }
  main .about_feature_img {
    width: 44%;
  }
  main .about_feature_icon {
    position: absolute;
    top: 21%;
    right: 0;
    width: 100px;
    z-index: 0;
  }
  main .about_initiative {
    margin-top: 100px;
    margin-bottom: 100px;
  }
  main .about_initiative .about_initiative_card {
    width: calc(47% - 30px);
  }
  main .about_initiative .company_greeting_content {
    max-width: unset;
  }
  main .contact_area {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
  main .contact_area .contact_area_inner .contact_content {
    padding-bottom: 6rem;
    background-size: cover;
  }
  main .service_repair01 {
    padding: 100px 0;
    margin-bottom: 100px;
  }
  main .service_details {
    margin: 100px 0;
  }
  main .service_faq {
    padding-top: 100px;
    padding-bottom: 100px;
  }
  main .work_area {
    padding-top: 100px;
    padding-bottom: 100px;
  }
  .about_img01_area .about_img01 {
    width: 5.4vw;
    min-width: 390px;
  }
  .sub_mv {
    margin-top: 120px;
  }
  .about_hero_bg {
    padding: 120px 0;
    margin-top: 0px;
  }
  .contact_form_wrap {
    padding-left: 40px;
    padding-right: 40px;
  }
  .contact_form_table tr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .contact_form_table tr th {
    padding: 30px 0 10px;
  }
  .contact_form_table tr th p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
    margin: 0;
  }
  .contact_form_table tr td {
    padding: 10px 0 30px;
  }
  .contact_form_table tr td p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0;
  }
  .works_single .works_single_inner .works_single_main_title {
    font-size: 32px;
    margin-bottom: 60px;
  }
  .works_single .works_single_inner .works_single_compare {
    margin-bottom: 100px;
  }
  .service_mv .service_text_area {
    top: 100%;
    right: -80px;
  }
  .service_mv .service_text_area h3 {
    font-size: 36px;
  }
  .service_mv .service_text_area03 {
    top: 90%;
  }
  .service_mv .service_text_area04 {
    top: 90%;
    right: -100px;
  }
  .service_worries {
    margin-bottom: 100px;
  }
  .service_worries h3 {
    font-size: 28px;
  }
  .service_worries h3 span {
    font-size: 28px;
  }
  .service_worries .service_worries_inner .box {
    width: 48%;
  }
  .service_flow .service_flow_row {
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: start !important;
    gap: 10px;
  }
  .service_flow .service_flow_row:not(:last-child) .icon_wap::after {
    bottom: -195px;
    height: 180px;
  }
  footer {
    padding-top: 80px !important;
  }
  footer .footer_inner .footer_upper {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
    gap: 4vw;
  }
  footer .footer_inner .footer_upper .footer_upper_right .footer_upper_right_upper {
    gap: 4vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1000px) {
  main .mv_main_catch {
    top: 56vh !important;
  }
}
@media screen and (min-width: 912px) and (max-width: 912px) {
  main .mv_main_catch {
    top: 58vh !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 768px) {
  main .mv_main_catch {
    top: 56vh !important;
  }
  main .mv .mv_catch_sub {
    top: 92vh;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1024px) and (min-height: 1300px) {
  main .mv_main_catch {
    top: 58vh !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .company_greeting_content {
    max-width: unset;
  }
}
@media screen and (max-width: 1024px) and (min-width: 1000px) {
  main .mv .mv_catch_sub {
    top: 90vh;
  }
  main .company_area .company_content {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important;
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: clamp(8px, 2.6666666667vw, 10px);
  }
  /*----------------------------------------------------------------

  本文フォント設定（SP用）

  ----------------------------------------------------------------*/
  .text_body {
    font-size: 3.733vw;
    letter-spacing: 0;
    line-height: 2;
  }
  .text_body_fix {
    font-size: 14px;
    letter-spacing: 0;
    line-height: 2;
  }
  .flex_column_sp {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .mx_auto_sp {
    margin-inline: auto;
  }
  .w100_sp {
    width: 100%;
  }
  /*----------------------------------------------------------------

  フォントサイズ

  ----------------------------------------------------------------*/
  .f_10 {
    font-size: 2.8vw;
  }
  .f_12 {
    font-size: 2.8vw;
  }
  .f_14 {
    font-size: 2.8vw;
  }
  .f_16 {
    font-size: 3.2vw;
  }
  .f_18 {
    font-size: 3.6vw;
  }
  .f_20 {
    font-size: 3.8vw;
  }
  .f_22 {
    font-size: 4vw;
  }
  .f_24 {
    font-size: 4.2vw;
  }
  .f_26 {
    font-size: 4.4vw;
  }
  .f_28 {
    font-size: 4.6vw;
  }
  .f_30 {
    font-size: 4.6vw;
  }
  .f_32 {
    font-size: 4.8vw;
  }
  .f_34 {
    font-size: 4.8vw;
  }
  .f_36 {
    font-size: 4.8vw;
  }
  .f_38 {
    font-size: 5vw;
  }
  .f_40 {
    font-size: 5vw;
  }
  .f_42 {
    font-size: 5vw;
  }
  .f_44 {
    font-size: 5.2vw;
  }
  .f_46 {
    font-size: 5.2vw;
  }
  .f_48 {
    font-size: 5.4vw;
  }
  .f_50 {
    font-size: 5.4vw;
  }
  .f_52 {
    font-size: 5.6vw;
  }
  .f_54 {
    font-size: 5.6vw;
  }
  .f_56 {
    font-size: 5.8vw;
  }
  .f_58 {
    font-size: 5.8vw;
  }
  .f_60 {
    font-size: 6vw;
  }
  .f_62 {
    font-size: 6vw;
  }
  .f_64 {
    font-size: 6.2vw;
  }
  .f_66 {
    font-size: 6.2vw;
  }
  .f_68 {
    font-size: 6.4vw;
  }
  .f_70 {
    font-size: 6.4vw;
  }
  .f_72 {
    font-size: 6.6vw;
  }
  .f_74 {
    font-size: 6.6vw;
  }
  .f_76 {
    font-size: 6.8vw;
  }
  .f_78 {
    font-size: 6.8vw;
  }
  .f_80 {
    font-size: 7vw;
  }
  .f_82 {
    font-size: 7vw;
  }
  .f_84 {
    font-size: 7.2vw;
  }
  .f_86 {
    font-size: 7.2vw;
  }
  .f_88 {
    font-size: 7.4vw;
  }
  .f_90 {
    font-size: 7.4vw;
  }
  .f_92 {
    font-size: 7.6vw;
  }
  .f_94 {
    font-size: 7.6vw;
  }
  .f_96 {
    font-size: 7.8vw;
  }
  .f_98 {
    font-size: 7.8vw;
  }
  .f_100 {
    font-size: 8vw;
  }
  .f_102 {
    font-size: 8vw;
  }
  .f_104 {
    font-size: 8.2vw;
  }
  .f_106 {
    font-size: 8.2vw;
  }
  .f_108 {
    font-size: 8.4vw;
  }
  .f_110 {
    font-size: 8.4vw;
  }
  .f_112 {
    font-size: 8.6vw;
  }
  .f_114 {
    font-size: 8.6vw;
  }
  .f_116 {
    font-size: 8.8vw;
  }
  .f_118 {
    font-size: 8.8vw;
  }
  .f_120 {
    font-size: 9vw;
  }
  .f_122 {
    font-size: 9vw;
  }
  .f_124 {
    font-size: 9.2vw;
  }
  .f_126 {
    font-size: 9.2vw;
  }
  .f_128 {
    font-size: 9.4vw;
  }
  .f_130 {
    font-size: 9.4vw;
  }
  .f_132 {
    font-size: 9.6vw;
  }
  .f_134 {
    font-size: 9.6vw;
  }
  .f_136 {
    font-size: 9.8vw;
  }
  .f_138 {
    font-size: 9.8vw;
  }
  .f_140 {
    font-size: 10vw;
  }
  .f_142 {
    font-size: 10vw;
  }
  .f_144 {
    font-size: 10.2vw;
  }
  .f_146 {
    font-size: 10.2vw;
  }
  .f_148 {
    font-size: 10.4vw;
  }
  .f_150 {
    font-size: 10.4vw;
  }
  .f_152 {
    font-size: 10.6vw;
  }
  .f_154 {
    font-size: 10.6vw;
  }
  .f_156 {
    font-size: 10.8vw;
  }
  .f_158 {
    font-size: 10.8vw;
  }
  .f_160 {
    font-size: 11vw;
  }
  .f_162 {
    font-size: 11vw;
  }
  .f_164 {
    font-size: 11vw;
  }
  .mt5 {
    margin-top: 0.5vw;
  }
  .mb5 {
    margin-bottom: 0.5vw;
  }
  .ml5 {
    margin-left: 0.5vw;
  }
  .mr5 {
    margin-right: 0.5vw;
  }
  .my5 {
    margin-top: 0.5vw;
    margin-bottom: 0.5vw;
  }
  .mx5 {
    margin-left: 0.5vw;
    margin-right: 0.5vw;
  }
  .mt10 {
    margin-top: 1vw;
  }
  .mb10 {
    margin-bottom: 1vw;
  }
  .ml10 {
    margin-left: 1vw;
  }
  .mr10 {
    margin-right: 1vw;
  }
  .my10 {
    margin-top: 1vw;
    margin-bottom: 1vw;
  }
  .mx10 {
    margin-left: 1vw;
    margin-right: 1vw;
  }
  .mt15 {
    margin-top: 1.5vw;
  }
  .mb15 {
    margin-bottom: 1.5vw;
  }
  .ml15 {
    margin-left: 1.5vw;
  }
  .mr15 {
    margin-right: 1.5vw;
  }
  .my15 {
    margin-top: 1.5vw;
    margin-bottom: 1.5vw;
  }
  .mx15 {
    margin-left: 1.5vw;
    margin-right: 1.5vw;
  }
  .mt20 {
    margin-top: 2vw;
  }
  .mb20 {
    margin-bottom: 2vw;
  }
  .ml20 {
    margin-left: 2vw;
  }
  .mr20 {
    margin-right: 2vw;
  }
  .my20 {
    margin-top: 2vw;
    margin-bottom: 2vw;
  }
  .mx20 {
    margin-left: 2vw;
    margin-right: 2vw;
  }
  .mt25 {
    margin-top: 2.5vw;
  }
  .mb25 {
    margin-bottom: 2.5vw;
  }
  .ml25 {
    margin-left: 2.5vw;
  }
  .mr25 {
    margin-right: 2.5vw;
  }
  .my25 {
    margin-top: 2.5vw;
    margin-bottom: 2.5vw;
  }
  .mx25 {
    margin-left: 2.5vw;
    margin-right: 2.5vw;
  }
  .mt30 {
    margin-top: 3vw;
  }
  .mb30 {
    margin-bottom: 3vw;
  }
  .ml30 {
    margin-left: 3vw;
  }
  .mr30 {
    margin-right: 3vw;
  }
  .my30 {
    margin-top: 3vw;
    margin-bottom: 3vw;
  }
  .mx30 {
    margin-left: 3vw;
    margin-right: 3vw;
  }
  .mt35 {
    margin-top: 3.5vw;
  }
  .mb35 {
    margin-bottom: 3.5vw;
  }
  .ml35 {
    margin-left: 3.5vw;
  }
  .mr35 {
    margin-right: 3.5vw;
  }
  .my35 {
    margin-top: 3.5vw;
    margin-bottom: 3.5vw;
  }
  .mx35 {
    margin-left: 3.5vw;
    margin-right: 3.5vw;
  }
  .mt40 {
    margin-top: 4vw;
  }
  .mb40 {
    margin-bottom: 4vw;
  }
  .ml40 {
    margin-left: 4vw;
  }
  .mr40 {
    margin-right: 4vw;
  }
  .my40 {
    margin-top: 4vw;
    margin-bottom: 4vw;
  }
  .mx40 {
    margin-left: 4vw;
    margin-right: 4vw;
  }
  .mt45 {
    margin-top: 4.5vw;
  }
  .mb45 {
    margin-bottom: 4.5vw;
  }
  .ml45 {
    margin-left: 4.5vw;
  }
  .mr45 {
    margin-right: 4.5vw;
  }
  .my45 {
    margin-top: 4.5vw;
    margin-bottom: 4.5vw;
  }
  .mx45 {
    margin-left: 4.5vw;
    margin-right: 4.5vw;
  }
  .mt50 {
    margin-top: 5vw;
  }
  .mb50 {
    margin-bottom: 5vw;
  }
  .ml50 {
    margin-left: 5vw;
  }
  .mr50 {
    margin-right: 5vw;
  }
  .my50 {
    margin-top: 5vw;
    margin-bottom: 5vw;
  }
  .mx50 {
    margin-left: 5vw;
    margin-right: 5vw;
  }
  .mt55 {
    margin-top: 5.5vw;
  }
  .mb55 {
    margin-bottom: 5.5vw;
  }
  .ml55 {
    margin-left: 5.5vw;
  }
  .mr55 {
    margin-right: 5.5vw;
  }
  .my55 {
    margin-top: 5.5vw;
    margin-bottom: 5.5vw;
  }
  .mx55 {
    margin-left: 5.5vw;
    margin-right: 5.5vw;
  }
  .mt60 {
    margin-top: 6vw;
  }
  .mb60 {
    margin-bottom: 6vw;
  }
  .ml60 {
    margin-left: 6vw;
  }
  .mr60 {
    margin-right: 6vw;
  }
  .my60 {
    margin-top: 6vw;
    margin-bottom: 6vw;
  }
  .mx60 {
    margin-left: 6vw;
    margin-right: 6vw;
  }
  .mt65 {
    margin-top: 6.5vw;
  }
  .mb65 {
    margin-bottom: 6.5vw;
  }
  .ml65 {
    margin-left: 6.5vw;
  }
  .mr65 {
    margin-right: 6.5vw;
  }
  .my65 {
    margin-top: 6.5vw;
    margin-bottom: 6.5vw;
  }
  .mx65 {
    margin-left: 6.5vw;
    margin-right: 6.5vw;
  }
  .mt70 {
    margin-top: 7vw;
  }
  .mb70 {
    margin-bottom: 7vw;
  }
  .ml70 {
    margin-left: 7vw;
  }
  .mr70 {
    margin-right: 7vw;
  }
  .my70 {
    margin-top: 7vw;
    margin-bottom: 7vw;
  }
  .mx70 {
    margin-left: 7vw;
    margin-right: 7vw;
  }
  .mt75 {
    margin-top: 7.5vw;
  }
  .mb75 {
    margin-bottom: 7.5vw;
  }
  .ml75 {
    margin-left: 7.5vw;
  }
  .mr75 {
    margin-right: 7.5vw;
  }
  .my75 {
    margin-top: 7.5vw;
    margin-bottom: 7.5vw;
  }
  .mx75 {
    margin-left: 7.5vw;
    margin-right: 7.5vw;
  }
  .mt80 {
    margin-top: 8vw;
  }
  .mb80 {
    margin-bottom: 8vw;
  }
  .ml80 {
    margin-left: 8vw;
  }
  .mr80 {
    margin-right: 8vw;
  }
  .my80 {
    margin-top: 8vw;
    margin-bottom: 8vw;
  }
  .mx80 {
    margin-left: 8vw;
    margin-right: 8vw;
  }
  .mt85 {
    margin-top: 8.5vw;
  }
  .mb85 {
    margin-bottom: 8.5vw;
  }
  .ml85 {
    margin-left: 8.5vw;
  }
  .mr85 {
    margin-right: 8.5vw;
  }
  .my85 {
    margin-top: 8.5vw;
    margin-bottom: 8.5vw;
  }
  .mx85 {
    margin-left: 8.5vw;
    margin-right: 8.5vw;
  }
  .mt90 {
    margin-top: 9vw;
  }
  .mb90 {
    margin-bottom: 9vw;
  }
  .ml90 {
    margin-left: 9vw;
  }
  .mr90 {
    margin-right: 9vw;
  }
  .my90 {
    margin-top: 9vw;
    margin-bottom: 9vw;
  }
  .mx90 {
    margin-left: 9vw;
    margin-right: 9vw;
  }
  .mt95 {
    margin-top: 9.5vw;
  }
  .mb95 {
    margin-bottom: 9.5vw;
  }
  .ml95 {
    margin-left: 9.5vw;
  }
  .mr95 {
    margin-right: 9.5vw;
  }
  .my95 {
    margin-top: 9.5vw;
    margin-bottom: 9.5vw;
  }
  .mx95 {
    margin-left: 9.5vw;
    margin-right: 9.5vw;
  }
  .mt100 {
    margin-top: 10vw;
  }
  .mb100 {
    margin-bottom: 10vw;
  }
  .ml100 {
    margin-left: 10vw;
  }
  .mr100 {
    margin-right: 10vw;
  }
  .my100 {
    margin-top: 10vw;
    margin-bottom: 10vw;
  }
  .mx100 {
    margin-left: 10vw;
    margin-right: 10vw;
  }
  .mt105 {
    margin-top: 10.5vw;
  }
  .mb105 {
    margin-bottom: 10.5vw;
  }
  .ml105 {
    margin-left: 10.5vw;
  }
  .mr105 {
    margin-right: 10.5vw;
  }
  .my105 {
    margin-top: 10.5vw;
    margin-bottom: 10.5vw;
  }
  .mx105 {
    margin-left: 10.5vw;
    margin-right: 10.5vw;
  }
  .mt110 {
    margin-top: 11vw;
  }
  .mb110 {
    margin-bottom: 11vw;
  }
  .ml110 {
    margin-left: 11vw;
  }
  .mr110 {
    margin-right: 11vw;
  }
  .my110 {
    margin-top: 11vw;
    margin-bottom: 11vw;
  }
  .mx110 {
    margin-left: 11vw;
    margin-right: 11vw;
  }
  .mt115 {
    margin-top: 11.5vw;
  }
  .mb115 {
    margin-bottom: 11.5vw;
  }
  .ml115 {
    margin-left: 11.5vw;
  }
  .mr115 {
    margin-right: 11.5vw;
  }
  .my115 {
    margin-top: 11.5vw;
    margin-bottom: 11.5vw;
  }
  .mx115 {
    margin-left: 11.5vw;
    margin-right: 11.5vw;
  }
  .mt120 {
    margin-top: 12vw;
  }
  .mb120 {
    margin-bottom: 12vw;
  }
  .ml120 {
    margin-left: 12vw;
  }
  .mr120 {
    margin-right: 12vw;
  }
  .my120 {
    margin-top: 12vw;
    margin-bottom: 12vw;
  }
  .mx120 {
    margin-left: 12vw;
    margin-right: 12vw;
  }
  .mt125 {
    margin-top: 12.5vw;
  }
  .mb125 {
    margin-bottom: 12.5vw;
  }
  .ml125 {
    margin-left: 12.5vw;
  }
  .mr125 {
    margin-right: 12.5vw;
  }
  .my125 {
    margin-top: 12.5vw;
    margin-bottom: 12.5vw;
  }
  .mx125 {
    margin-left: 12.5vw;
    margin-right: 12.5vw;
  }
  .mt130 {
    margin-top: 13vw;
  }
  .mb130 {
    margin-bottom: 13vw;
  }
  .ml130 {
    margin-left: 13vw;
  }
  .mr130 {
    margin-right: 13vw;
  }
  .my130 {
    margin-top: 13vw;
    margin-bottom: 13vw;
  }
  .mx130 {
    margin-left: 13vw;
    margin-right: 13vw;
  }
  .mt135 {
    margin-top: 13.5vw;
  }
  .mb135 {
    margin-bottom: 13.5vw;
  }
  .ml135 {
    margin-left: 13.5vw;
  }
  .mr135 {
    margin-right: 13.5vw;
  }
  .my135 {
    margin-top: 13.5vw;
    margin-bottom: 13.5vw;
  }
  .mx135 {
    margin-left: 13.5vw;
    margin-right: 13.5vw;
  }
  .mt140 {
    margin-top: 14vw;
  }
  .mb140 {
    margin-bottom: 14vw;
  }
  .ml140 {
    margin-left: 14vw;
  }
  .mr140 {
    margin-right: 14vw;
  }
  .my140 {
    margin-top: 14vw;
    margin-bottom: 14vw;
  }
  .mx140 {
    margin-left: 14vw;
    margin-right: 14vw;
  }
  .mt145 {
    margin-top: 14.5vw;
  }
  .mb145 {
    margin-bottom: 14.5vw;
  }
  .ml145 {
    margin-left: 14.5vw;
  }
  .mr145 {
    margin-right: 14.5vw;
  }
  .my145 {
    margin-top: 14.5vw;
    margin-bottom: 14.5vw;
  }
  .mx145 {
    margin-left: 14.5vw;
    margin-right: 14.5vw;
  }
  .mt150 {
    margin-top: 15vw;
  }
  .mb150 {
    margin-bottom: 15vw;
  }
  .ml150 {
    margin-left: 15vw;
  }
  .mr150 {
    margin-right: 15vw;
  }
  .my150 {
    margin-top: 15vw;
    margin-bottom: 15vw;
  }
  .mx150 {
    margin-left: 15vw;
    margin-right: 15vw;
  }
  .mt155 {
    margin-top: 15.5vw;
  }
  .mb155 {
    margin-bottom: 15.5vw;
  }
  .ml155 {
    margin-left: 15.5vw;
  }
  .mr155 {
    margin-right: 15.5vw;
  }
  .my155 {
    margin-top: 15.5vw;
    margin-bottom: 15.5vw;
  }
  .mx155 {
    margin-left: 15.5vw;
    margin-right: 15.5vw;
  }
  .mt160 {
    margin-top: 16vw;
  }
  .mb160 {
    margin-bottom: 16vw;
  }
  .ml160 {
    margin-left: 16vw;
  }
  .mr160 {
    margin-right: 16vw;
  }
  .my160 {
    margin-top: 16vw;
    margin-bottom: 16vw;
  }
  .mx160 {
    margin-left: 16vw;
    margin-right: 16vw;
  }
  .mt165 {
    margin-top: 16.5vw;
  }
  .mb165 {
    margin-bottom: 16.5vw;
  }
  .ml165 {
    margin-left: 16.5vw;
  }
  .mr165 {
    margin-right: 16.5vw;
  }
  .my165 {
    margin-top: 16.5vw;
    margin-bottom: 16.5vw;
  }
  .mx165 {
    margin-left: 16.5vw;
    margin-right: 16.5vw;
  }
  .mt170 {
    margin-top: 17vw;
  }
  .mb170 {
    margin-bottom: 17vw;
  }
  .ml170 {
    margin-left: 17vw;
  }
  .mr170 {
    margin-right: 17vw;
  }
  .my170 {
    margin-top: 17vw;
    margin-bottom: 17vw;
  }
  .mx170 {
    margin-left: 17vw;
    margin-right: 17vw;
  }
  .mt175 {
    margin-top: 17.5vw;
  }
  .mb175 {
    margin-bottom: 17.5vw;
  }
  .ml175 {
    margin-left: 17.5vw;
  }
  .mr175 {
    margin-right: 17.5vw;
  }
  .my175 {
    margin-top: 17.5vw;
    margin-bottom: 17.5vw;
  }
  .mx175 {
    margin-left: 17.5vw;
    margin-right: 17.5vw;
  }
  .mt180 {
    margin-top: 18vw;
  }
  .mb180 {
    margin-bottom: 18vw;
  }
  .ml180 {
    margin-left: 18vw;
  }
  .mr180 {
    margin-right: 18vw;
  }
  .my180 {
    margin-top: 18vw;
    margin-bottom: 18vw;
  }
  .mx180 {
    margin-left: 18vw;
    margin-right: 18vw;
  }
  .mt185 {
    margin-top: 18.5vw;
  }
  .mb185 {
    margin-bottom: 18.5vw;
  }
  .ml185 {
    margin-left: 18.5vw;
  }
  .mr185 {
    margin-right: 18.5vw;
  }
  .my185 {
    margin-top: 18.5vw;
    margin-bottom: 18.5vw;
  }
  .mx185 {
    margin-left: 18.5vw;
    margin-right: 18.5vw;
  }
  .mt190 {
    margin-top: 19vw;
  }
  .mb190 {
    margin-bottom: 19vw;
  }
  .ml190 {
    margin-left: 19vw;
  }
  .mr190 {
    margin-right: 19vw;
  }
  .my190 {
    margin-top: 19vw;
    margin-bottom: 19vw;
  }
  .mx190 {
    margin-left: 19vw;
    margin-right: 19vw;
  }
  .mt195 {
    margin-top: 19.5vw;
  }
  .mb195 {
    margin-bottom: 19.5vw;
  }
  .ml195 {
    margin-left: 19.5vw;
  }
  .mr195 {
    margin-right: 19.5vw;
  }
  .my195 {
    margin-top: 19.5vw;
    margin-bottom: 19.5vw;
  }
  .mx195 {
    margin-left: 19.5vw;
    margin-right: 19.5vw;
  }
  .mt200 {
    margin-top: 20vw;
  }
  .mb200 {
    margin-bottom: 20vw;
  }
  .ml200 {
    margin-left: 20vw;
  }
  .mr200 {
    margin-right: 20vw;
  }
  .my200 {
    margin-top: 20vw;
    margin-bottom: 20vw;
  }
  .mx200 {
    margin-left: 20vw;
    margin-right: 20vw;
  }
  .pt5 {
    padding-top: 0.5vw;
  }
  .pb5 {
    padding-bottom: 0.5vw;
  }
  .pl5 {
    padding-left: 0.5vw;
  }
  .pr5 {
    padding-right: 0.5vw;
  }
  .py5 {
    padding-top: 0.5vw;
    padding-bottom: 0.5vw;
  }
  .px5 {
    padding-left: 0.5vw;
    padding-right: 0.5vw;
  }
  .gap5 {
    gap: 0.5vw;
  }
  .pt10 {
    padding-top: 1vw;
  }
  .pb10 {
    padding-bottom: 1vw;
  }
  .pl10 {
    padding-left: 1vw;
  }
  .pr10 {
    padding-right: 1vw;
  }
  .py10 {
    padding-top: 1vw;
    padding-bottom: 1vw;
  }
  .px10 {
    padding-left: 1vw;
    padding-right: 1vw;
  }
  .gap10 {
    gap: 1vw;
  }
  .pt15 {
    padding-top: 1.5vw;
  }
  .pb15 {
    padding-bottom: 1.5vw;
  }
  .pl15 {
    padding-left: 1.5vw;
  }
  .pr15 {
    padding-right: 1.5vw;
  }
  .py15 {
    padding-top: 1.5vw;
    padding-bottom: 1.5vw;
  }
  .px15 {
    padding-left: 1.5vw;
    padding-right: 1.5vw;
  }
  .gap15 {
    gap: 1.5vw;
  }
  .pt20 {
    padding-top: 2vw;
  }
  .pb20 {
    padding-bottom: 2vw;
  }
  .pl20 {
    padding-left: 2vw;
  }
  .pr20 {
    padding-right: 2vw;
  }
  .py20 {
    padding-top: 2vw;
    padding-bottom: 2vw;
  }
  .px20 {
    padding-left: 2vw;
    padding-right: 2vw;
  }
  .gap20 {
    gap: 2vw;
  }
  .pt25 {
    padding-top: 2.5vw;
  }
  .pb25 {
    padding-bottom: 2.5vw;
  }
  .pl25 {
    padding-left: 2.5vw;
  }
  .pr25 {
    padding-right: 2.5vw;
  }
  .py25 {
    padding-top: 2.5vw;
    padding-bottom: 2.5vw;
  }
  .px25 {
    padding-left: 2.5vw;
    padding-right: 2.5vw;
  }
  .gap25 {
    gap: 2.5vw;
  }
  .pt30 {
    padding-top: 3vw;
  }
  .pb30 {
    padding-bottom: 3vw;
  }
  .pl30 {
    padding-left: 3vw;
  }
  .pr30 {
    padding-right: 3vw;
  }
  .py30 {
    padding-top: 3vw;
    padding-bottom: 3vw;
  }
  .px30 {
    padding-left: 3vw;
    padding-right: 3vw;
  }
  .gap30 {
    gap: 3vw;
  }
  .pt35 {
    padding-top: 3.5vw;
  }
  .pb35 {
    padding-bottom: 3.5vw;
  }
  .pl35 {
    padding-left: 3.5vw;
  }
  .pr35 {
    padding-right: 3.5vw;
  }
  .py35 {
    padding-top: 3.5vw;
    padding-bottom: 3.5vw;
  }
  .px35 {
    padding-left: 3.5vw;
    padding-right: 3.5vw;
  }
  .gap35 {
    gap: 3.5vw;
  }
  .pt40 {
    padding-top: 4vw;
  }
  .pb40 {
    padding-bottom: 4vw;
  }
  .pl40 {
    padding-left: 4vw;
  }
  .pr40 {
    padding-right: 4vw;
  }
  .py40 {
    padding-top: 4vw;
    padding-bottom: 4vw;
  }
  .px40 {
    padding-left: 4vw;
    padding-right: 4vw;
  }
  .gap40 {
    gap: 4vw;
  }
  .pt45 {
    padding-top: 4.5vw;
  }
  .pb45 {
    padding-bottom: 4.5vw;
  }
  .pl45 {
    padding-left: 4.5vw;
  }
  .pr45 {
    padding-right: 4.5vw;
  }
  .py45 {
    padding-top: 4.5vw;
    padding-bottom: 4.5vw;
  }
  .px45 {
    padding-left: 4.5vw;
    padding-right: 4.5vw;
  }
  .gap45 {
    gap: 4.5vw;
  }
  .pt50 {
    padding-top: 5vw;
  }
  .pb50 {
    padding-bottom: 5vw;
  }
  .pl50 {
    padding-left: 5vw;
  }
  .pr50 {
    padding-right: 5vw;
  }
  .py50 {
    padding-top: 5vw;
    padding-bottom: 5vw;
  }
  .px50 {
    padding-left: 5vw;
    padding-right: 5vw;
  }
  .gap50 {
    gap: 5vw;
  }
  .pt55 {
    padding-top: 5.5vw;
  }
  .pb55 {
    padding-bottom: 5.5vw;
  }
  .pl55 {
    padding-left: 5.5vw;
  }
  .pr55 {
    padding-right: 5.5vw;
  }
  .py55 {
    padding-top: 5.5vw;
    padding-bottom: 5.5vw;
  }
  .px55 {
    padding-left: 5.5vw;
    padding-right: 5.5vw;
  }
  .gap55 {
    gap: 5.5vw;
  }
  .pt60 {
    padding-top: 6vw;
  }
  .pb60 {
    padding-bottom: 6vw;
  }
  .pl60 {
    padding-left: 6vw;
  }
  .pr60 {
    padding-right: 6vw;
  }
  .py60 {
    padding-top: 6vw;
    padding-bottom: 6vw;
  }
  .px60 {
    padding-left: 6vw;
    padding-right: 6vw;
  }
  .gap60 {
    gap: 6vw;
  }
  .pt65 {
    padding-top: 6.5vw;
  }
  .pb65 {
    padding-bottom: 6.5vw;
  }
  .pl65 {
    padding-left: 6.5vw;
  }
  .pr65 {
    padding-right: 6.5vw;
  }
  .py65 {
    padding-top: 6.5vw;
    padding-bottom: 6.5vw;
  }
  .px65 {
    padding-left: 6.5vw;
    padding-right: 6.5vw;
  }
  .gap65 {
    gap: 6.5vw;
  }
  .pt70 {
    padding-top: 7vw;
  }
  .pb70 {
    padding-bottom: 7vw;
  }
  .pl70 {
    padding-left: 7vw;
  }
  .pr70 {
    padding-right: 7vw;
  }
  .py70 {
    padding-top: 7vw;
    padding-bottom: 7vw;
  }
  .px70 {
    padding-left: 7vw;
    padding-right: 7vw;
  }
  .gap70 {
    gap: 7vw;
  }
  .pt75 {
    padding-top: 7.5vw;
  }
  .pb75 {
    padding-bottom: 7.5vw;
  }
  .pl75 {
    padding-left: 7.5vw;
  }
  .pr75 {
    padding-right: 7.5vw;
  }
  .py75 {
    padding-top: 7.5vw;
    padding-bottom: 7.5vw;
  }
  .px75 {
    padding-left: 7.5vw;
    padding-right: 7.5vw;
  }
  .gap75 {
    gap: 7.5vw;
  }
  .pt80 {
    padding-top: 8vw;
  }
  .pb80 {
    padding-bottom: 8vw;
  }
  .pl80 {
    padding-left: 8vw;
  }
  .pr80 {
    padding-right: 8vw;
  }
  .py80 {
    padding-top: 8vw;
    padding-bottom: 8vw;
  }
  .px80 {
    padding-left: 8vw;
    padding-right: 8vw;
  }
  .gap80 {
    gap: 8vw;
  }
  .pt85 {
    padding-top: 8.5vw;
  }
  .pb85 {
    padding-bottom: 8.5vw;
  }
  .pl85 {
    padding-left: 8.5vw;
  }
  .pr85 {
    padding-right: 8.5vw;
  }
  .py85 {
    padding-top: 8.5vw;
    padding-bottom: 8.5vw;
  }
  .px85 {
    padding-left: 8.5vw;
    padding-right: 8.5vw;
  }
  .gap85 {
    gap: 8.5vw;
  }
  .pt90 {
    padding-top: 9vw;
  }
  .pb90 {
    padding-bottom: 9vw;
  }
  .pl90 {
    padding-left: 9vw;
  }
  .pr90 {
    padding-right: 9vw;
  }
  .py90 {
    padding-top: 9vw;
    padding-bottom: 9vw;
  }
  .px90 {
    padding-left: 9vw;
    padding-right: 9vw;
  }
  .gap90 {
    gap: 9vw;
  }
  .pt95 {
    padding-top: 9.5vw;
  }
  .pb95 {
    padding-bottom: 9.5vw;
  }
  .pl95 {
    padding-left: 9.5vw;
  }
  .pr95 {
    padding-right: 9.5vw;
  }
  .py95 {
    padding-top: 9.5vw;
    padding-bottom: 9.5vw;
  }
  .px95 {
    padding-left: 9.5vw;
    padding-right: 9.5vw;
  }
  .gap95 {
    gap: 9.5vw;
  }
  .pt100 {
    padding-top: 10vw;
  }
  .pb100 {
    padding-bottom: 10vw;
  }
  .pl100 {
    padding-left: 10vw;
  }
  .pr100 {
    padding-right: 10vw;
  }
  .py100 {
    padding-top: 10vw;
    padding-bottom: 10vw;
  }
  .px100 {
    padding-left: 10vw;
    padding-right: 10vw;
  }
  .gap100 {
    gap: 10vw;
  }
  .pt105 {
    padding-top: 10.5vw;
  }
  .pb105 {
    padding-bottom: 10.5vw;
  }
  .pl105 {
    padding-left: 10.5vw;
  }
  .pr105 {
    padding-right: 10.5vw;
  }
  .py105 {
    padding-top: 10.5vw;
    padding-bottom: 10.5vw;
  }
  .px105 {
    padding-left: 10.5vw;
    padding-right: 10.5vw;
  }
  .gap105 {
    gap: 10.5vw;
  }
  .pt110 {
    padding-top: 11vw;
  }
  .pb110 {
    padding-bottom: 11vw;
  }
  .pl110 {
    padding-left: 11vw;
  }
  .pr110 {
    padding-right: 11vw;
  }
  .py110 {
    padding-top: 11vw;
    padding-bottom: 11vw;
  }
  .px110 {
    padding-left: 11vw;
    padding-right: 11vw;
  }
  .gap110 {
    gap: 11vw;
  }
  .pt115 {
    padding-top: 11.5vw;
  }
  .pb115 {
    padding-bottom: 11.5vw;
  }
  .pl115 {
    padding-left: 11.5vw;
  }
  .pr115 {
    padding-right: 11.5vw;
  }
  .py115 {
    padding-top: 11.5vw;
    padding-bottom: 11.5vw;
  }
  .px115 {
    padding-left: 11.5vw;
    padding-right: 11.5vw;
  }
  .gap115 {
    gap: 11.5vw;
  }
  .pt120 {
    padding-top: 12vw;
  }
  .pb120 {
    padding-bottom: 12vw;
  }
  .pl120 {
    padding-left: 12vw;
  }
  .pr120 {
    padding-right: 12vw;
  }
  .py120 {
    padding-top: 12vw;
    padding-bottom: 12vw;
  }
  .px120 {
    padding-left: 12vw;
    padding-right: 12vw;
  }
  .gap120 {
    gap: 12vw;
  }
  .pt125 {
    padding-top: 12.5vw;
  }
  .pb125 {
    padding-bottom: 12.5vw;
  }
  .pl125 {
    padding-left: 12.5vw;
  }
  .pr125 {
    padding-right: 12.5vw;
  }
  .py125 {
    padding-top: 12.5vw;
    padding-bottom: 12.5vw;
  }
  .px125 {
    padding-left: 12.5vw;
    padding-right: 12.5vw;
  }
  .gap125 {
    gap: 12.5vw;
  }
  .pt130 {
    padding-top: 13vw;
  }
  .pb130 {
    padding-bottom: 13vw;
  }
  .pl130 {
    padding-left: 13vw;
  }
  .pr130 {
    padding-right: 13vw;
  }
  .py130 {
    padding-top: 13vw;
    padding-bottom: 13vw;
  }
  .px130 {
    padding-left: 13vw;
    padding-right: 13vw;
  }
  .gap130 {
    gap: 13vw;
  }
  .pt135 {
    padding-top: 13.5vw;
  }
  .pb135 {
    padding-bottom: 13.5vw;
  }
  .pl135 {
    padding-left: 13.5vw;
  }
  .pr135 {
    padding-right: 13.5vw;
  }
  .py135 {
    padding-top: 13.5vw;
    padding-bottom: 13.5vw;
  }
  .px135 {
    padding-left: 13.5vw;
    padding-right: 13.5vw;
  }
  .gap135 {
    gap: 13.5vw;
  }
  .pt140 {
    padding-top: 14vw;
  }
  .pb140 {
    padding-bottom: 14vw;
  }
  .pl140 {
    padding-left: 14vw;
  }
  .pr140 {
    padding-right: 14vw;
  }
  .py140 {
    padding-top: 14vw;
    padding-bottom: 14vw;
  }
  .px140 {
    padding-left: 14vw;
    padding-right: 14vw;
  }
  .gap140 {
    gap: 14vw;
  }
  .pt145 {
    padding-top: 14.5vw;
  }
  .pb145 {
    padding-bottom: 14.5vw;
  }
  .pl145 {
    padding-left: 14.5vw;
  }
  .pr145 {
    padding-right: 14.5vw;
  }
  .py145 {
    padding-top: 14.5vw;
    padding-bottom: 14.5vw;
  }
  .px145 {
    padding-left: 14.5vw;
    padding-right: 14.5vw;
  }
  .gap145 {
    gap: 14.5vw;
  }
  .pt150 {
    padding-top: 15vw;
  }
  .pb150 {
    padding-bottom: 15vw;
  }
  .pl150 {
    padding-left: 15vw;
  }
  .pr150 {
    padding-right: 15vw;
  }
  .py150 {
    padding-top: 15vw;
    padding-bottom: 15vw;
  }
  .px150 {
    padding-left: 15vw;
    padding-right: 15vw;
  }
  .gap150 {
    gap: 15vw;
  }
  .pt155 {
    padding-top: 15.5vw;
  }
  .pb155 {
    padding-bottom: 15.5vw;
  }
  .pl155 {
    padding-left: 15.5vw;
  }
  .pr155 {
    padding-right: 15.5vw;
  }
  .py155 {
    padding-top: 15.5vw;
    padding-bottom: 15.5vw;
  }
  .px155 {
    padding-left: 15.5vw;
    padding-right: 15.5vw;
  }
  .gap155 {
    gap: 15.5vw;
  }
  .pt160 {
    padding-top: 16vw;
  }
  .pb160 {
    padding-bottom: 16vw;
  }
  .pl160 {
    padding-left: 16vw;
  }
  .pr160 {
    padding-right: 16vw;
  }
  .py160 {
    padding-top: 16vw;
    padding-bottom: 16vw;
  }
  .px160 {
    padding-left: 16vw;
    padding-right: 16vw;
  }
  .gap160 {
    gap: 16vw;
  }
  .pt165 {
    padding-top: 16.5vw;
  }
  .pb165 {
    padding-bottom: 16.5vw;
  }
  .pl165 {
    padding-left: 16.5vw;
  }
  .pr165 {
    padding-right: 16.5vw;
  }
  .py165 {
    padding-top: 16.5vw;
    padding-bottom: 16.5vw;
  }
  .px165 {
    padding-left: 16.5vw;
    padding-right: 16.5vw;
  }
  .gap165 {
    gap: 16.5vw;
  }
  .pt170 {
    padding-top: 17vw;
  }
  .pb170 {
    padding-bottom: 17vw;
  }
  .pl170 {
    padding-left: 17vw;
  }
  .pr170 {
    padding-right: 17vw;
  }
  .py170 {
    padding-top: 17vw;
    padding-bottom: 17vw;
  }
  .px170 {
    padding-left: 17vw;
    padding-right: 17vw;
  }
  .gap170 {
    gap: 17vw;
  }
  .pt175 {
    padding-top: 17.5vw;
  }
  .pb175 {
    padding-bottom: 17.5vw;
  }
  .pl175 {
    padding-left: 17.5vw;
  }
  .pr175 {
    padding-right: 17.5vw;
  }
  .py175 {
    padding-top: 17.5vw;
    padding-bottom: 17.5vw;
  }
  .px175 {
    padding-left: 17.5vw;
    padding-right: 17.5vw;
  }
  .gap175 {
    gap: 17.5vw;
  }
  .pt180 {
    padding-top: 18vw;
  }
  .pb180 {
    padding-bottom: 18vw;
  }
  .pl180 {
    padding-left: 18vw;
  }
  .pr180 {
    padding-right: 18vw;
  }
  .py180 {
    padding-top: 18vw;
    padding-bottom: 18vw;
  }
  .px180 {
    padding-left: 18vw;
    padding-right: 18vw;
  }
  .gap180 {
    gap: 18vw;
  }
  .pt185 {
    padding-top: 18.5vw;
  }
  .pb185 {
    padding-bottom: 18.5vw;
  }
  .pl185 {
    padding-left: 18.5vw;
  }
  .pr185 {
    padding-right: 18.5vw;
  }
  .py185 {
    padding-top: 18.5vw;
    padding-bottom: 18.5vw;
  }
  .px185 {
    padding-left: 18.5vw;
    padding-right: 18.5vw;
  }
  .gap185 {
    gap: 18.5vw;
  }
  .pt190 {
    padding-top: 19vw;
  }
  .pb190 {
    padding-bottom: 19vw;
  }
  .pl190 {
    padding-left: 19vw;
  }
  .pr190 {
    padding-right: 19vw;
  }
  .py190 {
    padding-top: 19vw;
    padding-bottom: 19vw;
  }
  .px190 {
    padding-left: 19vw;
    padding-right: 19vw;
  }
  .gap190 {
    gap: 19vw;
  }
  .pt195 {
    padding-top: 19.5vw;
  }
  .pb195 {
    padding-bottom: 19.5vw;
  }
  .pl195 {
    padding-left: 19.5vw;
  }
  .pr195 {
    padding-right: 19.5vw;
  }
  .py195 {
    padding-top: 19.5vw;
    padding-bottom: 19.5vw;
  }
  .px195 {
    padding-left: 19.5vw;
    padding-right: 19.5vw;
  }
  .gap195 {
    gap: 19.5vw;
  }
  .pt200 {
    padding-top: 20vw;
  }
  .pb200 {
    padding-bottom: 20vw;
  }
  .pl200 {
    padding-left: 20vw;
  }
  .pr200 {
    padding-right: 20vw;
  }
  .py200 {
    padding-top: 20vw;
    padding-bottom: 20vw;
  }
  .px200 {
    padding-left: 20vw;
    padding-right: 20vw;
  }
  .gap200 {
    gap: 20vw;
  }
  .sp {
    display: block !important;
  }
  .pc {
    display: none !important;
  }
  .sp-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .pc-flex {
    display: none !important;
  }
  ::-webkit-input-placeholder {
    font-size: 3.6vw;
    letter-spacing: 0.12em;
    color: #cccccc;
  }
  ::-moz-placeholder {
    font-size: 3.6vw;
    letter-spacing: 0.12em;
    color: #cccccc;
  }
  :-ms-input-placeholder {
    font-size: 3.6vw;
    letter-spacing: 0.12em;
    color: #cccccc;
  }
  ::-ms-input-placeholder {
    font-size: 3.6vw;
    letter-spacing: 0.12em;
    color: #cccccc;
  }
  ::placeholder {
    font-size: 3.6vw;
    letter-spacing: 0.12em;
    color: #cccccc;
  }
  /*----------------------------------------------------------------

  common

  ----------------------------------------------------------------*/
  .hamburger {
    display: block;
  }
  .hamburger.is-fixed .hamburger_contents {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: #ffffff;
    -webkit-animation: headerSlideDown 0.4s ease forwards;
            animation: headerSlideDown 0.4s ease forwards;
  }
  .hamburger .hamburger_contents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 60px;
  }
  .hamburger .hamburger_contents .sp_logo {
    position: relative;
    top: 0;
    left: 0;
    height: 60px;
    width: calc(100% - 70px);
    z-index: 1002;
    padding-left: 0px;
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
    background: transparent;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .hamburger .hamburger_contents .sp_logo a {
    margin-left: 2rem;
    max-width: 200px;
    width: 16.8rem;
    position: relative;
    z-index: 1;
    display: block;
  }
  .hamburger .hamburger_contents .sp_logo a img {
    width: 100%;
    height: auto;
  }
  .hamburger .hamburger_contents .sp_logo a .sp_logo_default {
    display: block;
  }
  .hamburger .hamburger_contents .sp_logo a .sp_logo_scrolled {
    display: none;
  }
  .hamburger .hamburger_contents .sp_logo.sp_logo_scroll a .sp_logo_default {
    display: none;
  }
  .hamburger .hamburger_contents .sp_logo.sp_logo_scroll a .sp_logo_scrolled {
    display: block;
  }
  .hamburger .hamburger_contents .sp_logo.bg_white_2 a .sp_logo_default {
    display: none;
  }
  .hamburger .hamburger_contents .sp_logo.bg_white_2 a .sp_logo_scrolled {
    display: block;
  }
  .hamburger .hamburger_contents .menu_trigger {
    z-index: 1003;
    position: relative;
    top: 0px;
    right: 0px;
    width: 70px;
    height: 60px;
    padding: 22px 16px;
    background: transparent;
    -webkit-transition: background-color 0.3s ease;
    transition: background-color 0.3s ease;
  }
  .hamburger .hamburger_contents .menu_trigger span {
    z-index: 1003;
    display: inline-block;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    position: absolute;
    left: 16px;
    width: 35px;
    height: 3px;
    background-color: #000000;
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
  }
  .hamburger .hamburger_contents .menu_trigger span:nth-of-type(1) {
    top: 24px;
  }
  .hamburger .hamburger_contents .menu_trigger span:nth-of-type(2) {
    top: 36px;
  }
  .hamburger .hamburger_contents .menu_trigger.is-top span {
    background-color: #ffffff;
  }
  .hamburger .hamburger_contents .menu_trigger.is-top.scrolled span {
    background-color: #000000;
  }
  .hamburger .hamburger_contents .menu_trigger.is-top.active span {
    background-color: #000000;
  }
  .hamburger .hamburger_contents .menu_trigger.scrolled span {
    background-color: #000000;
  }
  .hamburger .hamburger_contents .menu_trigger.active {
    background-color: #EAEAEA;
  }
  .hamburger .hamburger_contents .menu_trigger.active span {
    background-color: #000000;
  }
  .hamburger .hamburger_contents .menu_trigger.active span:nth-of-type(1) {
    top: 29px;
    -webkit-transform: rotate(40deg);
            transform: rotate(40deg);
  }
  .hamburger .hamburger_contents .menu_trigger.active span:nth-of-type(2) {
    top: 29px;
    -webkit-transform: rotate(-40deg);
            transform: rotate(-40deg);
  }
  .hamburger .hamburger_contents nav {
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    background-color: #ffffff;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity 0.35s ease-in-out, visibility 0.35s ease-in-out, -webkit-transform 0.35s ease-in-out;
    transition: opacity 0.35s ease-in-out, visibility 0.35s ease-in-out, -webkit-transform 0.35s ease-in-out;
    transition: transform 0.35s ease-in-out, opacity 0.35s ease-in-out, visibility 0.35s ease-in-out;
    transition: transform 0.35s ease-in-out, opacity 0.35s ease-in-out, visibility 0.35s ease-in-out, -webkit-transform 0.35s ease-in-out;
    padding: 80px 0px 30px;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    z-index: 1000;
  }
  .hamburger .hamburger_contents nav.open {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
    visibility: visible;
    -webkit-transition: opacity 0.35s ease-in-out, visibility 0.35s ease-in-out, -webkit-transform 0.35s ease-in-out;
    transition: opacity 0.35s ease-in-out, visibility 0.35s ease-in-out, -webkit-transform 0.35s ease-in-out;
    transition: transform 0.35s ease-in-out, opacity 0.35s ease-in-out, visibility 0.35s ease-in-out;
    transition: transform 0.35s ease-in-out, opacity 0.35s ease-in-out, visibility 0.35s ease-in-out, -webkit-transform 0.35s ease-in-out;
  }
  .hamburger .hamburger_contents nav .nav_inner {
    width: 100%;
    margin: auto;
  }
  .header_pc {
    display: none !important;
  }
  .sp_nav_link {
    display: block;
    border-bottom: 1px solid #dddddd;
    padding: 2rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    font-size: 1.6rem;
  }
  .sp_accordion_wrapper {
    border-bottom: 1px solid #e0e0e0;
    padding: 2rem 0 0;
  }
  .sp_accordion_trigger_wrapper {
    padding: 0;
    padding-bottom: 2rem;
  }
  .sp_accordion_trigger {
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    font-size: 1.6rem;
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .sp_accordion_trigger .material-icons {
    font-size: 2.2rem;
  }
  .sp_accordion_arrow {
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  }
  .sp_accordion_arrow.is-active {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
  .sp_accordion_content {
    display: none;
    background-color: #EAEAEA;
    padding: 1rem 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.4rem;
  }
  .sp_accordion_content.is-open {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .sp_service_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-decoration: none;
    background-color: #fff;
    margin-left: 2rem;
    margin-right: 2rem;
    gap: 0;
  }
  .sp_service_img {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-bottom: 0;
  }
  .sp_service_img img {
    width: 9rem;
    height: 6rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .sp_service_text {
    font-size: 1.4rem;
    padding-left: 1rem;
  }
  .sp_service_arrow {
    width: 2rem;
    height: 2rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-right: 1rem;
  }
  .sp_service_item_simple {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-decoration: none;
    background-color: #fff;
    margin-left: 2rem;
    margin-right: 2rem;
    gap: 0;
    padding: 2rem 1rem 2rem 1rem;
  }
  .sp_service_item_simple .sp_service_text {
    font-size: 1.4rem;
    padding-left: 1rem;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .sp_service_item_simple .sp_service_arrow {
    width: 2rem !important;
    height: 2rem !important;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-right: 0;
  }
  .sp_contact_btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    text-decoration: none;
    padding: 2rem 0;
    margin-top: 2rem;
    width: 29.5rem;
    margin-left: auto;
    margin-right: auto;
  }
  .sp_contact_btn .material-symbols-outlined {
    font-size: 1.8rem;
    position: relative;
    z-index: 0;
    top: 0.1rem;
  }
  .sp_contact_btn .f_16 {
    font-size: 1.6rem;
  }
  /*----------------------------------------------------------------

  共通ボタン（common_btn）SP用

  ----------------------------------------------------------------*/
  .common_btn {
    gap: unset;
    padding: 1.5rem 2rem 1.5rem 3rem;
    border-radius: 40px;
    width: 29.5rem;
  }
  .common_btn .common_btn_text {
    font-size: 1.4rem;
  }
  .common_btn .common_btn_arrow {
    padding: 1rem 0.8rem;
    width: 3rem;
    height: 3rem;
  }
  .common_btn .material-icons {
    font-size: 18px;
  }
  /*----------------------------------------------------------------

  施工実績一覧 SP

  ----------------------------------------------------------------*/
  .works_list_area {
    padding-top: 4rem;
    padding-bottom: 10rem;
  }
  .works_filter {
    margin-bottom: 3rem;
  }
  .works_filter_btn {
    font-size: 1.2rem;
    padding: 0.8rem 2rem;
  }
  .works_grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem 1.5rem;
  }
  .works_card .works_card_img img {
    aspect-ratio: 3/2;
  }
  .works_card .works_card_label {
    font-size: 1rem;
    padding: 0.3rem 1rem;
    bottom: 1rem;
    left: 1rem;
  }
  .works_card .works_card_text {
    margin-top: 1rem;
  }
  .works_card .works_card_title {
    font-size: 1.3rem;
  }
  /*----------------------------------------------------------------

  施工実績詳細 SP

  ----------------------------------------------------------------*/
  .works_single {
    padding-top: 4rem;
    padding-bottom: 8rem;
  }
  .works_single_main_title {
    font-size: 2rem;
    margin-bottom: 3rem;
  }
  .works_single_main {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3rem;
    margin-bottom: 5rem;
  }
  .works_single_img_wrap {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
  .works_single_info {
    width: 100%;
  }
  .works_single_title {
    font-size: 1.8rem;
  }
  .works_single_detail_label {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 6rem;
            flex: 0 0 6rem;
    font-size: 1.2rem;
  }
  .works_single_detail_value {
    font-size: 1.4rem;
  }
  .works_single_compare {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem;
    margin-bottom: 4rem;
  }
  .works_single_gallery {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 5rem;
  }
  .works_single_gallery_item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(50% - 0.5rem);
            flex: 0 0 calc(50% - 0.5rem);
  }
  .works_single_btn {
    padding: 1.2rem 3rem;
  }
  .works_single_btn_arrow {
    width: 3rem;
    height: 3rem;
  }
  .works_single_btn_arrow .material-icons {
    font-size: 1.8rem;
  }
  .section_en_title {
    font-size: 10.6vw;
  }
  .section_ja_title {
    font-size: 3.2vw;
  }
  .wrap_btn {
    right: 5px;
    bottom: 25px;
    width: 40px;
    height: 40px;
  }
  .wrap_btn_img {
    width: 40px;
    height: 40px;
  }
  .wrap_btn_img:hover {
    opacity: 1;
  }
  .wrap_btn p {
    font-size: 12px;
  }
  .loading_logo {
    max-width: 160px;
  }
  main {
    /*----------------------------------------------------------------

    Catch Wrapper（stickyキャッチの範囲を制御）

    ----------------------------------------------------------------*/
    /*----------------------------------------------------------------

    TOPページ about SP

    ----------------------------------------------------------------*/
    /*----------------------------------------------------------------

    TOPページ mv

    ----------------------------------------------------------------*/
    /* ==========================================
      3. メッセージセクション（メイン）
    ========================================== */
    /*----------------------------------------------------------------

    TOPページ works_service_area_sub_area

    ----------------------------------------------------------------*/
    /*----------------------------------------------------------------

    TOPページ company SP

    ----------------------------------------------------------------*/
    /*----------------------------------------------------------------

    TOPページ work（施工実績）SP

    ----------------------------------------------------------------*/
    /*----------------------------------------------------------------

    TOPページ recruit SP

    ----------------------------------------------------------------*/
    /*----------------------------------------------------------------

    お問い合わせフォーム SP

    ----------------------------------------------------------------*/
    /*----------------------------------------------------------------

    TOPページ contact

    ----------------------------------------------------------------*/
    /*----------------------------------------------------------------

    サブページ共通  
      ----------------------------------------------------------------*/
    /*----------------------------------------------------------------

    news一覧

    ----------------------------------------------------------------*/
    /*----------------------------------------------------------------

    news記事詳細

    ----------------------------------------------------------------*/
    /*----------------------------------------------------------------

    contactページ

    ----------------------------------------------------------------*/
    /*----------------------------------------------------------------

    companyページ  

      ----------------------------------------------------------------*/
    /*----------------------------------------------------------------

    aboutページ SP

    ----------------------------------------------------------------*/
    /*----------------------------------------------------------------

    serviceページ

    ----------------------------------------------------------------*/
  }
  main .catch_wrapper {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
  }
  main .mv_main_catch {
    margin-left: 5vw;
  }
  main .mv_main_catch .main_catch_text {
    font-size: 5.2rem;
  }
  main .mv_main_catch .main_catch_text span {
    font-size: 5.2rem;
  }
  main .mv_main_catch.shrink .main_catch_text {
    font-size: 4.2rem;
  }
  main .mv_main_catch.shrink .main_catch_text span {
    font-size: 4.2rem;
    color: #fff !important;
  }
  main .message_vertical_line {
    z-index: 50;
  }
  main .news_area {
    margin-top: 4rem;
    margin-bottom: 6rem;
    padding-top: 0;
    padding-bottom: 0;
  }
  main .news_area .news_area_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  main .news_area .news_heading {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  main .news_area .news_filter {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: 0rem;
    margin-bottom: 0rem;
  }
  main .news_area .news_filter_btn {
    font-size: 1.2rem;
    padding: 0.8rem 2rem;
  }
  main .news_area .news_list {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    margin-top: 2.5rem !important;
  }
  main .news_area .news_list .news_category {
    width: 9.2rem;
    font-size: 1rem;
    height: 2.3rem;
    margin-left: 0;
    margin-right: 0;
  }
  main .news_area .news_btn {
    margin-top: 2rem;
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
    margin-right: 0;
    margin-left: auto;
    text-align: center;
    gap: 1rem;
    padding-right: 0 !important;
    -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
            justify-content: end !important;
  }
  main .news_area .news_btn p {
    font-size: 1.4rem;
  }
  main .news_area .news_pagination {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
    margin-top: 4rem;
  }
  main .news_area .news_pagination_arrow svg {
    width: 1.6rem;
    height: 1.6rem;
  }
  main .news_area .news_item {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
  main .news_area .news_item a {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding-top: 0;
    padding-bottom: 0;
  }
  main .news_area .news_date {
    width: auto;
    margin-right: 10px;
  }
  main .news_area .news_title {
    width: 100%;
    margin-top: 0.5rem;
    white-space: normal;
    font-size: 1.4rem;
  }
  main .news_pagination_arrow,
  main .news_pagination_num {
    width: 4rem;
    height: 4rem;
    font-size: 1.2rem;
  }
  main .news_pagination .wp-pagenavi,
  main .works_pagination .wp-pagenavi {
    gap: 0.5rem;
  }
  main .news_pagination .wp-pagenavi a,
  main .news_pagination .wp-pagenavi span,
  main .works_pagination .wp-pagenavi a,
  main .works_pagination .wp-pagenavi span {
    width: 3.5rem;
    height: 3.5rem;
    font-size: 1.2rem;
  }
  main .news_pagination .wp-pagenavi .previouspostslink::before,
  main .news_pagination .wp-pagenavi .nextpostslink::before,
  main .works_pagination .wp-pagenavi .previouspostslink::before,
  main .works_pagination .wp-pagenavi .nextpostslink::before {
    font-size: 2rem;
    font-weight: 500;
  }
  main .news_single_btn {
    gap: 4rem;
  }
  main .about_area .about_bg_img {
    width: 100%;
    right: 0;
  }
  main .about_area .about_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 40px;
  }
  main .about_area .about_inner .about_content {
    padding: 0;
    text-align: center;
    margin-left: 0;
    margin-top: 6rem;
  }
  main .about_area .about_inner .about_content .about_text {
    max-width: 100%;
    text-align: left;
    font-size: 1.4rem;
  }
  main .about_area .about_inner .about_content .about_middle {
    margin-top: 2rem;
  }
  main .about_area .about_inner .about_content .about_middle ul li {
    gap: 1.5rem;
    padding-bottom: 1.5rem;
    margin-top: 1.5rem;
  }
  main .about_area .about_inner .about_content .about_middle ul li .img {
    position: relative;
    top: 0.4rem;
    width: 4.7rem;
  }
  main .about_area .about_inner .about_content .about_middle ul li .img img {
    width: 100%;
  }
  main .about_area .about_inner .about_content .about_middle ul li p {
    font-size: 1.6rem;
    text-align: left;
  }
  main .about_area .about_inner .about_content .about_middle ul li p span {
    padding: 0 0.7rem;
    font-size: 3.4rem;
  }
  main .about_area .about_inner .about_content .about_middle ul li p .ja_span {
    font-size: 1.6rem;
    padding: 0;
    top: 0 !important;
  }
  main .about_area .about_inner .about_content .common_btn {
    margin-left: auto;
    margin-right: auto;
    margin-top: 2rem;
  }
  main .about_area .about_gallery {
    display: block;
    position: relative;
    width: 100%;
    height: 70vw;
    margin: 0 auto;
  }
  main .about_area .about_gallery .about_gallery_col {
    width: 55%;
  }
  main .about_area .about_gallery .about_gallery_col_01 {
    width: 14rem;
    height: 10rem;
    top: -2rem;
    right: 4.4rem;
  }
  main .about_area .about_gallery .about_gallery_col_02 {
    width: 12rem;
    height: 16rem;
    top: 12rem;
    right: 1rem;
  }
  main .about_area .about_gallery .about_gallery_col_03 {
    width: 18.9rem;
    height: 11.7rem;
    top: 23.4rem;
    left: 0rem;
  }
  main .works_service_area {
    padding-bottom: 13rem;
    background-image: url(../img/top/bg_gradation_sp.jpg);
  }
  main .works_service_container {
    padding: 0 5%;
  }
  main .works_service_container .works_service_heading {
    margin-bottom: 2rem;
  }
  main .works_service_leading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    margin-bottom: 40px;
  }
  main .works_service_leading_title {
    font-size: 24px;
  }
  main .works_service_leading_text {
    font-size: 14px;
  }
  main .works_service_leading_text br {
    display: none;
  }
  main .works_service_items {
    margin-left: auto;
    width: 100%;
  }
  main .works_service_items .works_service_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
    min-height: auto;
    padding: 0;
    width: 100%;
  }
  main .works_service_items .works_service_item:not(:last-child) {
    margin-bottom: 60px;
    width: 100%;
  }
  main .works_service_overview {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  main .works_service_overview_pic {
    display: block;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-bottom: 2rem;
    width: 100%;
    aspect-ratio: 75/56;
  }
  main .works_service_overview_pic picture {
    width: 100%;
    height: 100%;
  }
  main .works_service_overview_pic picture img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  main .works_service_overview_pic picture img:last-child {
    width: 100%;
  }
  main .works_service_overview_heading {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 0.6rem;
    padding-bottom: 0;
    margin-left: 2rem;
    margin-right: 2rem;
  }
  main .works_service_overview_heading::before {
    display: none;
  }
  main .works_service_overview_sub {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    font-size: 1rem !important;
    margin-bottom: 1rem !important;
  }
  main .works_service_overview_title {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    font-size: 2.6rem !important;
    margin-bottom: 0 !important;
  }
  main .works_service_overview_title span {
    font-size: 2.6rem !important;
  }
  main .works_service_overview_body {
    margin-left: 2rem;
    margin-right: 2rem;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    margin-top: 0;
  }
  main .works_service_sticky {
    display: none;
  }
  main .works_service_body_title {
    font-size: 2rem;
    margin-bottom: 2rem;
  }
  main .works_service_body_title span {
    font-size: 2rem;
  }
  main .works_service_body_text {
    font-size: 1.4rem !important;
    margin-bottom: 2.4rem !important;
  }
  main .works_service_body_text br {
    display: none;
  }
  main .works_service_button {
    margin-top: 20px;
  }
  main .works_service_button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
  }
  main .works_service_button a {
    margin-left: auto;
    margin-right: auto;
  }
  main .mv {
    height: unset;
  }
  main .mv .mv_slide {
    height: 100vh;
  }
  main .mv .img01 {
    background-image: url(../img/top/mv01_sp.jpg);
  }
  main .mv .img02 {
    background-image: url(../img/top/mv02_sp.jpg);
  }
  main .mv .img03 {
    background-image: url(../img/top/mv03_sp.jpg);
  }
  main .mv .img04 {
    background-image: url(../img/top/mv04_sp.jpg);
  }
  main .mv .img05 {
    background-image: url(../img/top/mv05_sp.jpg);
  }
  main .mv .img06 {
    background-image: url(../img/top/mv06_sp.jpg);
  }
  main .mv .img07 {
    background-image: url(../img/top/mv07_sp.jpg);
  }
  main .mv .img08 {
    background-image: url(../img/top/mv08_sp.jpg);
  }
  main .mv .img09 {
    background-image: url(../img/top/mv09_sp.jpg);
  }
  main .mv .mv_catch_sub {
    top: 72vh;
    top: 72svh;
    left: 5vw;
    font-size: 1rem;
  }
  main .mv .mv_catch_sub.is-hidden {
    opacity: 0;
    pointer-events: none;
  }
  main .mv .mv_blur_overlay.is-blurred {
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    background: rgba(0, 0, 0, 0.5);
  }
  main .message_area {
    padding-bottom: 230px;
    z-index: 2;
    min-height: unset;
    padding-bottom: 12rem;
  }
  main .message_text_inner {
    margin: 5.8rem 2rem 0;
  }
  main .message_desc {
    margin-top: 2.2rem;
  }
  main .parallax_text_content {
    height: 45px;
  }
  main .works_service_area_sub_area .works_service_area_sub_area_inner {
    position: relative;
    z-index: 0;
    top: -8rem;
    gap: 4vw;
  }
  main .works_service_area_sub_area .works_service_area_sub_link {
    width: 100%;
    padding-top: 4.5rem;
    padding-bottom: 4.5rem;
  }
  main .works_service_area_sub_area .works_service_area_sub_link::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    -webkit-transition: -webkit-transform 0.8s ease;
    transition: -webkit-transform 0.8s ease;
    transition: transform 0.8s ease;
    transition: transform 0.8s ease, -webkit-transform 0.8s ease;
    z-index: 0;
  }
  main .works_service_area_sub_area .works_service_area_sub_link:hover {
    opacity: 1;
  }
  main .works_service_area_sub_area .works_service_area_sub_link:hover::before {
    -webkit-transform: scale(1.16);
            transform: scale(1.16);
  }
  main .works_service_area_sub_area .works_service_area_sub_link > * {
    position: relative;
    z-index: 1;
  }
  main .works_service_area_sub_area .works_service_area_sub_link01::before {
    background-image: url(../img/top/service_sub01.jpg);
  }
  main .works_service_area_sub_area .works_service_area_sub_link02::before {
    background-image: url(../img/top/service_sub02.jpg);
  }
  main .works_service_area_sub_area .works_service_sub_content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  main .works_service_area_sub_area .works_service_sub_en {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    font-size: 1rem !important;
    margin-bottom: 0.5rem !important;
  }
  main .works_service_area_sub_area .works_service_overview_title {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin-bottom: 1rem !important;
    font-size: 2rem !important;
  }
  main .works_service_area_sub_area .works_service_overview_title span {
    font-size: 2rem !important;
  }
  main .works_service_area_sub_area .d-inline-flex {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  main .works_service_area_sub_area .works_service_sub_icon {
    width: 3rem;
    height: 3rem;
  }
  main .works_service_area_sub_area .works_service_sub_icon .material-icons {
    font-size: 1.8rem;
  }
  main .company_area .company_main_wrap {
    top: 3rem;
  }
  main .company_area .company_main_wrap .company_main {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-height: 98vh;
    margin: 0 auto;
  }
  main .company_area .company_main_wrap .company_main .company_heading {
    margin-bottom: 2rem;
    margin-top: 0;
  }
  main .company_area .company_content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem;
  }
  main .company_area .company_content .company_content_left .company_image {
    margin: 0;
  }
  main .company_area .company_content .company_content_left .company_heading {
    margin-top: 0px;
  }
  main .company_area .company_content .company_content_left {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    width: 100%;
  }
  main .company_area .company_content .company_content_right {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    width: 100%;
  }
  main .company_area .company_content .company_content_right p {
    font-size: 1.4rem;
  }
  main .company_area .company_content .company_content_right .common_btn {
    width: 29.5rem;
    margin-left: auto;
    margin-right: auto;
  }
  main .work_area {
    padding-top: 6rem;
    padding-bottom: 6rem;
    background-image: url(../img/top/works_bg_sp.jpg);
  }
  main .work_area .work_area_inner {
    width: 95%;
  }
  main .work_area .work_heading_wrap {
    margin-bottom: 2rem;
  }
  main .work_area .work_heading_wrap .work_heading .section_ja_title {
    margin-top: 0;
  }
  main .work_area .work_swiper_wrap {
    padding-right: 0;
  }
  main .work_area .work_swiper_wrap .wrapper_1660 {
    padding-right: 0;
  }
  main .work_area .work_slide_img .work_slide_label {
    font-size: 1rem;
    padding: 0.2rem 1rem;
    bottom: 0.5rem;
    left: 0.5rem;
  }
  main .work_area .work_slide_text {
    margin-top: 0.5rem;
    font-size: 1.4rem;
  }
  main .work_area .work_slide_title {
    font-size: 13px;
  }
  main .work_area .work_bottom {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
    margin-top: 4rem;
  }
  main .work_area .work_nav {
    display: none;
  }
  main .work_area .work_btn_wrap {
    width: 100%;
  }
  main .work_area .work_btn_wrap .common_btn {
    margin-left: 4.6rem;
    margin-right: auto;
    min-width: unset;
  }
  main .recruit_area {
    min-height: unset;
    height: 68rem;
  }
  main .recruit_area .recruit_gallery_sp {
    position: relative;
    height: auto;
  }
  main .recruit_area .recruit_gallery_sp .recruit_gallery_grid {
    aspect-ratio: 3/2;
    grid-template-columns: repeat(3, auto);
    grid-template-rows: repeat(2, auto);
    width: 100%;
    height: auto;
  }
  main .recruit_area .recruit_gallery_sp .recruit_gallery_grid .recruit_gallery_item {
    height: 15.4rem;
    background-size: cover;
  }
  main .recruit_area .recruit_content {
    position: absolute;
    top: 12rem;
    left: 0;
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 40px 20px;
  }
  main .recruit_area .recruit_content .recruit_card {
    max-width: 100%;
    padding: 2rem;
  }
  main .recruit_area .recruit_content .recruit_card .recruit_btn_wrap {
    margin-top: 2rem;
  }
  main .recruit_area .recruit_content .recruit_card .recruit_btn_wrap .common_btn {
    width: 29.5rem;
    margin-left: auto;
    margin-right: auto;
    padding: 1.5rem 2rem 1.5rem 3rem;
  }
  main .recruit_area .recruit_desc {
    font-size: 1.4rem;
  }
  main .contact_form_wrap {
    padding: 2rem 1rem;
  }
  main .contact_form_table tr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 2rem 0;
  }
  main .contact_form_table th {
    width: 100%;
    padding: 0;
    padding-bottom: 1rem;
  }
  main .contact_form_table th p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
    margin: 0;
  }
  main .contact_form_table td {
    width: 100%;
    padding: 0;
  }
  main .contact_form_table td p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0;
  }
  main .contact_input,
  main .contact_textarea {
    padding: 1.2rem 1.5rem;
    font-size: 1.4rem;
  }
  main .contact_privacy {
    margin-top: 4rem;
  }
  main .contact_privacy p {
    font-size: 1.4rem;
  }
  main .contact_privacy label {
    font-size: 1.4rem;
  }
  main .contact_submit {
    margin-top: 4rem;
  }
  main .contact_submit_btn {
    min-width: auto;
    width: 100%;
    padding: 1.5rem 3rem;
    font-size: 1.6rem;
  }
  main .contact_area .contact_area_inner .section_ja_title {
    margin-top: 0;
  }
  main .contact_area .contact_area_inner .contact_content {
    margin-top: 4vw;
    width: 100%;
    background-image: url(../img/top/bg_contact_sp.jpg);
  }
  main .contact_area .contact_area_inner .contact_content .contact_catch {
    font-size: 2rem;
  }
  main .contact_area .contact_area_inner .contact_content .contact_text {
    font-size: 1.4rem;
    margin-top: 2.4rem;
  }
  main .contact_area .contact_area_inner .contact_content .tel_link {
    margin-bottom: 2rem;
    margin-top: 2rem;
  }
  main .contact_area .contact_area_inner .contact_content .tel_link .tel_link_icon {
    margin-right: 1.5rem;
    width: 4rem;
  }
  main .contact_area .contact_area_inner .contact_content .tel_link span {
    font-size: 3rem;
    line-height: 1;
  }
  main .contact_area .contact_area_inner .contact_content .contact_btn {
    width: 33.5rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
  main .contact_area .contact_area_inner .contact_content .contact_btn .contact_btn_icon {
    width: 4rem;
    height: 4rem;
  }
  main .sub_mv {
    margin-top: 22vw;
  }
  main .subcontent {
    margin-top: -12vw;
  }
  main .subcontent_news,
  main .subcontent_policy {
    margin-top: -12vw;
  }
  main .breadcrumb_works_single {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: end;
  }
  main .news_area .news_list_full .news_item {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
  main .news_area .news_list_full .news_item a .news_title {
    margin-top: 1rem;
  }
  main .news_heading_lg {
    padding-left: 2rem;
    margin-top: 4rem;
  }
  main .news_heading_lg::before {
    left: 1rem;
    width: 0.3rem;
  }
  main .news_heading_md {
    padding-bottom: 0.5rem;
    margin-top: 4rem;
  }
  main .news_heading_sm {
    padding-left: 1rem;
    position: relative;
    border-left: none;
    margin-top: 4rem;
  }
  main .news_single_content p {
    font-size: 1.4rem;
    line-height: 1.8;
    margin-bottom: 2.5rem;
  }
  main .news_single_content h2 {
    padding: 1.5rem 2rem 1.5rem 2rem;
    margin-top: 4rem;
    margin-bottom: 2rem;
    font-size: 1.8rem;
  }
  main .news_single_content h2::before {
    left: 1rem;
    width: 0.3rem;
  }
  main .news_single_content h3 {
    margin-top: 4rem;
    margin-bottom: 2.5rem;
    padding-bottom: 0.5rem;
    font-size: 1.6rem;
  }
  main .news_single_content h4 {
    padding-left: 1rem;
    margin-top: 4rem;
    margin-bottom: 2.5rem;
    font-size: 1.6rem;
  }
  main .news_single_content img {
    max-width: 100%;
    margin-bottom: 2.5rem;
  }
  main .news_single_content figure {
    max-width: 100%;
    margin-bottom: 2.5rem;
  }
  main .news_single_content ul,
  main .news_single_content ol {
    margin-bottom: 2.5rem;
  }
  main .news_single_content ul li,
  main .news_single_content ol li {
    font-size: 1.4rem;
    line-height: 1.8;
  }
  main .contact_form_section .tel_link .tel_link_icon {
    width: 3.5rem;
  }
  main .contact_input[type=text] {
    height: 3.5rem;
  }
  main .contact_input::-webkit-input-placeholder {
    font-size: 1.4rem;
  }
  main .contact_input::-moz-placeholder {
    font-size: 1.4rem;
  }
  main .contact_input:-ms-input-placeholder {
    font-size: 1.4rem;
  }
  main .contact_input::-ms-input-placeholder {
    font-size: 1.4rem;
  }
  main .contact_input::placeholder {
    font-size: 1.4rem;
  }
  main .company_greeting {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
  main .company_greeting_inner .company_greeting_img {
    max-width: 100%;
    width: 100%;
    margin-bottom: 0rem;
  }
  main .company_greeting_inner .company_greeting_content {
    max-width: 100%;
  }
  main .company_greeting_inner .company_greeting_content h3 {
    font-size: 2.4rem;
  }
  main .company_greeting_inner .company_greeting_content p {
    font-size: 1.4rem;
  }
  main .company_greeting_inner .company_greeting_content p span {
    font-size: 1.4rem;
  }
  main .company_outline {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
  main .company_outline_table .company_outline_row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0 !important;
  }
  main .company_outline_table .company_outline_th {
    min-width: 100%;
    width: 100%;
    border-right: none;
    padding: 1rem 2rem 0 2rem !important;
    font-size: 1.4rem;
  }
  main .company_outline_table .company_outline_td {
    width: 100%;
    padding: 0rem 2rem 1rem 2rem !important;
    font-size: 1.4rem;
  }
  main .company_history {
    padding-top: 0rem;
    padding-bottom: 6rem;
  }
  main .company_history .company_history_row {
    padding-top: 1rem !important;
    padding-bottom: 1.5rem !important;
    margin-bottom: 0rem !important;
    gap: 0vw;
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: start !important;
  }
  main .company_history .company_history_row_second {
    gap: 0 10vw !important;
  }
  main .company_history .company_history_year {
    min-width: auto !important;
    margin-bottom: 0.5rem;
  }
  main .company_history .company_history_year .f_40 {
    font-size: 2.8rem;
  }
  main .company_history .company_history_content {
    padding-left: 3vw;
  }
  main .company_history .company_history_content .manth_area {
    width: 5rem;
  }
  main .company_history .company_history_content .f_20 {
    font-size: 1.6rem;
  }
  main .company_history .company_history_content .f_18 {
    font-size: 1.4rem;
  }
  main .company_history .company_history_content04 {
    left: 0px;
  }
  main .company_history .company_history_cert {
    width: 100%;
    max-width: 280px;
    height: auto;
  }
  main .company_history .ml_80 {
    margin-left: 0 !important;
  }
  main .company_map_embed iframe {
    height: 300px;
  }
  main .about_hero {
    margin-top: 3rem;
  }
  main .about_hero_bg {
    padding: 10rem 0;
  }
  main .about_img01_area .about_img01 {
    position: relative;
    z-index: 10;
    top: -20px;
    width: 54%;
    min-width: unset;
  }
  main .about_hero_map {
    position: relative;
    right: auto;
    bottom: 0;
    width: 80%;
    margin: 3rem auto 0;
  }
  main .about_features {
    padding-top: 4rem;
    padding-bottom: 4rem;
    margin-top: 6vw;
  }
  main .about_feature_img {
    width: 100%;
  }
  main .about_feature_content {
    width: 100%;
    margin-top: 2rem;
  }
  main .about_feature_row {
    gap: 0;
  }
  main .about_feature_item {
    margin-top: 6rem;
  }
  main .about_feature_icon {
    width: 10rem;
  }
  main .about_feature_text h3 .f_72 {
    font-size: 4.8rem;
  }
  main .about_feature_text h3 .f_24 {
    font-size: 1.8rem;
  }
  main .about_initiative_card {
    width: calc(50% - 20px);
  }
  main .about_initiative_icon {
    width: 10rem;
  }
  main .service_mv {
    width: 100%;
    margin-bottom: 2rem;
  }
  main .service_mv .mv_img img {
    width: 100%;
    max-width: 100%;
  }
  main .service_mv .service_text_area {
    position: relative !important;
    width: 90%;
    margin: -2rem auto 0 auto;
    top: 0;
    -webkit-transform: initial;
            transform: initial;
    right: 0;
  }
  main .service_text_area03 {
    right: 0 !important;
    top: 0 !important;
  }
  main .service_worries {
    padding: 8vw 5vw;
  }
  main .service_worries .service_worries_inner .box {
    width: 100%;
  }
  main .service_worries .service_worries_inner .box_stealth {
    display: none !important;
  }
  main .service_worries .service_worries_inner {
    gap: 40px 0;
    margin-top: 30px;
  }
  main .service_repair.service_repair01 {
    background-size: 100%;
  }
  main .service_repair.service_repair01 .service_repair_row .repair_main01 {
    width: 100%;
    margin-bottom: 20px;
  }
  main .service_repair.service_repair01 .service_repair_row .text_area {
    width: 100%;
  }
  main .service_repair.service_repair01 .fot_img_area {
    gap: 20px 0;
  }
  main .service_repair.service_repair01 .fot_img_area .box {
    width: 48%;
  }
  main .service_repair.service_repair02 .fot_img_area .box {
    width: 48%;
  }
  main .service_repair.service_repair02 .fot_img_area {
    gap: 10px 0;
  }
  main .service_details .service_details_inner .service_details_row {
    gap: 20px 0;
  }
  main .service_details .service_details_inner .service_details_row .box {
    width: 100%;
  }
  main .service_faq .service_faq_inner .service_faq_row .faq_box {
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: start !important;
  }
  main .service_faq .service_faq_inner .service_faq_row .faq_box .main_color {
    font-size: 7.4vw;
  }
  main .service_faq .service_faq_inner .service_faq_row .faq_box .text_a {
    font-size: 7.4vw;
  }
  main .service_flow .service_flow_row {
    display: block !important;
  }
  main .service_flow .service_flow_row .icon_wap {
    width: 25%;
    margin: 0 auto 10px;
  }
  main .service_flow .service_flow_row .icon_wap::after {
    display: none;
  }
  main .service_flow .service_flow_row .text_wap {
    width: 100%;
  }
  main .service_flow .service_flow_row .text_wap .main_color {
    text-align: center;
  }
  main .inspection_table_wrap .inspection_table {
    min-width: unset;
  }
  main .inspection_table_wrap .inspection_table .inspection_table_header_item {
    width: 15rem;
  }
  main .inspection_table_wrap .inspection_table .inspection_table_header {
    width: 12rem;
    padding-left: 6vw;
    padding-right: 6vw;
  }
  main .inspection_table_wrap .inspection_table .inspection_table_cell {
    font-size: 20px;
  }
  main .ashiba_adjust {
    font-size: 4vw;
  }
  /*----------------------------------------------------------------

  footer

  ----------------------------------------------------------------*/
  footer {
    padding-top: 8rem !important;
  }
  footer .footer_inner .footer_upper .footer_upper_left .footer_logo {
    width: 12.9rem;
    margin-left: auto;
    margin-right: auto;
  }
  footer .footer_inner .footer_upper .footer_upper_left .address_area {
    margin-top: 2rem;
    font-size: 1.4rem;
  }
  footer .footer_inner .footer_upper .footer_upper_left .address_area .company_name {
    font-size: 1.4rem;
  }
  footer .footer_inner .footer_upper .footer_upper_right {
    margin-top: 4rem;
    padding: 0 4vw;
  }
  footer .footer_inner .footer_upper .footer_upper_right .footer_upper_right_upper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  footer .footer_inner .footer_upper .footer_upper_right .footer_upper_right_upper nav:nth-child(2) {
    margin-top: 1rem;
  }
  footer .footer_inner .footer_upper .footer_upper_right .footer_upper_right_upper nav:nth-child(3) {
    margin-top: 0rem;
  }
  footer .footer_inner .footer_upper .footer_upper_right .footer_upper_right_upper nav ul li {
    margin-top: 2rem;
  }
  footer .footer_inner .footer_upper .footer_upper_right .footer_upper_right_upper nav ul li:has(.footer_link_child) {
    margin-top: 1rem;
  }
  footer .footer_inner .footer_upper .footer_upper_right .footer_upper_right_upper nav ul li a {
    font-size: 1.4rem;
  }
  footer .footer_inner .footer_upper .footer_upper_right .footer_upper_right_upper nav ul li .footer_link_child {
    font-size: 1.2rem;
    padding-left: 1.4rem;
  }
  footer .footer_inner .footer_upper .footer_upper_right .footer_upper_right_upper nav ul li .footer_link_child::before {
    content: "";
    left: 0.1rem;
  }
  footer .footer_inner .footer_lower {
    margin-top: 6rem;
    gap: 4rem;
    padding-bottom: 4rem;
  }
  footer .footer_inner .footer_lower .footer_img01 {
    width: 33.5rem;
  }
  footer .footer_inner .footer_lower .footer_img02 {
    width: 23rem;
    margin-top: 2rem;
  }
  footer .footer_inner .footer_lower .footer_img_shuzen_link {
    width: 23rem;
  }
  footer .footer_inner .footer_lower .footer_img_shuzen_link img {
    width: 100%;
    max-height: unset;
  }
  footer .footer_inner .copyrightarea {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}
@media screen and (max-width: 430px) {
  main .mv_main_catch {
    top: 66vh !important;
    top: 66svh !important;
  }
}
@media screen and (max-width: 414px) {
  main .mv_main_catch {
    top: 66vh !important;
    top: 66svh !important;
  }
}
@media screen and (max-width: 412px) {
  main .mv_main_catch {
    top: 66vh !important;
    top: 66svh !important;
  }
}
@media screen and (max-width: 390px) {
  main .mv_main_catch {
    top: 66vh !important;
    top: 66svh !important;
  }
}
@media screen and (max-width: 375px) {
  main .mv_main_catch {
    top: 60vh !important;
    top: 60svh !important;
  }
  main .recruit_area .recruit_content {
    top: 11rem;
  }
  .se {
    display: block !important;
  }
  .se_flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
}
@media screen and (max-width: 370px) {
  main .mv_main_catch {
    top: 70vh !important;
    top: 70svh !important;
  }
}