@charset "UTF-8";
@media screen and (max-width: 1600px) {
  /*----------------------------------------------------------------

  header

  ----------------------------------------------------------------*/
  header .header_inner .header_cta {
    width: 18vw;
  }
  header .header_inner .header_cta .section_btn {
    width: 100%;
  }
  header .header_inner .header_cta .section_btn::before {
    content: "";
  }
}
@media screen and (max-width: 1400px) {
  main {
    /*----------------------------------------------------------------

    sub_section

    ----------------------------------------------------------------*/
  }
  main .sub_section .sub_section_item {
    width: 40vw;
  }
  main .sub_section .sub_section_item .section_btn {
    width: 34vw;
    top: -1.6vw;
  }
  main {
    /*----------------------------------------------------------------

    necchusyo_area

    ----------------------------------------------------------------*/
  }
  main .necchusyo_area .necchusyo_area_inner .necchusyo_area_inner_content .necchusyo_list {
    width: 60vw;
  }
  main .necchusyo_area .necchusyo_area_inner .necchusyo_area_inner_content .necchusyo_list li {
    width: 20vw;
  }
  main .necchusyo_area .necchusyo_area_inner .necchusyo_area_inner_content .section_btn {
    width: 34vw;
  }
  main .heatstroke_cont06 {
    margin-top: -14vw;
  }
  /*----------------------------------------------------------------

  footer

  ----------------------------------------------------------------*/
  footer {
    padding-left: 8vw;
    padding-right: 8vw;
  }
  footer .footer_inner .footer_inner_right .footer_inner_right_upper .footer_nav01 {
    width: 21vw;
  }
  footer .footer_inner .footer_inner_right .footer_inner_right_upper .footer_nav02 {
    width: 21vw;
  }
}
@media screen and (max-width: 1200px) {
  /*----------------------------------------------------------------

  header

  ----------------------------------------------------------------*/
  header .header_inner .header_cta {
    width: 22vw;
  }
  header .header_inner .header_cta .section_btn::before {
    content: "";
  }
  main {
    /*----------------------------------------------------------------

    contact_area

    ----------------------------------------------------------------*/
  }
  main .contact_area .contact_area_inner .contact_area_inner_right .contact_area_inner_right_link {
    width: 40vw;
  }
  main {
    /*----------------------------------------------------------------

    heatstroke

    ----------------------------------------------------------------*/
  }
  main .heatstroke_cont .heatstroke_cont_inner .heatstroke_cont_flex .heatstroke_cont_flex_item {
    width: 45vw;
  }
  main .heatstroke_cont06 .heatstroke_cont06_inner .heatstroke_cont06_lead .heatstroke_cont06_slash {
    display: none;
  }
  main .heatstroke_cont06 .heatstroke_cont06_inner .heatstroke_cont06_pills .heatstroke_cont06_pill {
    width: calc((100% - 4vw) / 3);
  }
  main .heatstroke_cont06 .heatstroke_cont06_inner .heatstroke_cont06_grid {
    grid-template-columns: repeat(2, 40vw);
  }
  main .heatstroke_cont06 .heatstroke_cont06_inner .heatstroke_cont06_grid .heatstroke_cont06_card .heatstroke_cont06_card_main .heatstroke_cont06_card_icon {
    flex-shrink: 0;
    width: 4.27vw;
    min-width: 50px;
    height: auto;
  }
  main .heatstroke_cont06 .heatstroke_cont06_inner .heatstroke_cont06_grid .heatstroke_cont06_card .heatstroke_cont06_card_main .heatstroke_cont06_card_icon02 {
    width: 3.85vw;
  }
  main .heatstroke_cont06 .heatstroke_cont06_inner .heatstroke_cont06_grid .heatstroke_cont06_card .heatstroke_cont06_card_main .heatstroke_cont06_card_icon03 {
    width: 3.85vw;
  }
  main .heatstroke_cont06 .heatstroke_cont06_inner .heatstroke_cont06_grid .heatstroke_cont06_card .heatstroke_cont06_card_main .heatstroke_cont06_card_icon04 {
    width: 3.85vw;
  }
  main .heatstroke_cont06 .heatstroke_cont06_inner .heatstroke_cont06_grid .heatstroke_cont06_card .heatstroke_cont06_card_note {
    border-top: 1px solid #B8CEF7;
  }
  main {
    /* CTAボタン */
  }
  main .lu_cta .lu_cta_btn02 {
    width: 36vw;
  }
  /*----------------------------------------------------------------

  footer

  ----------------------------------------------------------------*/
  footer {
    padding-left: 6vw;
    padding-right: 6vw;
  }
  footer .footer_inner .footer_inner_right .footer_inner_right_upper .footer_nav02 {
    width: 25vw;
  }
  footer .footer_inner .footer_inner_right .footer_inner_right_upper_ban .footer_ban_arrow {
    width: 4vw;
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: 2.564vw;
  }
  /*----------------------------------------------------------------
  solutions（おすすめ導入場所） SP
  ----------------------------------------------------------------*/
  main .sol_places_wrapper {
    width: 95%;
  }
  main .sol_cool {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
  main .sol_lead .sol_lead_text {
    width: 100%;
  }
  main .sol_w1234, main .sol_w1278, main .sol_w1280, main .sol_w1383, main .sol_w1390, main .sol_w1400,
  main .sol_w1421, main .sol_w1440, main .sol_w1597 {
    width: 90%;
    max-width: 90%;
  }
  main .sol_card--pori,
  main .sol_card--patent {
    padding: 6vw 0vw;
  }
  main .sol_card--patent {
    padding: 6vw 3vw;
  }
  main .sol_pori_head {
    gap: 1rem;
  }
  main .sol_pori_item {
    gap: 1rem;
  }
  main .sol_pori_row {
    grid-template-columns: 1fr;
    border-bottom: none !important;
  }
  main .sol_patent_row:not(:last-child) {
    border-bottom: none !important;
  }
  main .sol_intro_icon {
    width: 22vw;
    max-width: 142px;
  }
  main .sol_place_text,
  main .sol_place_img,
  main .sol_patent_left,
  main .sol_patent_right,
  main .sol_others_card,
  main .sol_window_card,
  main .sol_movie_thumb,
  main .sol_movie_frame,
  main .sol_movie_points,
  main .sol_case_card,
  main .sol_western_imgs img,
  main .sol_fit_imgs img,
  main .sol_pori_imgs img,
  main .sol_thermal img {
    width: 100%;
    max-width: 100%;
  }
  main .sol_western_imgs img {
    width: 33.3333333333%;
    height: auto;
  }
  main .sol_movie_frame iframe {
    width: 100%;
    height: 20rem;
  }
  main .sol_fit_imgs {
    width: 100%;
  }
  main .sol_fit_imgs .sol_fit_arrow {
    width: 4rem;
  }
  main .sol_fit_imgs .sol_fit_ph {
    width: 100%;
  }
  main .sol_others .sol_others_inner .others_bg {
    width: 12rem;
  }
  main .sol_others .sol_others_inner .sol_others_grid {
    gap: 3rem;
  }
  main .sol_pori_imgs img {
    width: 50%;
  }
  main .sol_window_grid {
    gap: 3rem;
  }
  main .sol_place_num {
    width: 9vw;
    max-width: 46px;
  }
  main {
    /* 表：横スクロールで閲覧 */
  }
  main .sol_table {
    overflow-x: auto;
  }
  main .sol_table--roof .sol_table_row {
    min-width: 600px;
  }
  main .sol_table--wall .sol_table_row {
    min-width: 500px;
  }
  main .sol_table_cell {
    padding: 3vw 2vw;
  }
  main .sol_more {
    font-size: 2.8vw;
  }
  main .sol_circle {
    font-size: 5vw;
  }
  main .sol_tab {
    width: 100%;
    max-width: 100%;
  }
  main .sol_method_bar {
    padding: 5vw 4vw;
  }
  main .merit_ex_img {
    width: 10rem;
  }
  main .sol_merit_grid,
  main .sol_pori_grid,
  main .sol_merit2_grid {
    grid-template-columns: 1fr;
    -moz-column-gap: 0;
         column-gap: 0;
    row-gap: 3rem;
    border-bottom: unset;
  }
  main .sol_pori_row {
    row-gap: 6vw;
    border-bottom: none !important;
  }
  main .sol_pori_bar {
    height: 8vw;
    min-height: 0;
    width: 1.6vw;
    min-width: 0;
  }
  main .sol_fit_arrow {
    width: 9vw;
    max-width: 9vw;
    transform: rotate(90deg);
    margin: 1vw auto;
  }
  main .sol_case_photo {
    width: 45vw;
    max-width: 284px;
  }
  main .sol_western {
    padding-top: 3rem;
  }
  main .sun_img {
    width: 6rem;
  }
  main .sol_lead--left {
    width: 100%;
  }
  main .sol_western_label {
    height: 6vw;
    max-height: 54px;
  }
  main .sol_cool_btn {
    width: 100%;
    margin-top: 4rem;
    font-size: 4vw;
  }
  main .sol_merit2_card {
    margin-top: 9vw;
    padding: 3rem 1rem 3rem;
  }
  main .sol_merit2_icon {
    height: 4rem;
    margin-top: -1rem;
  }
  /*----------------------------------------------------------------

  フォントサイズ

  ----------------------------------------------------------------*/
  .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;
  }
  .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;
  }
  .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;
  }
  .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;
  }
  .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;
  }
  .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;
  }
  .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;
  }
  .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;
  }
  .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;
  }
  .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;
  }
  .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;
  }
  .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;
  }
  .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;
  }
  .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;
  }
  .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;
  }
  .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;
  }
  .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;
  }
  .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;
  }
  .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;
  }
  .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;
  }
  .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;
  }
  .mt210 {
    margin-top: 21vw;
  }
  .mb210 {
    margin-bottom: 21vw;
  }
  .ml210 {
    margin-left: 21vw;
  }
  .mr210 {
    margin-right: 21vw;
  }
  .my210 {
    margin-top: 21vw;
    margin-bottom: 21vw;
  }
  .mx210 {
    margin-left: 21vw;
    margin-right: 21vw;
  }
  .mt220 {
    margin-top: 22vw;
  }
  .mb220 {
    margin-bottom: 22vw;
  }
  .ml220 {
    margin-left: 22vw;
  }
  .mr220 {
    margin-right: 22vw;
  }
  .my220 {
    margin-top: 22vw;
    margin-bottom: 22vw;
  }
  .mx220 {
    margin-left: 22vw;
    margin-right: 22vw;
  }
  .mt230 {
    margin-top: 23vw;
  }
  .mb230 {
    margin-bottom: 23vw;
  }
  .ml230 {
    margin-left: 23vw;
  }
  .mr230 {
    margin-right: 23vw;
  }
  .my230 {
    margin-top: 23vw;
    margin-bottom: 23vw;
  }
  .mx230 {
    margin-left: 23vw;
    margin-right: 23vw;
  }
  .mt240 {
    margin-top: 24vw;
  }
  .mb240 {
    margin-bottom: 24vw;
  }
  .ml240 {
    margin-left: 24vw;
  }
  .mr240 {
    margin-right: 24vw;
  }
  .my240 {
    margin-top: 24vw;
    margin-bottom: 24vw;
  }
  .mx240 {
    margin-left: 24vw;
    margin-right: 24vw;
  }
  .mt250 {
    margin-top: 25vw;
  }
  .mb250 {
    margin-bottom: 25vw;
  }
  .ml250 {
    margin-left: 25vw;
  }
  .mr250 {
    margin-right: 25vw;
  }
  .my250 {
    margin-top: 25vw;
    margin-bottom: 25vw;
  }
  .mx250 {
    margin-left: 25vw;
    margin-right: 25vw;
  }
  .mt260 {
    margin-top: 26vw;
  }
  .mb260 {
    margin-bottom: 26vw;
  }
  .ml260 {
    margin-left: 26vw;
  }
  .mr260 {
    margin-right: 26vw;
  }
  .my260 {
    margin-top: 26vw;
    margin-bottom: 26vw;
  }
  .mx260 {
    margin-left: 26vw;
    margin-right: 26vw;
  }
  .mt270 {
    margin-top: 27vw;
  }
  .mb270 {
    margin-bottom: 27vw;
  }
  .ml270 {
    margin-left: 27vw;
  }
  .mr270 {
    margin-right: 27vw;
  }
  .my270 {
    margin-top: 27vw;
    margin-bottom: 27vw;
  }
  .mx270 {
    margin-left: 27vw;
    margin-right: 27vw;
  }
  .mt280 {
    margin-top: 28vw;
  }
  .mb280 {
    margin-bottom: 28vw;
  }
  .ml280 {
    margin-left: 28vw;
  }
  .mr280 {
    margin-right: 28vw;
  }
  .my280 {
    margin-top: 28vw;
    margin-bottom: 28vw;
  }
  .mx280 {
    margin-left: 28vw;
    margin-right: 28vw;
  }
  .mt290 {
    margin-top: 29vw;
  }
  .mb290 {
    margin-bottom: 29vw;
  }
  .ml290 {
    margin-left: 29vw;
  }
  .mr290 {
    margin-right: 29vw;
  }
  .my290 {
    margin-top: 29vw;
    margin-bottom: 29vw;
  }
  .mx290 {
    margin-left: 29vw;
    margin-right: 29vw;
  }
  .mt300 {
    margin-top: 30vw;
  }
  .mb300 {
    margin-bottom: 30vw;
  }
  .ml300 {
    margin-left: 30vw;
  }
  .mr300 {
    margin-right: 30vw;
  }
  .my300 {
    margin-top: 30vw;
    margin-bottom: 30vw;
  }
  .mx300 {
    margin-left: 30vw;
    margin-right: 30vw;
  }
  .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;
  }
  .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;
  }
  .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;
  }
  .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;
  }
  .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;
  }
  .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;
  }
  .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;
  }
  .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;
  }
  .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;
  }
  .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;
  }
  .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;
  }
  .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;
  }
  .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;
  }
  .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;
  }
  .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;
  }
  .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;
  }
  .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;
  }
  .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;
  }
  .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;
  }
  .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;
  }
  .pt210 {
    padding-top: 21vw;
  }
  .pb210 {
    padding-bottom: 21vw;
  }
  .pl210 {
    padding-left: 21vw;
  }
  .pr210 {
    padding-right: 21vw;
  }
  .py210 {
    padding-top: 21vw;
    padding-bottom: 21vw;
  }
  .px210 {
    padding-left: 21vw;
    padding-right: 21vw;
  }
  .pt220 {
    padding-top: 22vw;
  }
  .pb220 {
    padding-bottom: 22vw;
  }
  .pl220 {
    padding-left: 22vw;
  }
  .pr220 {
    padding-right: 22vw;
  }
  .py220 {
    padding-top: 22vw;
    padding-bottom: 22vw;
  }
  .px220 {
    padding-left: 22vw;
    padding-right: 22vw;
  }
  .pt230 {
    padding-top: 23vw;
  }
  .pb230 {
    padding-bottom: 23vw;
  }
  .pl230 {
    padding-left: 23vw;
  }
  .pr230 {
    padding-right: 23vw;
  }
  .py230 {
    padding-top: 23vw;
    padding-bottom: 23vw;
  }
  .px230 {
    padding-left: 23vw;
    padding-right: 23vw;
  }
  .pt240 {
    padding-top: 24vw;
  }
  .pb240 {
    padding-bottom: 24vw;
  }
  .pl240 {
    padding-left: 24vw;
  }
  .pr240 {
    padding-right: 24vw;
  }
  .py240 {
    padding-top: 24vw;
    padding-bottom: 24vw;
  }
  .px240 {
    padding-left: 24vw;
    padding-right: 24vw;
  }
  .pt250 {
    padding-top: 25vw;
  }
  .pb250 {
    padding-bottom: 25vw;
  }
  .pl250 {
    padding-left: 25vw;
  }
  .pr250 {
    padding-right: 25vw;
  }
  .py250 {
    padding-top: 25vw;
    padding-bottom: 25vw;
  }
  .px250 {
    padding-left: 25vw;
    padding-right: 25vw;
  }
  .pt260 {
    padding-top: 26vw;
  }
  .pb260 {
    padding-bottom: 26vw;
  }
  .pl260 {
    padding-left: 26vw;
  }
  .pr260 {
    padding-right: 26vw;
  }
  .py260 {
    padding-top: 26vw;
    padding-bottom: 26vw;
  }
  .px260 {
    padding-left: 26vw;
    padding-right: 26vw;
  }
  .pt270 {
    padding-top: 27vw;
  }
  .pb270 {
    padding-bottom: 27vw;
  }
  .pl270 {
    padding-left: 27vw;
  }
  .pr270 {
    padding-right: 27vw;
  }
  .py270 {
    padding-top: 27vw;
    padding-bottom: 27vw;
  }
  .px270 {
    padding-left: 27vw;
    padding-right: 27vw;
  }
  .pt280 {
    padding-top: 28vw;
  }
  .pb280 {
    padding-bottom: 28vw;
  }
  .pl280 {
    padding-left: 28vw;
  }
  .pr280 {
    padding-right: 28vw;
  }
  .py280 {
    padding-top: 28vw;
    padding-bottom: 28vw;
  }
  .px280 {
    padding-left: 28vw;
    padding-right: 28vw;
  }
  .pt290 {
    padding-top: 29vw;
  }
  .pb290 {
    padding-bottom: 29vw;
  }
  .pl290 {
    padding-left: 29vw;
  }
  .pr290 {
    padding-right: 29vw;
  }
  .py290 {
    padding-top: 29vw;
    padding-bottom: 29vw;
  }
  .px290 {
    padding-left: 29vw;
    padding-right: 29vw;
  }
  .pt300 {
    padding-top: 30vw;
  }
  .pb300 {
    padding-bottom: 30vw;
  }
  .pl300 {
    padding-left: 30vw;
  }
  .pr300 {
    padding-right: 30vw;
  }
  .py300 {
    padding-top: 30vw;
    padding-bottom: 30vw;
  }
  .px300 {
    padding-left: 30vw;
    padding-right: 30vw;
  }
  .sp {
    display: block !important;
  }
  .pc {
    display: none !important;
  }
  .sp-flex {
    display: flex !important;
  }
  .pc-flex {
    display: none !important;
  }
  ::-moz-placeholder {
    font-size: 3.6vw;
    letter-spacing: 0.12em;
    color: #cccccc;
  }
  ::placeholder {
    font-size: 3.6vw;
    letter-spacing: 0.12em;
    color: #cccccc;
  }
  .wrap_btn {
    right: 1rem;
    bottom: 14rem;
    width: 40px;
    height: 40px;
  }
  .wrap_btn_img {
    width: 2rem;
    height: auto;
  }
  .wrap_btn_img img {
    width: 3.4rem;
  }
  .wrap_btn_img:hover {
    opacity: 1;
  }
  .wrap_btn p {
    font-size: 12px;
  }
  .section_btn {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .pl2rem {
    padding-left: 2rem;
  }
  .hamburger .hamburger_contents {
    position: relative;
    z-index: 1001;
    padding-left: 1.8rem;
  }
  .hamburger .hamburger_contents .header_logo p {
    letter-spacing: 0;
  }
  .hamburger .hamburger_contents .header_logo img {
    display: block;
    width: 16.5rem;
  }
  .hamburger .hamburger_contents .sp_logo {
    position: fixed;
    top: 0;
    left: 0;
    height: 60px;
    width: 100%;
    z-index: 1002;
    padding-left: 0px;
    transition: all 0.4s;
    background: #ffffff;
    display: flex;
    justify-content: start;
    align-items: center;
  }
  .hamburger .hamburger_contents .sp_logo a {
    padding-left: 10px;
    max-width: 200px;
    width: 45%;
  }
  .hamburger .hamburger_contents .sp_logo a img {
    width: 100%;
    height: auto;
  }
  .hamburger .hamburger_contents .contact_btn {
    z-index: 1003;
    position: fixed;
    top: 0;
    right: 60px;
    width: 90px;
    height: 60px;
    background-color: #000000;
  }
  .hamburger .hamburger_contents .menu_trigger {
    z-index: 1003;
    position: fixed;
    top: 0px;
    right: 0px;
    width: 60px;
    height: 60px;
    padding: 20px 16px;
    background-color: #115AE2;
    border-radius: 0 0 0 10px;
  }
  .hamburger .hamburger_contents .menu_trigger p {
    color: #ffffff;
    position: absolute;
    bottom: 2vw;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
  }
  .hamburger .hamburger_contents .menu_trigger span {
    z-index: 1003;
    display: inline-block;
    box-sizing: border-box;
    position: absolute;
    left: 16px;
    width: 28px;
    height: 2px;
    background-color: #ffffff;
    transition: all 0.4s ease;
  }
  .hamburger .hamburger_contents .menu_trigger span:nth-of-type(1) {
    top: 12px;
  }
  .hamburger .hamburger_contents .menu_trigger span:nth-of-type(2) {
    top: 20px;
  }
  .hamburger .hamburger_contents .menu_trigger span:nth-of-type(3) {
    bottom: 30px;
  }
  .hamburger .hamburger_contents .menu_trigger.active span:nth-of-type(1) {
    transform: rotate(-45deg);
    margin-top: 9px;
  }
  .hamburger .hamburger_contents .menu_trigger.active span:nth-of-type(2) {
    opacity: 0;
  }
  .hamburger .hamburger_contents .menu_trigger.active span:nth-of-type(3) {
    transform: rotate(45deg);
    margin-bottom: 6px;
  }
  .hamburger .hamburger_contents nav {
    position: absolute;
    background-image: url(../img/top/ham_bg.jpg);
    width: 100%;
    height: 100%;
    position: fixed;
    bottom: 0%;
    transform: translateY(-150%);
    transition: 0.5s ease-in-out;
    padding: 60px 0px 30px;
    overflow: auto;
    z-index: 1000;
    left: 0;
  }
  .hamburger .hamburger_contents nav.open {
    transform: translateY(0);
    z-index: -1;
    transition: 0.5s ease-in-out;
  }
  .hamburger .hamburger_contents nav .nav_inner {
    width: 90%;
    margin: auto;
    padding-top: 40px;
  }
  .hamburger .hamburger_contents nav .nav_inner .sp_menu_list {
    margin-bottom: 10px;
  }
  .hamburger .hamburger_contents nav .nav_inner .sp_menu_list a {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 55px;
    margin-bottom: 6px;
    position: relative;
  }
  .hamburger .hamburger_contents nav .nav_inner .sp_menu_list .sp_menu_list_item {
    width: 100%;
  }
  .hamburger .hamburger_contents nav .nav_inner .sp_menu_list .sp_menu_list_item span {
    position: absolute;
    right: 0px;
  }
  .hamburger .hamburger_contents nav .nav_inner .footer_inner_right_upper_ban {
    margin-top: 2rem;
    padding-left: 0;
    padding-right: 0;
    background-image: url(../img/top/mv_ban_sp.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    width: 100%;
    height: 10.8rem;
    position: relative;
    z-index: 0;
    justify-content: center;
    padding-top: 2.6rem;
    padding-left: 2rem;
  }
  .hamburger .hamburger_contents nav .nav_inner .footer_inner_right_upper_ban .footer_ban_house {
    width: 11.14vw;
    height: auto;
    position: absolute;
    top: -2rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
    width: 6rem;
    height: auto;
  }
  .hamburger .hamburger_contents nav .nav_inner .footer_inner_right_upper_ban .footer_ban_text .footer_ban_text_upper {
    transform: skew(-10deg);
    font-size: 1.8rem;
  }
  .hamburger .hamburger_contents nav .nav_inner .footer_inner_right_upper_ban .footer_ban_text .footer_ban_text_upper .f_54 {
    font-size: 2.4rem;
  }
  .hamburger .hamburger_contents nav .nav_inner .footer_inner_right_upper_ban .footer_ban_text .footer_ban_text_lower {
    font-size: 1.6rem;
  }
  .hamburger .hamburger_contents nav .nav_inner .footer_inner_right_upper_ban .footer_ban_arrow {
    width: 7vw;
    transition: 0.4s;
  }
  .hamburger .hamburger_contents nav .nav_inner .contact_area_inner_right .contact_area_inner_right_link {
    padding-left: 1rem;
    width: 100%;
    height: 7rem;
    margin-bottom: 0.4rem;
    border-left: 0.4rem solid #FF6031;
    border-right: 1px solid #B8CEF7;
    border-bottom: 1px solid #B8CEF7;
    border-top: 1px solid #B8CEF7;
  }
  .sp_header_cta {
    display: block;
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0rem;
    z-index: 1001;
    background-color: #fff;
    border: 5px solid #F0F9FF;
    width: 100%;
    padding-top: 1.8rem;
    padding-bottom: 1.3rem;
  }
  .sp_header_cta .d-flex {
    gap: 0.5rem;
  }
  .sp_header_cta .section_btn {
    margin-top: 1rem;
    width: 17.5rem;
    min-width: unset;
    border-radius: 5px;
    max-width: 100%;
    height: 4.4rem;
  }
  .sp_header_cta .section_btn::before {
    content: "";
    border-radius: 5px;
  }
  .sp_header_cta .section_btn .material-icons {
    right: 0px;
  }
  main {
    /*----------------------------------------------------------------

    mv

    ----------------------------------------------------------------*/
  }
  main .mv {
    background-image: url(../img/top/mv_bg_sp.jpg);
    padding-left: 0rem;
    padding-right: 0rem;
  }
  main .mv .mv_inner .mv_upper .mv_catch {
    margin-left: 2rem;
    padding-left: 1.2rem;
    transform: skew(-4deg);
    font-size: 2.4rem;
    width: -moz-fit-content;
    width: fit-content;
  }
  main .mv .mv_inner .mv_upper .mv_catch .blue {
    font-size: 4.8rem;
  }
  main .mv .mv_inner .mv_upper .mv_catch .orange {
    font-size: 4.8rem;
  }
  main .mv .mv_inner .mv_upper .mv_catch .f_70 {
    font-size: 3.8rem;
  }
  main .mv .mv_inner .mv_upper .sub_catch {
    display: none;
  }
  main .mv .mv_inner .mv_upper .mv_list {
    margin-top: 17.4rem;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
  }
  main .mv .mv_inner .mv_upper .mv_list .mv_item {
    background-color: #fff;
    width: 17.3rem;
    height: 10rem;
    padding-top: 1rem;
    padding-bottom: 0.6rem;
    box-shadow: 2.53px 3.67px 2.53px 0 rgba(95, 166, 246, 0.66);
  }
  main .mv .mv_inner .mv_upper .mv_list .mv_item .mv_title_label {
    margin-left: auto;
    margin-right: auto;
    width: 13.8rem;
  }
  main .mv .mv_inner .mv_upper .mv_list .mv_item .mv_item_flex {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  main .mv .mv_inner .mv_upper .mv_list .mv_item .mv_item_flex img {
    width: 4rem;
    height: auto;
  }
  main .mv .mv_inner .mv_upper .mv_list .mv_item .mv_item_flex .mv_item_flex_right .number {
    line-height: 1.2;
    font-size: 4.8rem;
  }
  main .mv .mv_inner .mv_upper .mv_list .mv_item .mv_item_flex .mv_item_flex_right .right {
    margin-bottom: 0.3rem;
  }
  main .mv .mv_inner .mv_upper .mv_list .mv_item .mv_item_flex .mv_item_flex_right .right .cut {
    line-height: 100%;
  }
  main .mv .mv_inner .mv_upper .mv_list .mv_item .mv_item_flex .mv_item_flex_right .right03 {
    margin-bottom: 1.3rem;
  }
  main .mv .mv_inner .mv_lower {
    margin-top: 4rem;
  }
  main .mv .mv_inner .mv_lower .footer_inner_right_upper_ban {
    padding-left: 0;
    padding-right: 0;
    background-image: url(../img/top/mv_ban_sp.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    width: 100%;
    height: 10.8rem;
    position: relative;
    z-index: 0;
    justify-content: center;
    padding-top: 2.6rem;
    padding-left: 3rem;
  }
  main .mv .mv_inner .mv_lower .footer_inner_right_upper_ban .footer_ban_house {
    width: 11.14vw;
    height: auto;
    position: absolute;
    top: -2rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
    width: 6rem;
    height: auto;
  }
  main .mv .mv_inner .mv_lower .footer_inner_right_upper_ban .footer_ban_text .footer_ban_text_upper {
    transform: skew(-10deg);
    font-size: 1.8rem;
  }
  main .mv .mv_inner .mv_lower .footer_inner_right_upper_ban .footer_ban_text .footer_ban_text_upper .f_54 {
    font-size: 2.4rem;
  }
  main .mv .mv_inner .mv_lower .footer_inner_right_upper_ban .footer_ban_text .footer_ban_text_lower {
    font-size: 1.6rem;
  }
  main .mv .mv_inner .mv_lower .footer_inner_right_upper_ban .footer_ban_arrow {
    width: 11.875vw;
    transition: 0.4s;
  }
  main .mv .mv_inner .mv_small {
    text-align: center;
  }
  main .mv .mv_img {
    position: absolute;
    width: 39rem;
    height: auto;
    top: 20rem;
    right: unset;
    left: 47%;
    transform: translateX(-50%);
    z-index: -1;
  }
  main {
    /*----------------------------------------------------------------

    solution_area

    ----------------------------------------------------------------*/
  }
  main .solution_area .solution_area_inner .solution_catch_area .solution_catch_area_lower {
    gap: 0;
  }
  main .solution_area .solution_area_inner .solution_catch_area .solution_catch_area_lower img {
    width: 5.4rem;
  }
  main .solution_area .solution_area_inner .solution_catch_area .solution_catch_area_lower p {
    text-align: center;
    line-height: 0.6;
    margin-top: 1rem;
    width: -moz-fit-content;
    width: fit-content;
  }
  main .solution_area .solution_area_inner .solution_catch_area .solution_catch_area_lower p span.blue {
    margin-right: 0px;
    line-height: 1;
    font-size: 3.4rem;
  }
  main .solution_area .solution_area_inner .solution_catch_area .solution_catch_area_lower p span.orange {
    font-size: 3.4rem;
    line-height: 1.2;
  }
  main .solution_area .solution_area_inner .solution_catch_sub {
    margin-top: 2rem;
  }
  main .solution_area .solution_area_inner .solution_catch_sub .line {
    display: none;
  }
  main .solution_area .solution_area_inner .solution_catch_sub p {
    line-height: 1.4;
  }
  main .solution_area .solution_area_inner .solution_area_imgarea img {
    margin-left: auto;
    margin-right: auto;
    width: 32.5rem;
  }
  main .solution_area .solution_area_inner .problem_area {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 8rem;
  }
  main .solution_area .solution_area_inner .problem_area .problem_area_inner {
    background-image: url(../img/top/problem_bg_sp.png);
  }
  main .solution_area .solution_area_inner .problem_area .problem_area_inner .text {
    font-size: 2.4rem;
    top: -2.4rem;
  }
  main .solution_area .solution_area_inner .problem_area .problem_area_inner .problem_area_list {
    gap: 1rem;
  }
  main .solution_area .solution_area_inner .problem_area .problem_area_inner .problem_area_list .problem_area_list_item {
    width: 25.6rem;
    margin-left: auto;
    margin-right: auto;
  }
  main .solution_area .solution_area_inner .problem_area .problem_area_inner .problem_area_list .problem_area_list_item .catch {
    border-radius: 5px 5px 0 0;
  }
  main .solution_area .solution_area_inner .problem_area .problem_area_inner .problem_area_list .problem_area_list_item .problem_area_list_item_lower {
    padding-top: 1.4rem;
    align-items: center;
    gap: 1rem;
  }
  main .solution_area .solution_area_inner .problem_area .problem_area_inner .problem_area_list .problem_area_list_item .problem_area_list_item_lower img {
    width: 5.6rem;
  }
  main .solution_area .solution_area_inner .problem_area .problem_area_inner .big {
    margin: 2rem 0;
    font-size: 2.2rem;
    line-height: 1;
  }
  main .solution_area .solution_area_inner .problem_area .problem_area_inner .big span {
    font-size: 3.4rem;
  }
  main .solution_area .solution_area_inner .problem_area .problem_area_arrow {
    width: 24rem;
  }
  main .solution_area .solution_area_inner .saamo_area {
    margin-top: 1rem;
  }
  main .solution_area .solution_area_inner .saamo_area .saamo_area_inner {
    width: 100%;
  }
  main .solution_area .solution_area_inner .saamo_area .saamo_area_inner .saamo_area_inner_upper {
    margin-left: 0;
  }
  main .solution_area .solution_area_inner .saamo_area .saamo_area_inner .saamo_area_inner_upper .saamo_area_inner_upper_left img {
    width: 11.6rem;
  }
  main .solution_area .solution_area_inner .saamo_area .saamo_area_inner .saamo_area_inner_upper .saamo_area_inner_upper_right {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  main .solution_area .solution_area_inner .saamo_area .saamo_area_inner .saamo_area_inner_upper .saamo_area_inner_upper_right .saamo_img {
    width: 12rem;
    margin-left: 0;
    transform: skew(-4deg);
  }
  main .solution_area .solution_area_inner .saamo_area .saamo_area_inner .saamo_area_inner_upper .saamo_area_inner_upper_right .catch {
    transform: skew(-4deg);
    text-align: center;
  }
  main .solution_area .solution_area_inner .saamo_area .saamo_area_inner .saamo_area_inner_upper .saamo_area_inner_upper_right .catch .blue {
    margin-right: 0;
    font-size: 3.9rem;
  }
  main .solution_area .solution_area_inner .saamo_area .saamo_area_inner .saamo_area_inner_upper .saamo_area_inner_upper_right .sub {
    transform: skew(-4deg);
  }
  main .solution_area .solution_area_inner .saamo_area .saamo_area_inner .saamo_area_inner_upper .sub {
    transform: skew(-4deg);
    line-height: 1;
  }
  main .solution_area .solution_area_inner .saamo_area .saamo_area_inner .saamo_area_inner_lower {
    margin-top: 2rem;
    gap: 1rem;
    flex-direction: column;
  }
  main .solution_area .solution_area_inner .saamo_area .saamo_area_inner .saamo_area_inner_lower img {
    width: 100%;
  }
  main .solution_area .solution_area_inner .saamo_area .saamo_area_inner .section_btn {
    width: 50vw;
  }
  main {
    /*----------------------------------------------------------------

    effect_area

    ----------------------------------------------------------------*/
  }
  main .effect_area {
    background-image: url(../img/top/effect_bg_sp.png);
  }
  main .effect_area .effect_area_inner {
    width: 90%;
  }
  main .effect_area .effect_area_inner .title_area {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  main .effect_area .effect_area_inner .title_area img {
    width: 23rem;
    margin-bottom: -0.6rem;
  }
  main .effect_area .effect_area_inner .title_area h2 {
    padding-top: 3rem;
    width: 32.5rem;
    height: 11rem;
    background-image: url(../img/top/effect_title_bg_sp.svg);
  }
  main .effect_area .effect_area_inner .catch {
    margin-top: 2rem;
  }
  main .effect_area .effect_area_inner .sub .orange {
    margin-right: -0.4rem;
  }
  main .effect_area .effect_area_inner .effect_list {
    gap: 2rem;
  }
  main .effect_area .effect_area_inner .effect_list .effect_item {
    margin-left: auto;
    margin-right: auto;
    width: 90%;
    padding-bottom: 1rem;
  }
  main .effect_area .effect_area_inner .effect_list .effect_item h3 {
    padding-top: 1rem;
    padding-bottom: 1rem;
    border-radius: 5px 5px 0 0;
  }
  main .effect_area .effect_area_inner .effect_list .effect_item .img {
    width: 90%;
  }
  main .effect_area .effect_area_inner .effect_list .effect_item .lower .description {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
  main .effect_area .effect_area_inner .effect_list .effect_item .lower .d-flex {
    gap: 1rem;
  }
  main .effect_area .effect_area_inner .effect_list .effect_item .lower .d-flex img {
    width: 2rem;
    margin-top: 0.1rem;
  }
  main .effect_area .effect_area_inner .effect_lower {
    margin-top: 4rem;
  }
  main .effect_area .effect_area_inner .effect_lower .effect_lower_titlearea .line {
    height: 4rem;
  }
  main .effect_area .effect_area_inner .effect_lower .effect_lower_titlearea .effect_lower_catch .effect_lower_catch_upper {
    text-align: center;
  }
  main .effect_area .effect_area_inner .effect_lower .effect_lower_titlearea .effect_lower_catch .effect_lower_catch_lower {
    text-align: center;
  }
  main .effect_area .effect_area_inner .effect_lower .effect_lower_titlearea .effect_lower_catch .effect_lower_flex {
    margin-top: 1rem;
    gap: 2rem;
  }
  main .effect_area .effect_area_inner .effect_lower .effect_lower_titlearea .effect_lower_catch .effect_lower_flex .effect_lower_item {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    padding-top: 1rem;
    padding-bottom: 2rem;
  }
  main .effect_area .effect_area_inner .effect_lower .effect_lower_titlearea .effect_lower_catch .effect_lower_flex .effect_lower_item picture img {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  main .effect_area .effect_area_inner .effect_lower .effect_lower_titlearea .effect_lower_catch a {
    width: 33.3vw;
  }
  main {
    /*----------------------------------------------------------------

    examples_area

    ----------------------------------------------------------------*/
  }
  main .examples_area {
    background-image: url(../img/top/examples_bg_sp.jpg);
  }
  main .examples_area .examples_area_inner {
    width: 90%;
  }
  main .examples_area .examples_area_inner .title_area img {
    width: 24rem;
  }
  main .examples_area .examples_area_inner .title_area .examples_area_inner_content .examples_area_inner_content_item {
    width: 100%;
    background-image: url(../img/top/examples_bg.png);
    background-position: center bottom;
    padding-top: 2.6rem;
    padding-bottom: 3rem;
  }
  main .examples_area .examples_area_inner .title_area .examples_area_inner_content .examples_area_inner_content_item picture img {
    width: 20rem;
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
  main .examples_area {
    overflow: hidden;
  }
  main .examples_area_inner_content {
    position: relative;
  }
  main .examples_area_inner_content.slick-slider {
    display: block;
  }
  main .examples_area_inner_content .slick-list {
    width: 100%;
  }
  main .examples_area_inner_content .examples_area_inner_content_item {
    width: 100%;
  }
  main .examples_area_inner_content .slick-prev,
  main .examples_area_inner_content .slick-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 4rem;
    height: 4rem;
    padding: 0;
    margin: 0;
    border-radius: 50%;
    background-color: #ffffff;
    border: 1.5px solid #115AE2;
    box-shadow: 0 0.2rem 0.6rem rgba(0, 0, 0, 0.12);
    display: flex !important;
    align-items: center;
    justify-content: center;
    cursor: pointer;
  }
  main .examples_area_inner_content .slick-prev::before,
  main .examples_area_inner_content .slick-next::before {
    display: none;
  }
  main .examples_area_inner_content .slick-prev .material-icons,
  main .examples_area_inner_content .slick-next .material-icons {
    color: #115AE2;
    font-size: 2rem;
    line-height: 1;
  }
  main .examples_area_inner_content .slick-prev {
    left: -1.2rem;
  }
  main .examples_area_inner_content .slick-next {
    right: -1.2rem;
  }
  main {
    /*----------------------------------------------------------------

    demo_area

    ----------------------------------------------------------------*/
  }
  main .demo_area {
    background-image: url(../img/top//house_bg_sp.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    margin-top: 4rem;
    padding-bottom: 8rem;
  }
  main .demo_area .demo_area_inner {
    padding-top: 4.7rem;
    position: relative;
    z-index: 0;
  }
  main .demo_area .demo_area_inner .demo_area_inner_img {
    position: absolute;
    top: -13vw;
    left: 50%;
    transform: translateX(-50%);
    width: 12rem;
    height: auto;
    -o-object-fit: cover;
       object-fit: cover;
  }
  main .demo_area .demo_area_inner .demo_area_inner_content h2 {
    transform: skew(-4deg);
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
  }
  main .demo_area .demo_area_inner .demo_area_inner_content .catch {
    transform: skew(-4deg);
    margin-left: auto;
    margin-right: auto;
    width: -moz-fit-content;
    width: fit-content;
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
  main .demo_area .demo_area_inner .demo_area_inner_content .catch .taikan {
    text-underline-offset: -4px;
    text-decoration-thickness: 1rem;
  }
  main .demo_area .demo_area_inner .demo_area_inner_content .text {
    margin-top: 1.4rem;
    width: 80%;
  }
  main .demo_area .demo_area_inner .demo_area_inner_content .demo_area_inner_content_flexarea {
    width: 100%;
    gap: 4rem;
    margin-top: 1.4rem;
  }
  main .demo_area .demo_area_inner .demo_area_inner_content .demo_area_inner_content_flexarea .demo_area_inner_content_flexarea_item {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
  main .demo_area .demo_area_inner .demo_area_inner_content .demo_area_inner_content_flexarea .demo_area_inner_content_flexarea_item img {
    border-radius: 5px 5px 0 0;
    width: 100%;
  }
  main .demo_area .demo_area_inner .demo_area_inner_content .demo_area_inner_content_flexarea .demo_area_inner_content_flexarea_item h3 {
    padding-top: 1.2rem;
    padding-bottom: 1.2rem;
  }
  main .demo_area .demo_area_inner .demo_area_inner_content .demo_area_inner_content_flexarea .demo_area_inner_content_flexarea_img {
    transform: translate(-50%, -50%) rotate(90deg);
    width: 3rem;
  }
  main .demo_area .demo_area_inner .demo_area_inner_content .demo_area_inner_content_btnarea {
    margin-top: 4rem;
  }
  main .demo_area .demo_area_inner .demo_area_inner_content .demo_area_inner_content_btnarea .upper img {
    width: 1.19vw;
    min-width: 14px;
  }
  main .demo_area .demo_area_inner .demo_area_inner_content .demo_area_inner_content_btnarea .section_btn {
    width: 28.6vw;
  }
  main {
    /*----------------------------------------------------------------

    sub_section

    ----------------------------------------------------------------*/
  }
  main .sub_section {
    margin-bottom: 6rem;
    width: 90%;
  }
  main .sub_section .sub_section_item {
    width: 100%;
  }
  main .sub_section .sub_section_item .section_btn {
    width: 60%;
    top: -1.6vw;
  }
  main {
    /*----------------------------------------------------------------

    necchusyo_area

    ----------------------------------------------------------------*/
  }
  main .necchusyo_area {
    margin-bottom: 4rem;
  }
  main .necchusyo_area .necchusyo_area_inner {
    padding-left: 1rem;
    padding-right: 1rem;
    width: 90%;
    background-image: url(../img/top/necchusyo_bg_sp.jpg);
  }
  main .necchusyo_area .necchusyo_area_inner .necchusyo_area_inner_content {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  main .necchusyo_area .necchusyo_area_inner .necchusyo_area_inner_content .necchusyo_area__titlearea {
    gap: 0rem;
  }
  main .necchusyo_area .necchusyo_area_inner .necchusyo_area_inner_content .necchusyo_area__titlearea .kakko {
    width: 2rem;
  }
  main .necchusyo_area .necchusyo_area_inner .necchusyo_area_inner_content .necchusyo_area__titlearea .middle {
    align-items: start;
  }
  main .necchusyo_area .necchusyo_area_inner .necchusyo_area_inner_content .necchusyo_area__titlearea .middle .text {
    text-align: center;
  }
  main .necchusyo_area .necchusyo_area_inner .necchusyo_area_inner_content .necchusyo_area__titlearea .middle .lower img {
    width: 4rem;
  }
  main .necchusyo_area .necchusyo_area_inner .necchusyo_area_inner_content .catch {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
  main .necchusyo_area .necchusyo_area_inner .necchusyo_area_inner_content .necchusyo_list {
    flex-direction: column;
    gap: 2rem;
    width: 100%;
  }
  main .necchusyo_area .necchusyo_area_inner .necchusyo_area_inner_content .necchusyo_list li {
    width: 100%;
  }
  main .necchusyo_area .necchusyo_area_inner .necchusyo_area_inner_content .necchusyo_list li:nth-child(2) {
    position: relative;
    padding-top: 2rem;
    padding-bottom: 2rem;
    border-left: unset;
    border-right: unset;
    border-top: 2px dotted #115AE2;
    border-bottom: 2px dotted #115AE2;
  }
  main .necchusyo_area .necchusyo_area_inner .necchusyo_area_inner_content .section_btn {
    top: 3.4rem;
  }
  main {
    /*----------------------------------------------------------------

    blog_area

    ----------------------------------------------------------------*/
  }
  main .blog_area {
    margin-bottom: 11.9vw;
    position: relative;
    z-index: 0;
  }
  main .blog_area .blog_bg {
    position: absolute;
    z-index: -1;
  }
  main .blog_area .blog_bg01 {
    top: -10rem;
    right: 0;
    width: 37rem;
  }
  main .blog_area .blog_bg02 {
    bottom: -9rem;
    left: 0;
    width: 28rem;
    z-index: -1;
  }
  main .blog_area .blog_area_inner {
    max-width: 1120px;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
  main .blog_area .blog_area_inner .blog_title_area img {
    width: 8rem;
    min-width: 90px;
  }
  main .blog_area .blog_area_inner ul {
    gap: 3rem;
  }
  main .blog_area .blog_area_inner ul li {
    flex-direction: column;
    gap: 2.4rem;
  }
  main .blog_area .blog_area_inner ul li .blog_post_link {
    width: 100%;
  }
  main .blog_area .blog_area_inner ul li .blog_post_link img {
    width: 100%;
    height: auto;
  }
  main .blog_area .blog_area_inner ul li .blog_post_link_left {
    max-width: 100%;
  }
  main {
    /*----------------------------------------------------------------

    contact_area

    ----------------------------------------------------------------*/
  }
  main .contact_area {
    margin-bottom: 6rem;
  }
  main .contact_area .contact_area_inner {
    padding-left: 0;
    padding-right: 0;
  }
  main .contact_area .contact_area_inner .contact_area_inner_right .contact_area_inner_right_link {
    padding-left: 1rem;
    width: 100%;
    height: 7rem;
    border-left: 0.4rem solid #FF6031;
  }
  main {
    /*----------------------------------------------------------------

    sub_common

    ----------------------------------------------------------------*/
  }
  main .yellow_line {
    text-underline-offset: -0.4rem;
    text-decoration-thickness: 0.8rem;
  }
  main .demo_ban_cont {
    margin-bottom: 4rem;
  }
  main .demo_ban_cont .footer_inner_right_upper_ban {
    margin-top: 2rem;
    padding-left: 0;
    padding-right: 0;
    background-image: url(../img/top/mv_ban_sp.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    width: 100%;
    height: 10.8rem;
    position: relative;
    z-index: 0;
    justify-content: center;
    padding-top: 2.6rem;
    padding-left: 2rem;
  }
  main .demo_ban_cont .footer_inner_right_upper_ban .footer_ban_house {
    width: 11.14vw;
    height: auto;
    position: absolute;
    top: -2rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
    width: 6rem;
    height: auto;
  }
  main .demo_ban_cont .footer_inner_right_upper_ban .footer_ban_text .footer_ban_text_upper {
    transform: skew(-10deg);
    font-size: 1.8rem;
  }
  main .demo_ban_cont .footer_inner_right_upper_ban .footer_ban_text .footer_ban_text_upper .f_54 {
    font-size: 2.4rem;
  }
  main .demo_ban_cont .footer_inner_right_upper_ban .footer_ban_text .footer_ban_text_lower {
    font-size: 1.6rem;
  }
  main .demo_ban_cont .footer_inner_right_upper_ban .footer_ban_arrow {
    width: 7vw;
    transition: 0.4s;
    transform: translateX(0px);
    margin-left: 0;
  }
  main {
    /*----------------------------------------------------------------

    sub_mv

    ----------------------------------------------------------------*/
  }
  main .sub_mv {
    padding-top: 6rem;
    padding-bottom: 4rem;
    background-image: url(../img/common/sub_mv_sp.jpg);
  }
  main .sub_mv .sub_mv_inner .sub_mv_inner_textarea img {
    width: 8rem;
  }
  main {
    /*----------------------------------------------------------------

    case

    ----------------------------------------------------------------*/
  }
  main .case_cont01 .case_cont01_inner .text {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
  main .case_cont01 .case_cont01_inner .sub_title_area img {
    width: 24rem;
  }
  main .case_cont01 .case_cont01_inner .sub_title_area h3 {
    width: 90%;
  }
  main .case_cont01 .case_cont01_inner .case_grid {
    margin-top: 3rem;
    grid-template-columns: repeat(1, 100%);
    gap: 2rem;
    width: 90%;
  }
  main .case_cont01 .case_cont01_inner .case_grid .case_post {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
  main .case_cont01 .case_cont01_inner .case_grid .case_post .catch {
    margin-top: 0.4rem;
    margin-bottom: 1rem;
  }
  main .case_cont01 .case_cont01_inner .case_grid .case_post img {
    max-width: 100%;
    height: auto;
  }
  main .case_cont01 .case_cont01_inner .case_grid .case_post h4 {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
  main .case_cont01 .case_cont01_inner .case_grid .case_post .case_post_lower {
    position: relative;
    z-index: 0;
  }
  main .case_cont01 .case_cont01_inner .case_grid .case_post .case_post_lower .material-icons {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
  }
  main {
    /*----------------------------------------------------------------

    case_single
    ----------------------------------------------------------------*/
  }
  main .case_single_cont {
    margin-top: 4rem;
  }
  main .case_single_cont .case_single_cont_inner .change_area .change_arrow {
    left: 50%;
    transform: translate(-50%, -50%) rotate(90deg);
    width: 2rem;
  }
  main .case_single_cont .case_single_cont_inner .change_area .change_box img {
    width: 100%;
  }
  main .case_single_cont .case_single_cont_inner .case_single_table table tr th {
    width: 3rem;
    min-width: 100px;
  }
  main .case_single_cont .case_single_cont_inner .case_single_gallery {
    grid-template-columns: repeat(2, 18rem);
    margin-bottom: 3rem;
  }
  main .house_ban_area {
    margin-bottom: 2rem;
  }
  main .house_ban_area .demo_ban_cont {
    width: 100%;
    margin-bottom: 0rem;
  }
  main .house_ban_area .demo_ban_cont .footer_inner_right_upper_ban {
    margin-top: 2rem;
    padding-left: 0;
    padding-right: 0;
    background-image: url(../img/top/mv_ban_sp.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    width: 100%;
    height: 10.8rem;
    position: relative;
    z-index: 0;
    justify-content: center;
    padding-top: 2.6rem;
    padding-left: 2rem;
  }
  main .house_ban_area .demo_ban_cont .footer_inner_right_upper_ban .footer_ban_house {
    width: 11.14vw;
    height: auto;
    position: absolute;
    top: -2rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
    width: 6rem;
    height: auto;
  }
  main .house_ban_area .demo_ban_cont .footer_inner_right_upper_ban .footer_ban_text .footer_ban_text_upper {
    transform: skew(-10deg);
    font-size: 1.8rem;
  }
  main .house_ban_area .demo_ban_cont .footer_inner_right_upper_ban .footer_ban_text .footer_ban_text_upper .f_54 {
    font-size: 2.4rem;
  }
  main .house_ban_area .demo_ban_cont .footer_inner_right_upper_ban .footer_ban_text .footer_ban_text_lower {
    font-size: 1.6rem;
  }
  main .house_ban_area .demo_ban_cont .footer_inner_right_upper_ban .footer_ban_arrow {
    width: 4rem;
    transition: 0.4s;
    transform: translateX(0px);
    margin-left: 0;
  }
  main {
    /*----------------------------------------------------------------

    news

    ----------------------------------------------------------------*/
  }
  main .news_area .news_area_inner {
    gap: 4rem;
  }
  main .news_area .news_area_inner .news_inner_left {
    width: 100%;
  }
  main .news_area .news_area_inner .news_inner_left .news_post_area article {
    flex-direction: column;
    align-items: center;
  }
  main .news_area .news_area_inner .news_inner_left .news_post_area article .news_post_link {
    width: 100%;
  }
  main .news_area .news_area_inner .news_inner_left .news_post_area article .news_post_link img {
    width: 100%;
  }
  main .news_area .news_area_inner .news_inner_left .news_post_area article .news_post_link_left .news_post_link_left_upper {
    gap: 1rem;
  }
  main .news_area .news_area_inner .news_inner_right {
    width: 100%;
    gap: 2rem;
  }
  main {
    /*----------------------------------------------------------------

    single (ブログ詳細)

    ----------------------------------------------------------------*/
  }
  main .single_post {
    padding: 2rem 1.2rem 0rem;
  }
  main .single_post .single_post_meta .single_post_category {
    min-width: 14rem;
    padding: 0.6rem 1.6rem;
  }
  main .single_post .single_post_summary {
    padding-bottom: 2rem;
  }
  main .single_post .single_post_summary .single_post_summary_head .single_post_summary_label {
    padding: 0.6rem 1.2rem;
    top: 3.2vw;
    font-size: 1.6rem;
  }
  main .single_post .single_post_summary .single_post_summary_head .single_post_summary_line {
    margin-left: 1rem;
  }
  main .single_post .single_post_summary .single_post_summary_list {
    gap: 1rem;
    margin-top: 1.4rem;
    padding-left: 0.2rem !important;
    padding-top: 6vw !important;
  }
  main .single_post .single_post_summary .single_post_summary_list li {
    align-items: start !important;
    gap: 0.6rem;
  }
  main .single_post .single_post_summary .single_post_summary_list li p {
    font-size: 1.4rem;
  }
  main .single_post .single_post_summary .single_post_summary_list .single_post_dot {
    width: 0.9rem;
    min-width: 0.9rem;
    margin-top: 0.4rem;
  }
  main .single_post .single_post_toc {
    padding: 1.8rem 1.4rem 2rem;
  }
  main .single_post .single_post_toc .single_post_toc_head {
    gap: 0.6rem;
  }
  main .single_post .single_post_toc .single_post_toc_head .ns_600 {
    font-size: 2rem;
  }
  main .single_post .single_post_toc .single_post_toc_head .single_post_toc_icon {
    font-size: 2.4rem;
    min-width: 2.4rem;
  }
  main .single_post .single_post_toc .single_post_toc_list {
    gap: 1.6rem;
  }
  main .single_post .single_post_toc .single_post_toc_list .ns_500 {
    font-size: 1.6rem;
  }
  main .single_post .single_post_toc .single_post_toc_list .ns_400 {
    font-size: 1.4rem;
  }
  main .single_post .single_post_body p {
    margin-bottom: 1.6rem;
  }
  main .single_post .single_post_body .single_post_body_h2,
  main .single_post .single_post_body > h2 {
    gap: 1rem;
    margin-top: 3rem;
    padding: 0.8rem 1rem;
  }
  main .single_post .single_post_body .single_post_body_h2::before,
  main .single_post .single_post_body > h2::before {
    width: 1.4rem;
    min-width: 1.4rem;
  }
  main .single_post .single_post_body .single_post_body_h3,
  main .single_post .single_post_body > h3 {
    margin-top: 2rem;
    padding: 1rem;
  }
  main .single_post .single_post_body .single_post_body_h4,
  main .single_post .single_post_body > h4 {
    gap: 1rem;
    margin-top: 2rem;
  }
  main .single_post .single_post_body .single_post_body_h4::before,
  main .single_post .single_post_body > h4::before {
    height: 2.2rem;
    min-height: 2.2rem;
  }
  main .single_post .single_post_cta {
    padding: 2.4rem 3rem;
    background-image: url(../img/news/single_cta_bg_sp.png);
  }
  main .single_post .single_post_cta .single_post_cta_inner {
    max-width: 100%;
    gap: 2.4rem;
  }
  main .single_post .single_post_cta .single_post_cta_inner .single_post_cta_text {
    text-align: left !important;
  }
  main .single_post .single_post_cta .single_post_cta_row {
    flex-direction: column;
    gap: 2rem;
  }
  main .single_post .single_post_cta .single_post_cta_btn {
    gap: 0.6rem;
    padding: 1rem 1.6rem;
  }
  main .single_post .single_post_cta .single_post_cta_btn .single_post_cta_btn_icon {
    font-size: 2.4rem;
    min-width: 2.4rem;
    margin-right: 0.4rem;
  }
  main .single_post .single_post_cta .single_post_cta_btn .single_post_cta_btn_arrow {
    font-size: 2.4rem;
    min-width: 2.4rem;
  }
  main .single_post .single_post_cta .single_post_cta_divider {
    width: 80%;
    height: 1px;
    min-height: 1px;
  }
  main .single_post .single_post_cta .single_post_cta_tel .single_post_cta_tel_num {
    gap: 0.8rem;
  }
  main .single_post .single_post_cta .single_post_cta_tel .single_post_cta_tel_icon {
    font-size: 3.2rem;
    min-width: 3.2rem;
  }
  main .single_post .single_post_author {
    padding-top: 1.4rem;
  }
  main .single_post .single_post_author .single_post_author_label {
    left: 1.4rem;
    padding: 0.5rem 1.2rem;
  }
  main .single_post .single_post_author .single_post_author_box {
    padding: 2.6rem 1.6rem 2rem;
  }
  main .single_post .single_post_author .single_post_author_box .single_post_author_role {
    margin-top: 1rem;
  }
  main .single_post .single_post_author .single_post_author_box .single_post_author_text {
    margin-top: 1rem;
  }
  main .single_post .single_post_nav {
    flex-wrap: wrap;
    gap: 2rem;
  }
  main .single_post .single_post_nav .single_post_nav_link .single_post_nav_icon {
    font-size: 2.4rem;
    min-width: 2.4rem;
  }
  main .single_post .single_post_nav .single_post_nav_prev {
    order: 2;
  }
  main .single_post .single_post_nav .single_post_nav_back {
    order: 1;
    width: 100%;
    height: 5rem;
    min-height: 5rem;
  }
  main .single_post .single_post_nav .single_post_nav_next {
    order: 3;
  }
  main .pagenation_area .wp-pagenavi {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.52vw;
  }
  main .pagenation_area .pages,
  main .pagenation_area .first,
  main .pagenation_area .last {
    display: none;
  }
  main .pagenation_area .previouspostslink span,
  main .pagenation_area .nextpostslink span {
    font-size: 2rem !important;
  }
  main {
    /*----------------------------------------------------------------

    flow

    ----------------------------------------------------------------*/
  }
  main .flow_cont01 .flow_cont01_inner .sub_title_area img {
    width: 8rem;
  }
  main .flow_cont01 .flow_cont01_inner .sub_title_area h3 {
    width: 90%;
  }
  main .flow_cont01 .flow_cont01_inner .text {
    text-align: left !important;
    margin-left: auto;
    margin-right: auto;
    width: 90%;
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
  main .flow_cont01 .flow_cont01_inner .flow_cont01_flex_wrapper {
    width: 100%;
  }
  main .flow_cont01 .flow_cont01_inner .flow_cont01_flex_wrapper .flow_cont01_flex {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
  main .flow_cont01 .flow_cont01_inner .flow_cont01_flex_wrapper .flow_cont01_flex .flow_cont01_flex_item h4 {
    margin-bottom: 3rem;
  }
  main .flow_cont01 .flow_cont01_inner .flow_cont01_flex_wrapper .flow_cont01_flex .flow_cont01_flex_item .flow_card {
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 3.38vw;
    padding-left: 1.04vw;
    padding-right: 1.04vw;
    position: relative;
    z-index: 0;
  }
  main .flow_cont01 .flow_cont01_inner .flow_cont01_flex_wrapper .flow_cont01_flex .flow_cont01_flex_item .flow_card.flow_card_blue {
    border: 2px solid rgba(17, 90, 226, 0.5);
    padding-top: 4rem;
    margin-bottom: 4rem;
  }
  main .flow_cont01 .flow_cont01_inner .flow_cont01_flex_wrapper .flow_cont01_flex .flow_cont01_flex_item .flow_card.flow_card_blue .flow_card_upper {
    top: -2.6rem;
  }
  main .flow_cont01 .flow_cont01_inner .flow_cont01_flex_wrapper .flow_cont01_flex .flow_cont01_flex_item .flow_card.flow_card_blue:last-child {
    margin-bottom: 0rem;
  }
  main .flow_cont01 .flow_cont01_inner .flow_cont01_flex_wrapper .flow_cont01_flex .flow_cont01_flex_item .flow_card.flow_card_orange {
    border: 2px solid rgba(255, 96, 49, 0.5);
    margin-bottom: 4rem;
    padding-top: 4rem;
  }
  main .flow_cont01 .flow_cont01_inner .flow_cont01_flex_wrapper .flow_cont01_flex .flow_cont01_flex_item .flow_card.flow_card_orange .flow_card_upper {
    top: -2.6rem;
  }
  main .flow_cont01 .flow_cont01_inner .flow_cont01_flex_wrapper .flow_cont01_flex .flow_cont01_flex_item .flow_card.flow_card_orange:last-child {
    margin-bottom: 0rem;
  }
  main .flow_cont01 .flow_cont01_inner .flow_cont01_flex_wrapper .flow_cont01_flex .flow_cont01_flex_item .flow_card .flow_card_upper {
    position: absolute;
    top: -2rem;
    gap: 1rem;
  }
  main .flow_cont01 .flow_cont01_inner .flow_cont01_flex_wrapper .flow_cont01_flex .flow_cont01_flex_item .flow_card .flow_card_upper img {
    width: 3rem;
  }
  main .flow_cont01 .flow_cont01_inner .flow_cont01_flex_wrapper .flow_cont01_flex .flow_cont01_flex_item .flow_card .flow_check_wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  main .flow_cont01 .flow_cont01_inner .flow_cont01_flex_wrapper .flow_cont01_flex .flow_cont01_flex_item .flow_card .flow_check {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    justify-content: center;
  }
  main .flow_cont01 .flow_cont01_inner .flow_cont01_flex_wrapper .flow_cont01_flex .flow_cont01_flex_item .flow_card .flow_check img {
    width: 1.4rem;
  }
  main .flow_cont01 .flow_cont01_inner .flow_cont01_flex_wrapper .flow_cont01_flex .flow_cont01_flex_item .flow_card .description {
    max-width: unset;
    width: 90%;
  }
  main .flow_cont01 .flow_cont01_inner .flow_arrow {
    width: 100%;
    max-width: 10rem;
    margin-left: auto;
    margin-right: auto;
  }
  main .flow_cont01 .flow_cont01_inner .flow_card_wide {
    width: 90%;
    padding-top: 5rem;
  }
  main .flow_cont01 .flow_cont01_inner .flow_card_wide .flow_card_upper {
    position: absolute;
    top: -1.4rem;
    left: 50%;
    z-index: 10;
    transform: translateX(-50%);
    width: 75%;
    align-items: center;
    justify-content: center;
    gap: 1rem;
  }
  main .flow_cont01 .flow_cont01_inner .flow_card_wide .flow_card_upper img {
    width: 3rem;
  }
  main .flow_cont01 .flow_cont01_inner .flow_card_wide .flow_card_wide_inner {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  main .flow_cont01 .flow_cont01_inner .flow_card_wide .flow_card_wide_inner .flow_card_wide_inner_left {
    width: 90%;
  }
  main .flow_cont01 .flow_cont01_inner .flow_card_wide .flow_card_wide_inner .flow_card_wide_inner_left .flow_check img {
    width: 1.4rem;
  }
  main .flow_cont01 .flow_cont01_inner .flow_card_wide .flow_card_wide_inner .flow_card_wide_inner_right {
    width: 90%;
  }
  main .guarantee_cont {
    margin-bottom: 4rem;
  }
  main .guarantee_cont .guarantee_cont_inner .sub_title_area img {
    width: 14rem;
  }
  main .guarantee_cont .guarantee_cont_inner .catch {
    text-underline-offset: 0.1rem;
    margin-top: 2rem;
    margin-bottom: 3rem;
  }
  main .guarantee_cont .guarantee_cont_inner .text.ns_500 {
    text-align: left !important;
  }
  main .guarantee_cont .guarantee_cont_inner .guarantee_area_flex {
    gap: 2rem;
    margin-top: 4rem;
  }
  main .guarantee_cont .guarantee_cont_inner .guarantee_area_flex .guarantee_area_flex_item {
    background-color: #fff;
    box-shadow: 3px 3px 5px 2px rgba(95, 165, 246, 0.36);
    margin-bottom: 1rem;
  }
  main .guarantee_cont .guarantee_cont_inner .guarantee_area_flex .guarantee_area_flex_item h4 {
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    border-radius: 0 0 10px 10px;
  }
  main .guarantee_cont .guarantee_cont_inner .guarantee_area_flex .guarantee_area_flex_item .text {
    text-align: center;
  }
  main .guarantee_cont .guarantee_cont_inner .guarantee_area_flex .guarantee_area_flex_item .text_line {
    background: #767676;
    height: 3px;
    max-width: 75px;
    width: 3.9vw;
    min-width: 40px;
  }
  main {
    /*----------------------------------------------------------------

    demo

    ----------------------------------------------------------------*/
  }
  main .demo_cont01 .flow_cont01_inner .sub_title_area img {
    width: 10rem;
  }
  main .demo_cont01 .flow_cont01_inner .solution_catch_sub {
    gap: 0.4rem;
    align-items: end !important;
  }
  main .demo_cont01 .flow_cont01_inner .solution_catch_sub .solution_slash {
    width: 1.4rem;
    min-width: unset;
    margin-bottom: 0.6rem;
  }
  main .demo_cont01 .flow_cont01_inner .solution_catch_sub .solution_slash img {
    width: 100%;
  }
  main .demo_cont01 .flow_cont01_inner .solution_area_imgarea img {
    width: 100%;
  }
  main .demo_cont03 .demo_cont03_inner {
    width: 95%;
  }
  main .demo_cont03 .demo_cont03_inner .sub_title_area img {
    width: 7rem;
  }
  main .demo_cont03 .demo_flow {
    width: 100%;
  }
  main .demo_cont03 .demo_flow .demo_flow_item {
    flex-wrap: wrap;
    gap: 0 1.5rem;
    align-items: flex-start;
  }
  main .demo_cont03 .demo_flow .demo_flow_item:not(:last-child) {
    margin-bottom: 4rem;
  }
  main .demo_cont03 .demo_flow .demo_flow_item:not(:last-child)::before {
    top: 2.2rem;
    left: 2.2rem;
    height: calc(100% + 4rem);
  }
  main .demo_cont03 .demo_flow .demo_flow_item:last-child::before {
    left: 2.2rem;
    height: 100%;
  }
  main .demo_cont03 .demo_flow .demo_flow_item .demo_flow_left .demo_flow_num {
    width: 4.4rem;
    min-width: 4.4rem;
  }
  main .demo_cont03 .demo_flow .demo_flow_item .demo_flow_body {
    flex: unset;
    width: calc(100% - 5.9rem);
  }
  main .demo_cont03 .demo_flow .demo_flow_item .demo_flow_body .demo_flow_check .flow_check img {
    width: 2rem;
    min-width: 2rem;
  }
  main .demo_cont03 .demo_flow .demo_flow_item .demo_flow_img {
    width: calc(100% - 5.9rem);
    margin-left: auto;
    margin-top: 1.6rem;
  }
  main .demo_cont04 .demo_cont04_inner .sub_title_area img {
    width: 8rem;
  }
  main .demo_cont04 .demo_area_flex {
    gap: 5rem;
  }
  main .demo_cont04 .demo_area_flex .demo_area_col {
    max-width: 100%;
  }
  main .demo_cont04 .demo_area_flex .demo_area_col .demo_area_label {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  main .demo_cont04 .demo_area_flex .demo_area_col .demo_area_region .demo_area_divider {
    height: 2.4rem;
    min-height: 2.4rem;
  }
  main .demo_cont04 .demo_area_flex .demo_area_col .demo_area_map img {
    width: 70%;
    max-width: 32rem;
  }
  main .demo_area_note {
    margin-left: 0;
  }
  main .demo_cont05 {
    padding-bottom: 12rem;
    margin-bottom: -4rem;
  }
  main .demo_cont05 .demo_cont05_inner .demo_form_tel {
    flex-direction: column;
    gap: 1.2rem;
    padding: 2rem 1.5rem;
  }
  main .demo_cont05 .demo_cont05_inner .demo_form_tel .demo_form_tel_divider {
    width: 60%;
    height: 1px;
    min-height: 1px;
  }
  main .demo_cont05 .demo_cont05_inner .demo_form_tel .demo_form_tel_link {
    align-items: center;
  }
  main .demo_cont05 .demo_cont05_inner .demo_form_tel .demo_form_tel_link .demo_form_tel_num {
    gap: 0.6rem;
  }
  main .demo_cont05 .demo_cont05_inner .demo_form_tel .demo_form_tel_link .demo_form_tel_num .demo_form_tel_icon {
    font-size: 3rem;
    min-width: 3rem;
  }
  main .demo_cont05 .demo_cont05_inner .demo_form_tel .demo_form_tel_link .demo_form_tel_time {
    margin-top: 0.4rem;
  }
  main .demo_cont05 .demo_cont05_inner .demo_form_card {
    padding: 2.4rem 1.5rem 3rem;
  }
  main .demo_cont05 .demo_cont05_inner .demo_form_card .demo_form_card_title .demo_form_card_icon {
    font-size: 3rem;
    min-width: 3rem;
  }
  main .demo_cont05 .demo_cont05_inner .demo_form_card .demo_form_card_area {
    width: 100%;
  }
  main .demo_cont05 .demo_cont05_inner .demo_form_card .demo_form_card_area iframe {
    border-radius: 10px;
  }
  main .demo_cont02 {
    padding-bottom: 5rem;
  }
  main .demo_cont02 .demo_sun {
    width: 14rem;
    height: auto;
    top: -2rem;
  }
  main .demo_cont02 .demo_cont02_inner .title_area img {
    width: 10rem;
    height: auto;
    margin-bottom: -0.1vw;
  }
  main .demo_cont02 .demo_cont02_inner .demo_cont02_flex {
    position: relative;
    z-index: 0;
    gap: 2rem;
  }
  main .demo_cont02 .demo_cont02_inner .demo_cont02_flex .demo_arrow {
    position: relative;
    width: 6rem;
    height: auto;
    top: unset;
    left: 52%;
    transform: translateX(-50%) rotate(90deg);
    z-index: 10;
  }
  main .demo_cont02 .demo_cont02_inner .demo_cont02_flex .demo_cont02_flex_item img {
    width: 100%;
  }
  main {
    /*----------------------------------------------------------------

    heatstroke

    ----------------------------------------------------------------*/
  }
  main .heatstroke_cont {
    background-position: center top;
    background-size: contain;
    background-repeat: no-repeat;
  }
  main .heatstroke_cont .heatstroke_cont_inner .text {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
  main .heatstroke_cont .heatstroke_cont_inner .heatstroke_cont_btn {
    text-decoration: underline;
  }
  main .heatstroke_cont .heatstroke_cont_inner .heatstroke_cont_flex {
    margin-top: 4rem;
    gap: 2rem;
  }
  main .heatstroke_cont .heatstroke_cont_inner .heatstroke_cont_flex .heatstroke_cont_flex_item {
    width: 100%;
  }
  main .heatstroke_cont .heatstroke_cont_inner .heatstroke_cont_flex .heatstroke_cont_flex_item .heatstroke_cont_flex_item_header .heatstroke_cont_flex_item_header_icon {
    width: 4.8rem;
    top: -1.6rem;
    left: 1rem;
  }
  main .heatstroke_cont .heatstroke_cont_inner .heatstroke_cont_flex .heatstroke_cont_flex_item .heatstroke_cont_flex_item_header .heatstroke_cont_flex_item_header_icon02 {
    width: 5.2rem;
    top: -0.96rem;
  }
  main .heatstroke_cont .heatstroke_cont_inner .heatstroke_cont_flex .heatstroke_cont_flex_item .heatstroke_cont_flex_item_body {
    padding: 2rem;
  }
  main .heatstroke_cont .heatstroke_cont_inner .heatstroke_cont_flex .heatstroke_cont_flex_item .heatstroke_cont_flex_item_body .catch_area {
    margin-top: 2rem;
  }
  main .heatstroke_cont .heatstroke_cont_inner .heatstroke_cont_flex .heatstroke_cont_flex_item_arrow {
    width: 4rem;
    transform: rotate(90deg);
    margin-top: 0;
    margin-left: auto;
    margin-right: auto;
  }
  main .heatstroke_cont02 .heatstroke_cont02_inner .text {
    margin-top: 2rem;
    margin-bottom: 2rem;
    width: 90%;
  }
  main .heatstroke_cont02 .heatstroke_cont02_inner .heatstroke_cont02_block {
    margin-top: 5rem;
    width: 100%;
  }
  main .heatstroke_cont02 .heatstroke_cont02_inner .heatstroke_cont02_block .heatstroke_cont02_flex {
    gap: 1.5rem;
  }
  main .heatstroke_cont02 .heatstroke_cont02_inner .heatstroke_cont02_block .heatstroke_cont02_flex .heatstroke_cont02_flex_text {
    max-width: 100%;
  }
  main .heatstroke_cont02 .heatstroke_cont02_inner .heatstroke_cont02_block .heatstroke_cont02_flex .heatstroke_cont02_flex_text .heatstroke_cont02_tag {
    padding: 0.4rem 1rem;
    margin-bottom: 1rem;
  }
  main .heatstroke_cont02 .heatstroke_cont02_inner .heatstroke_cont02_block .heatstroke_cont02_flex .heatstroke_cont02_flex_text .heatstroke_cont02_head {
    margin-bottom: 1.4rem;
    padding-bottom: 1.4rem;
  }
  main .heatstroke_cont02 .heatstroke_cont02_inner .heatstroke_cont02_block .heatstroke_cont02_flex .heatstroke_cont02_flex_img {
    width: 100%;
    max-width: 100%;
    margin-top: 1rem;
  }
  main .heatstroke_cont02 .heatstroke_cont02_inner .heatstroke_cont02_block .heatstroke_cont02_flex .heatstroke_cont02_flex_img p {
    margin-top: 1rem;
  }
  main .heatstroke_cont03 .heatstroke_cont03_inner .sub_title_area img {
    width: 14rem;
    margin-bottom: 0;
  }
  main .heatstroke_cont03 .heatstroke_cont03_inner .text {
    width: 90%;
  }
  main .heatstroke_cont03 .heatstroke_cont03_inner .heatstroke_cont03_lead {
    width: 100%;
    justify-content: center !important;
  }
  main .heatstroke_cont03 .heatstroke_cont03_inner .heatstroke_cont03_lead img {
    width: 3rem;
    min-width: 30px;
  }
  main .heatstroke_cont03 .heatstroke_cont03_inner .heatstroke_cont03_lead .line {
    display: none;
  }
  main .heatstroke_cont03 .heatstroke_cont03_inner .heatstroke_cont03_cards {
    gap: 3rem;
    width: 100%;
    grid-template-columns: 1fr;
  }
  main .heatstroke_cont03 .heatstroke_cont03_inner .heatstroke_cont03_cards .heatstroke_cont03_card {
    width: 100%;
  }
  main .heatstroke_cont03 .heatstroke_cont03_inner .heatstroke_cont03_block {
    margin-top: 3rem;
  }
  main .heatstroke_cont03 .heatstroke_cont03_inner .heatstroke_cont03_block .heatstroke_cont03_flex {
    gap: 1.5rem;
    width: 100%;
  }
  main .heatstroke_cont03 .heatstroke_cont03_inner .heatstroke_cont03_block .heatstroke_cont03_flex .heatstroke_cont03_tag {
    padding: 0.4rem 1rem;
    margin-bottom: 1rem;
  }
  main .heatstroke_cont03 .heatstroke_cont03_inner .heatstroke_cont03_block .heatstroke_cont03_flex .heatstroke_cont03_head {
    margin-bottom: 1.4rem;
    padding-bottom: 1.4rem;
  }
  main .heatstroke_cont03 .heatstroke_cont03_inner .heatstroke_cont03_block .heatstroke_cont03_flex .heatstroke_cont03_flex_img {
    width: 100%;
    max-width: 100%;
    margin-top: 1rem;
  }
  main .heatstroke_cont04 .heatstroke_cont04_inner {
    width: 90%;
  }
  main .heatstroke_cont04 .heatstroke_cont04_inner .heatstroke_arrow {
    width: 12rem;
    margin-bottom: -2rem;
  }
  main .heatstroke_cont04 .heatstroke_cont04_inner .sub_title_area img {
    width: 24rem;
  }
  main .heatstroke_cont04 .heatstroke_cont04_inner .text {
    width: 90%;
  }
  main .heatstroke_cont04 .heatstroke_cont04_inner .heatstroke_cont04_grid {
    gap: 2rem;
    grid-template-columns: 1fr;
  }
  main .heatstroke_cont04 .heatstroke_cont04_inner .heatstroke_cont04_grid .heatstroke_cont04_card {
    width: 100%;
  }
  main .heatstroke_cont04 .heatstroke_wave {
    width: 90%;
  }
  main .heatstroke_cont04 .heatstroke_sesaku_inner {
    width: 90%;
  }
  main .heatstroke_cont04 .heatstroke_sesaku_inner .heatstroke_sesaku_grid {
    gap: 3rem;
  }
  main .heatstroke_cont04 .heatstroke_sesaku_inner .heatstroke_sesaku_grid .heatstroke_sesaku_col {
    width: 100%;
  }
  main .heatstroke_cont04 .heatstroke_sesaku_inner .heatstroke_sesaku_grid .heatstroke_sesaku_col .heatstroke_sesaku_cat {
    padding-left: 1rem;
  }
  main .heatstroke_cont04 .heatstroke_sesaku_inner .heatstroke_sesaku_grid .heatstroke_sesaku_col .heatstroke_sesaku_list li {
    gap: 1rem;
  }
  main .heatstroke_cont05 .heatstroke_cont05_inner {
    width: 90%;
  }
  main .heatstroke_cont05 .heatstroke_cont05_inner .heatstroke_cont05_grid {
    margin-top: 6rem;
    gap: 4rem 2rem;
  }
  main .heatstroke_cont05 .heatstroke_cont05_inner .heatstroke_cont05_grid .heatstroke_cont05_card {
    width: 100%;
    margin-top: 0;
  }
  main .heatstroke_cont05 .heatstroke_cont05_inner .heatstroke_cont05_grid .heatstroke_cont05_card .heatstroke_cont05_card_icon {
    width: 5rem;
    min-width: 0;
  }
  main .heatstroke_cont05 .heatstroke_cont05_inner .heatstroke_cont05_grid .heatstroke_cont05_card .heatstroke_cont05_card_head {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
  main .heatstroke_cont05 .heatstroke_cont05_gallery img {
    width: 100%;
  }
  main .heatstroke_cont06 .heatstroke_cont06_inner .heatstroke_cont06_pills {
    gap: 2rem;
  }
  main .heatstroke_cont06 .heatstroke_cont06_inner .heatstroke_cont06_pills .heatstroke_cont06_pill {
    width: 100%;
    padding: 1.2rem 1.5rem;
  }
  main .heatstroke_cont06 .heatstroke_cont06_inner .heatstroke_cont06_pills .heatstroke_cont06_pill::after {
    bottom: -0.6rem;
    border-width: 1.2rem 1.2rem 0 1.2rem;
  }
  main .heatstroke_cont06 .heatstroke_cont06_inner .heatstroke_cont06_grid {
    gap: 2rem;
    grid-template-columns: 1fr;
  }
  main .heatstroke_cont06 .heatstroke_cont06_inner .heatstroke_cont06_grid .heatstroke_cont06_card {
    width: 100%;
  }
  main .heatstroke_cont06 .heatstroke_cont06_inner .heatstroke_cont06_grid .heatstroke_cont06_card .heatstroke_cont06_card_main .heatstroke_cont06_card_icon {
    width: 5rem;
    min-width: 0;
  }
  main .heatstroke_cont06 .house_ban_area {
    background-image: unset;
  }
  main .heatstroke_cont06 .heatstroke_cont06_case .examples_area_inner_content .examples_area_inner_content_item {
    width: 100%;
    background-image: url(../img/top/examples_bg.png);
    background-position: center bottom;
    padding-top: 2.6rem;
    padding-bottom: 3rem;
  }
  main .heatstroke_cont06 .heatstroke_cont06_case .examples_area_inner_content .examples_area_inner_content_item picture img {
    width: 20rem;
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
  main .heatstroke_cont06 .heatstroke_cont06_case .examples_area {
    overflow: hidden;
  }
  main .heatstroke_cont06 .heatstroke_cont06_case .examples_area_inner_content {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    width: 90%;
  }
  main .heatstroke_cont06 .heatstroke_cont06_case .examples_area_inner_content.slick-slider {
    display: block;
  }
  main .heatstroke_cont06 .heatstroke_cont06_case .examples_area_inner_content .slick-list {
    width: 100%;
  }
  main .heatstroke_cont06 .heatstroke_cont06_case .examples_area_inner_content .examples_area_inner_content_item {
    width: 100%;
  }
  main .heatstroke_cont06 .heatstroke_cont06_case .examples_area_inner_content .slick-prev,
  main .heatstroke_cont06 .heatstroke_cont06_case .examples_area_inner_content .slick-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 4rem;
    height: 4rem;
    padding: 0;
    margin: 0;
    border-radius: 50%;
    background-color: #ffffff;
    border: 1.5px solid #115AE2;
    box-shadow: 0 0.2rem 0.6rem rgba(0, 0, 0, 0.12);
    display: flex !important;
    align-items: center;
    justify-content: center;
    cursor: pointer;
  }
  main .heatstroke_cont06 .heatstroke_cont06_case .examples_area_inner_content .slick-prev::before,
  main .heatstroke_cont06 .heatstroke_cont06_case .examples_area_inner_content .slick-next::before {
    display: none;
  }
  main .heatstroke_cont06 .heatstroke_cont06_case .examples_area_inner_content .slick-prev .material-icons,
  main .heatstroke_cont06 .heatstroke_cont06_case .examples_area_inner_content .slick-next .material-icons {
    color: #115AE2;
    font-size: 2rem;
    line-height: 1;
  }
  main .heatstroke_cont06 .heatstroke_cont06_case .examples_area_inner_content .slick-prev {
    left: -1.2rem;
  }
  main .heatstroke_cont06 .heatstroke_cont06_case .examples_area_inner_content .slick-next {
    right: -1.2rem;
  }
  /*----------------------------------------------------------------

  footer

  ----------------------------------------------------------------*/
  footer {
    background-image: url(../img/common/footer_sp.png);
    padding-left: 5%;
    padding-right: 5%;
    width: 100%;
    padding-bottom: 14rem !important;
    padding-top: 10rem !important;
  }
  footer .footer_inner {
    gap: 4rem;
  }
  footer .footer_inner .footer_inner_left .footer_logo {
    width: 28rem;
    height: auto;
  }
  footer .footer_inner .footer_inner_left iframe {
    width: 100%;
    height: 14rem;
  }
  footer .footer_inner .footer_inner_right .footer_inner_right_upper .footer_nav01 {
    width: 100%;
    gap: 1rem;
  }
  footer .footer_inner .footer_inner_right .footer_inner_right_upper .footer_nav02 {
    gap: 1rem;
    width: 100%;
  }
  footer .footer_inner .footer_inner_right .footer_inner_right_upper .footer_nav02 ul li a {
    padding-bottom: 1rem;
  }
  footer .footer_inner .footer_inner_right .footer_inner_right_upper_ban {
    flex-direction: row;
    margin-top: 2rem;
    padding-left: 0;
    padding-right: 0;
    background-image: url(../img/top/mv_ban_sp.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    width: 100%;
    height: 10.8rem;
    position: relative;
    z-index: 0;
    justify-content: center;
    padding-top: 2.6rem;
    padding-left: 2rem;
  }
  footer .footer_inner .footer_inner_right .footer_inner_right_upper_ban .footer_ban_house {
    position: absolute;
    top: -2rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
    width: 6rem;
    height: auto;
  }
  footer .footer_inner .footer_inner_right .footer_inner_right_upper_ban .footer_ban_text .footer_ban_text_upper {
    transform: skew(-10deg);
    font-size: 1.8rem;
  }
  footer .footer_inner .footer_inner_right .footer_inner_right_upper_ban .footer_ban_text .footer_ban_text_upper .f_30 {
    font-size: 2.4rem;
  }
  footer .footer_inner .footer_inner_right .footer_inner_right_upper_ban .footer_ban_text .footer_ban_text_lower {
    font-size: 1.6rem;
  }
  footer .footer_inner .footer_inner_right .footer_inner_right_upper_ban .footer_ban_text .footer_ban_text_lower .f_20 {
    font-size: 4.8vw;
  }
  footer .footer_inner .footer_inner_right .footer_inner_right_upper_ban .footer_ban_arrow {
    width: 7vw;
    transition: 0.4s;
  }
}
/*----------------------------------------------------------------
about（遮熱シートについて） SP
----------------------------------------------------------------*/
@media screen and (max-width: 767px) {
  main .ab_inner {
    width: 90%;
    max-width: 90%;
  }
  main .ab_inner .ab_lead_catch .d-flex {
    flex-direction: column;
  }
  main .ab_merit .ab_inner .sub_title_area .merit_img {
    width: 9rem;
  }
  main {
    /* MERIT */
  }
  main .ab_merit_grid {
    grid-template-columns: 1fr;
    row-gap: 5vw;
  }
  main .ab_merit_card {
    padding: 6vw 5vw;
  }
  main .ab_merit_card .ab_merit_card_head {
    gap: 1rem;
  }
  main .ab_merit_icon {
    width: 14vw;
    max-width: 70px;
  }
  main .ab_sheet {
    padding-top: 10rem;
  }
  main .ab_sheet .abour_start_line {
    position: absolute;
    top: 1.5vw;
    height: 6rem;
    min-height: unset;
    background: #115AE2;
  }
  main .ab_sheet .white_curve {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    -o-object-fit: cover;
       object-fit: cover;
  }
  main .ab_sheet .sub_title_area .sheet_img {
    width: 9rem;
  }
  main {
    /* SHEET */
  }
  main .ab_sheet_intro {
    gap: 6vw;
  }
  main .ab_sheet_intro .ab_sheet_intro_text h3 {
    text-align: center;
  }
  main .ab_sheet_intro_img {
    width: 36vw;
    max-width: 168px;
  }
  main .ab_sheet_cols {
    gap: 4rem;
  }
  main .ab_sheet_cols .ab_sheet_col {
    width: 100%;
  }
  main .ab_sheet_cols .ab_sheet_col h4 {
    top: -1.6rem;
  }
  main .ab_sheet_col_img {
    aspect-ratio: 596/360;
    margin-bottom: 1rem;
  }
  main {
    /* FEATURE */
  }
  main .ab_feature_grid {
    gap: 10vw;
  }
  main .ab_feature_badge {
    width: 14rem;
    margin-bottom: 2rem;
  }
  main .about_line {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
  main .ab_feature_img {
    margin-top: 2rem;
  }
  main {
    /* BARRIER */
  }
  main .ab_barrier .ab_inner .sub_title_area .barrier_img {
    width: 13rem;
    height: auto;
  }
  main .ab_barrier_img {
    width: 100%;
    max-width: 100%;
  }
  main .ab_perf .ab_inner {
    margin-left: auto;
    margin-right: auto;
  }
  main .ab_perf .ab_inner .heatstroke_arrow {
    width: 12rem;
  }
  main .ab_perf .ab_inner .ab_perf_title .about_wave {
    width: 18rem;
    margin-bottom: 1.4rem;
  }
  main {
    /* 性能 */
  }
  main .ab_perf_blocks {
    width: 100%;
    margin-right: auto;
    gap: 6rem;
  }
  main .ab_perf_block {
    gap: 6vw;
  }
  main .ab_perf_img {
    width: 100%;
    max-width: 100%;
  }
  main .ab_perf_list {
    gap: 3vw;
  }
  main .ab_perf_check {
    font-size: 6vw;
  }
  main .ab_en_label {
    margin-bottom: 1rem;
    gap: 1rem;
  }
  main .ab_en_label img {
    width: 9rem !important;
  }
  main .ab_en_label .feature_img {
    width: 12rem !important;
  }
  main {
    /* 6つのメリット */
  }
  main .ab_6merit_grid {
    grid-template-columns: 1fr;
    row-gap: 9vw;
    margin-top: 2rem;
  }
  main .ab_6merit_card {
    padding: 6vw 5vw;
  }
  main .ab_6merit_badge {
    margin: -6vw -5vw 4vw;
    padding: 1em 0.6em;
  }
  main .ab_6merit_ttl {
    font-size: 1.8rem;
  }
  main {
    /* EXAMPLES（施工事例カード） */
  }
  main .ab_examples .examples_area_inner_content {
    gap: 6vw;
  }
  main .ab_examples .examples_area_inner_content_item picture {
    width: 100%;
  }
  main .ab_examples .examples_area_inner_content_item picture img {
    width: 20rem !important;
  }
  main .ab_examples .title_area img {
    width: 10rem !important;
    min-width: 160px !important;
  }
  main {
    /* 施工場所 */
  }
  main .ab_places .ab_inner .house_img {
    width: 10rem;
    margin-bottom: -0.2vw;
  }
  main .ab_places .section_btn {
    width: 90%;
  }
  main .ab_place_grid {
    grid-template-columns: 1fr;
    row-gap: 8vw;
  }
  main .ab_place_img {
    width: 100%;
  }
  main .about_examples_area .heatstroke_arrow {
    width: 11rem;
    height: auto;
  }
  main {
    /* 実証実験 */
  }
  main .ab_exp_label {
    flex-wrap: wrap;
  }
  main .ab_exp_slash {
    height: 6vw;
    min-height: 0;
    display: none;
  }
  main .ab_stat_grid {
    grid-template-columns: 1fr;
    gap: 4vw;
  }
  main .ab_stat_card {
    padding: 4vw;
  }
  main .ab_exp_detail {
    gap: 6vw;
  }
  main .ab_exp_detail .ab_exp_about .section_btn {
    padding-left: 3rem;
  }
  main .ab_exp_imgs {
    width: 100%;
    max-width: 100%;
    gap: 3vw;
  }
  main .ab_demo_about_ttl {
    padding-left: 4vw;
  }
  main .ab_exp2_boxes > * {
    flex: 1;
  }
  main .ab_exp2_box {
    width: 100%;
    max-width: 100%;
    padding: 8vw 5vw 5vw;
  }
  main .ab_exp2_arrow {
    top: -4vw;
    width: 16vw;
  }
  main .ab_exp2_img {
    width: 100%;
    max-width: 100%;
  }
  main {
    /* PDFボタン */
  }
  main .ab_pdf_btns .section_btn02 {
    width: 100%;
    padding-left: 2rem;
  }
  main .ab_exp2_boxes {
    margin-top: 4rem;
    gap: 2rem;
  }
  main .ab_pdf_btn_arrow {
    width: 8vw;
    min-width: 0;
    height: 8vw;
    min-height: 0;
  }
  main .ab_pdf_btn_arrow .material-icons {
    font-size: 5vw;
  }
  main {
    /* EN見出し */
  }
  main .ab_en_line {
    width: 8vw;
    min-width: 0;
  }
  main .ab_en_outline {
    -webkit-text-stroke: 1px #B8CEF7;
  }
  main {
    /* Q&A */
  }
  main .ab_qa_head {
    flex-wrap: wrap;
    gap: 1rem;
  }
  main .ab_qa_head .qa_title {
    width: 6rem;
  }
  main .ab_qa_item {
    padding: 5vw 0vw;
  }
  main .ab_qa_q {
    gap: 3vw;
  }
  main .ab_qa_a {
    gap: 3vw;
  }
  main .ab_qa_badge {
    width: 9vw;
    min-width: 0;
    height: 9vw;
    min-height: 0;
    font-size: 4.5vw;
  }
  main .ab_qa_div {
    height: 7vw;
    min-height: 0;
  }
  main .ab_qa_en {
    font-size: 8vw;
  }
  main .ab_demo .ab_inner .sub_title_area .demo_img {
    width: 24rem;
  }
}
/*----------------------------------------------------------------
lineup（商品ラインナップ） SP
----------------------------------------------------------------*/
@media screen and (max-width: 767px) {
  main .lu_inner {
    width: 100%;
    max-width: 100%;
  }
  main .lu_list .lu_inner01 {
    width: 90%;
    max-width: 100%;
  }
  main .lu_en_img {
    max-height: none;
    height: auto;
    width: 14rem;
  }
  main {
    /* 商品一覧テーブル → カード積み上げ */
  }
  main .lu_table_wrap {
    margin-top: 4rem;
    border: none;
    border-radius: 0;
    overflow: visible;
  }
  main .lu_table,
  main .lu_table tbody,
  main .lu_table tr,
  main .lu_table td {
    display: block;
    width: 100%;
  }
  main .lu_table thead {
    display: none;
  }
  main .lu_row {
    border: 1px solid #B8CEF7;
    border-radius: 10px;
    margin-bottom: 5vw;
    overflow: hidden;
  }
  main .lu_row:hover {
    background: #fff;
  }
  main .lu_cell {
    border: none;
    border-bottom: 1px solid #E6EEFB;
    padding: 5vw;
  }
  main .lu_cell--img {
    border-bottom: none;
  }
  main .lu_cell--name {
    background: #EAF2FE;
    padding: 0;
  }
  main .lu_cell--name:has(.lu_anchor:hover) {
    background: #EAF2FE;
  }
  main .lu_anchor {
    padding: 4vw 5vw;
  }
  main .lu_anchor .f_20 {
    font-size: 1.8rem;
  }
  main .lu_anchor .f_28 {
    font-size: 1.6rem;
  }
  main .lu_anchor_arrow {
    width: 8vw;
    min-width: 0;
    height: 8vw;
    min-height: 0;
  }
  main {
    /* タブ */
  }
  main .lu_tabs_area {
    padding-bottom: 1rem;
  }
  main .lu_tabs_lead {
    font-size: 4.4vw;
  }
  main .lu_tabs {
    margin-top: 3rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
    width: 90%;
  }
  main .lu_tab_btn,
  main .lu_tab_btn:first-child {
    flex: 1 1 50%;
    height: auto;
    min-height: 12vw;
    margin-left: 0;
    padding: 3vw 1vw;
    border-radius: 0;
  }
  main .lu_tab_icon {
    font-size: 4.5vw;
  }
  main .lu_panel {
    width: 90%;
  }
  main {
    /* 見出し */
  }
  main .lu_sec_head {
    gap: 3vw;
  }
  main .lu_sec_icon {
    width: 9vw;
    max-width: 50px;
  }
  main {
    /* 解決できること */
  }
  main .lu_solve_grid {
    grid-template-columns: 1fr;
    gap: 5vw;
  }
  main .lu_solve_grid .lu_solve_card .lu_solve_label {
    padding: 1rem 1rem;
    font-size: 1.8rem;
  }
  main .lu_solve_card {
    padding-bottom: 5vw;
  }
  main .lu_solve_ttl,
  main .lu_solve_desc {
    padding-inline: 5vw;
  }
  main .lu_solve_ttl {
    font-size: 1.8rem;
    margin-top: 1.6rem;
  }
  main .lu_solve_desc {
    margin-top: 1.6rem;
  }
  main {
    /* 活用場所ガイド */
  }
  main .lu_guide_grid,
  main .lu_guide_grid--2 {
    grid-template-columns: 1fr;
    gap: 6vw;
    max-width: 100%;
    width: 100%;
  }
  main .lu_guide_grid .lu_guide_img,
  main .lu_guide_grid--2 .lu_guide_img {
    margin-top: 1rem;
  }
  main {
    /* 商品名バナー */
  }
  main .lu_banner {
    border-width: 2px;
    border-radius: 10px 10px 0 0;
    min-height: 0;
    padding: 4vw 4vw;
  }
  main {
    /* 4つの特性 */
  }
  main .lu_feat_list {
    grid-template-columns: 1fr;
    row-gap: 9vw;
  }
  main .lu_feat_row {
    flex-direction: column;
    gap: 5vw;
  }
  main .lu_feat_text {
    width: 100%;
  }
  main .lu_feat_photo {
    width: 100%;
    max-width: 100%;
  }
  main .lu_feat_label {
    padding: 3vw 2vw;
  }
  main .lu_feat_checks {
    gap: 3vw;
    margin-top: 1.4rem;
  }
  main .lu_feat_check {
    gap: 3vw;
    padding-bottom: 2vw;
    margin-bottom: 1.4rem;
  }
  main .lu_feat_check_icon {
    width: 6vw;
    max-width: 28px;
  }
  main {
    /* 製品仕様テーブル */
  }
  main .lu_spec_tables {
    grid-template-columns: 1fr;
    gap: 0;
  }
  main .lu_spec_table {
    margin-bottom: 6vw;
  }
  main .lu_spec_table th,
  main .lu_spec_table td {
    padding: 3vw 4vw;
  }
  main .lu_spec_table th {
    width: 40%;
  }
  main {
    /* CTA */
  }
  main .lu_cta .section_btn {
    width: 100%;
    padding-left: 3rem;
  }
  main .lu_cta_btn {
    width: 100%;
    padding: 4vw 5vw;
  }
  main {
    /* ガラスCoolコート */
  }
  main .lu_glass .lu_inner {
    width: 90%;
  }
  main .lu_glass .lu_inner .lu_glass_head .blue {
    text-align: center;
  }
  main .lu_glass_icon {
    width: 4rem;
    max-width: 85px;
  }
  main .lu_glass_grid {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
  main .lu_glass_card {
    padding: 8vw 3vw 6vw;
  }
  main .lu_glass_card_icon {
    width: 5rem;
    top: -2.6rem;
    max-width: 80px;
  }
  main .lu_glass_season {
    gap: 6vw;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    align-items: start !important;
  }
  main .lu_glass_season_line {
    display: none;
  }
  main .lu_glass_season_item {
    gap: 2rem;
    max-width: 100%;
  }
  main .lu_glass_season_badge {
    width: 18vw;
    min-width: 0;
    max-width: none;
    height: 18vw;
    min-height: 0;
    max-height: none;
  }
}