@media screen and (max-width: 600px) {
  body {
    font-size: 1vw;
    overflow-x: hidden; }

  .top {
    background: url(../images/top_sp.webp) no-repeat;
    background-size: 100% auto;
    height: 140em;
    align-items: flex-end;
    position: relative; }
    .top .top_wrapper {
      width: 100%; }
      .top .top_wrapper .texts {
        width: 95%;
        padding-top: 5em; }
        .top .top_wrapper .texts .texts_wrapper_text {
          position: absolute;
          top: 23%;
          left: 50%;
          transform: translateX(-50%); }
        .top .top_wrapper .texts .top_sp_none {
          display: none; }
        .top .top_wrapper .texts span {
          font-size: 1em;
          text-shadow: 0 0 max(0.5rem, 0.5em) rgba(0, 0, 0, 0.2);
          white-space: nowrap; }
        .top .top_wrapper .texts .top_big_font {
          font-size: 8.5em; }
        .top .top_wrapper .texts .cheapest_price {
          text-shadow: 0 0 2em #82FFEE;
          font-size: 18em;
          margin-bottom: 35em; }
        .top .top_wrapper .texts .top_banner {
          box-shadow: 0 0 3em #82ffee7b;
          border-radius: 3em;
          width: 100%;
          margin-bottom: 4em;
          padding: 0; }
          .top .top_wrapper .texts .top_banner .top_banner_texts {
            padding: 3em;
            width: 100%; }
            .top .top_wrapper .texts .top_banner .top_banner_texts span {
              font-size: 1em; }
            .top .top_wrapper .texts .top_banner .top_banner_texts .banner_texts_merchandise {
              font-size: 5.5em;
              margin-top: -1em; }
            .top .top_wrapper .texts .top_banner .top_banner_texts .banner_texts_off {
              padding-bottom: 4em;
              display: flex;
              flex-wrap: nowrap;
              justify-content: center;
              align-items: flex-end;
              width: 100%; }
              .top .top_wrapper .texts .top_banner .top_banner_texts .banner_texts_off .texts_off_max,
              .top .top_wrapper .texts .top_banner .top_banner_texts .banner_texts_off .texts_off_main,
              .top .top_wrapper .texts .top_banner .top_banner_texts .banner_texts_off .sp_column,
              .top .top_wrapper .texts .top_banner .top_banner_texts .banner_texts_off .texts_off_numbers,
              .top .top_wrapper .texts .top_banner .top_banner_texts .banner_texts_off .texts_off_percent {
                text-shadow: 0 0 0.2em #82FFEE; }
              .top .top_wrapper .texts .top_banner .top_banner_texts .banner_texts_off .texts_off_max {
                font-size: 7em;
                line-height: 1;
                margin-right: 0.3em; }
              .top .top_wrapper .texts .top_banner .top_banner_texts .banner_texts_off .texts_off_main {
                font-size: 1.3em;
                display: flex;
                flex-wrap: nowrap;
                justify-content: center;
                align-items: flex-end; }
              .top .top_wrapper .texts .top_banner .top_banner_texts .banner_texts_off .texts_off_numbers {
                font-size: 15em;
                line-height: 0.8; }
              .top .top_wrapper .texts .top_banner .top_banner_texts .banner_texts_off .sp_column {
                display: flex;
                flex-direction: column;
                justify-content: flex-end;
                align-items: center;
                flex-wrap: nowrap;
                font-size: 5em;
                line-height: 0.6;
                margin-left: 0.2em; }
              .top .top_wrapper .texts .top_banner .top_banner_texts .banner_texts_off .texts_off_percent {
                font-size: 1.8em;
                line-height: 1.2; }
            .top .top_wrapper .texts .top_banner .top_banner_texts .banner_texts_footnote {
              margin-top: 0.5em;
              width: 100%;
              font-size: 3.5em;
              font-weight: 500;
              white-space: normal; }
        .top .top_wrapper .texts .banner_img_frame {
          width: 100%;
          height: 45em;
          overflow: hidden; }
          .top .top_wrapper .texts .banner_img_frame img {
            filter: none;
            object-fit: cover;
            height: 100%;
            width: 100%;
            padding: 0; }
    .top .top_space {
      display: none; }

  .aircon-banner {
    padding: 1rem; }
    .aircon-banner a {
      max-width: none;
      width: 100%; }
    .aircon-banner img {
      border-radius: 3em; }
      .aircon-banner img:hover {
        transform: none;
        box-shadow: rgba(0, 130, 135, 0.314) 0.3rem 0.3rem 1rem; }

  .komikomi {
    margin: 3em 0; }
    .komikomi div {
      width: 85em; }
      .komikomi div .komikomiText p {
        font-size: 6em;
        padding: 0.25em 0; }
    .komikomi .contents .contentsItem {
      width: 30%;
      border-radius: 2em;
      padding: 2em; }
      .komikomi .contents .contentsItem img {
        height: 15em; }
      .komikomi .contents .contentsItem h3 {
        font-size: 5em; }
    .komikomi .contents .plus {
      width: 7em; }

  .merchandise .sub_title {
    padding: 2em 0; }
    .merchandise .sub_title h1 {
      font-size: 6em; }
      .merchandise .sub_title h1 span {
        font-size: 3em; }
  .merchandise .wrapper {
    margin: 0 auto;
    padding: 15em 3em;
    width: 100%;
    justify-content: space-around;
    gap: 3em;
    row-gap: 15em; }
    .merchandise .wrapper .item {
      width: 47%;
      margin: 0; }
      .merchandise .wrapper .item .percent_off {
        top: -7em;
        left: -2em;
        width: 13em;
        height: 13em;
        gap: 0;
        line-height: 1;
        justify-content: center; }
        .merchandise .wrapper .item .percent_off .base_price {
          font-size: 2em;
          margin-bottom: 0; }
        .merchandise .wrapper .item .percent_off h2 {
          font-size: 6em;
          margin: 0; }
          .merchandise .wrapper .item .percent_off h2 span {
            font-size: 0.5em; }
        .merchandise .wrapper .item .percent_off .off {
          font-size: 3em;
          margin: 0;
          line-height: 0.5; }
      .merchandise .wrapper .item .item_wrapper {
        margin: 0 auto;
        width: 100%;
        border-radius: 1em;
        box-shadow: 0.3rem 0.3rem 1rem #00828750; }
        .merchandise .wrapper .item .item_wrapper .img_frame {
          height: auto;
          width: 100%;
          border-radius: 0;
          padding-top: 4em;
          aspect-ratio: 10 / 11; }
          .merchandise .wrapper .item .item_wrapper .img_frame img {
            height: 100%;
            width: 100%; }
          .merchandise .wrapper .item .item_wrapper .img_frame .logo_space {
            padding: 0 0.1em;
            height: 4em;
            width: 100%;
            border-radius: 0 0 0 1em;
            display: flex;
            align-items: center;
            justify-content: flex-end; }
            .merchandise .wrapper .item .item_wrapper .img_frame .logo_space img {
              width: 100%;
              height: 100%;
              max-width: 50%; }
          .merchandise .wrapper .item .item_wrapper .img_frame .quantity_space {
            font-size: 2em;
            font-weight: 600; }
        .merchandise .wrapper .item .item_wrapper .product_information_1 .model_number {
          padding-bottom: 0; }
        .merchandise .wrapper .item .item_wrapper .product_information_1 .model_number {
          font-size: 2.5em;
          display: block; }
        .merchandise .wrapper .item .item_wrapper .product_information_1 .rinnai_logo {
          width: 4em; }
        .merchandise .wrapper .item .item_wrapper .product_information_1 .list_price {
          font-size: 2em; }
          .merchandise .wrapper .item .item_wrapper .product_information_1 .list_price .list_price_money span {
            font-size: 1.4em; }
        .merchandise .wrapper .item .item_wrapper .komikomi_price {
          margin-top: 0.5em;
          font-size: 2em;
          padding: 0.3em; }
        .merchandise .wrapper .item .item_wrapper .product_information_2 .tax_included_price {
          margin-right: 0; }
          .merchandise .wrapper .item .item_wrapper .product_information_2 .tax_included_price .price {
            font-size: 4.5em; }
          .merchandise .wrapper .item .item_wrapper .product_information_2 .tax_included_price div .tax_included {
            font-size: 1.5em;
            margin: 0;
            white-space: nowrap; }
          .merchandise .wrapper .item .item_wrapper .product_information_2 .tax_included_price div .en {
            font-size: 2.5em; }
          .merchandise .wrapper .item .item_wrapper .product_information_2 .tax_included_price .kara {
            font-size: 5em;
            margin-left: -0.2em; }
      .merchandise .wrapper .item .open_type {
        font-size: 2.2em;
        padding: 0.3em; }
      .merchandise .wrapper .item .function_space .function {
        font-size: 14px; }
  .merchandise .triangle {
    bottom: -9em;
    border-width: 10em 20em 0 20em; }

  .construction_cost {
    font-size: 2em; }
    .construction_cost .wrapper {
      margin: 5em 0 0;
      flex-wrap: wrap; }
      .construction_cost .wrapper .main_quote {
        padding: 2em;
        background-color: #EBF4FE;
        border-radius: 0.5em;
        text-align: center;
        max-width: none;
        width: calc(100% - 4em);
        margin-bottom: 2em; }
        .construction_cost .wrapper .main_quote .main_quote_triangle {
          position: absolute;
          top: 98%;
          right: 20%;
          border-style: solid;
          border-right: 6em solid transparent;
          border-left: 0em solid transparent;
          border-top: 8em solid #EBF4FE;
          border-bottom: 0; }
        .construction_cost .wrapper .main_quote div {
          display: inline-block;
          margin: 0 auto; }
          .construction_cost .wrapper .main_quote div h3 {
            text-align: left;
            font-size: 5em;
            margin-bottom: 0.3em; }
          .construction_cost .wrapper .main_quote div p {
            text-align: left;
            font-size: 18px; }
      .construction_cost .wrapper .anri_guts {
        height: auto;
        width: 60%;
        margin-left: 0em; }
        .construction_cost .wrapper .anri_guts img {
          padding-top: 1em;
          height: 100%;
          width: 100%;
          object-fit: cover;
          object-position: 0% 0%; }

  .nationwide_deployment {
    padding: 10em 0; }
    .nationwide_deployment .wrapper {
      width: 100%;
      flex-wrap: wrap; }
      .nationwide_deployment .wrapper .main {
        width: 100%;
        text-align: center;
        margin-bottom: 3em; }
        .nationwide_deployment .wrapper .main .logo {
          width: 40%;
          margin-bottom: 1em; }
        .nationwide_deployment .wrapper .main div h2 {
          font-size: 13em;
          white-space: nowrap;
          margin: 0; }
        .nationwide_deployment .wrapper .main div .decoration_line {
          width: 10em; }
        .nationwide_deployment .wrapper .main h3 {
          font-size: 6em;
          margin: 0.5em 0; }
      .nationwide_deployment .wrapper .nationwide {
        width: 80em; }

  .inquiry .wrapper {
    flex-wrap: wrap-reverse; }
    .inquiry .wrapper .borujuku_guts {
      height: 55em;
      width: 90%;
      margin-right: 0;
      margin: 3em auto 0; }
      .inquiry .wrapper .borujuku_guts img {
        height: 100%;
        width: 100%;
        object-fit: cover;
        object-position: 0% 0%;
        filter: drop-shadow(0 0 5em rgba(255, 255, 255, 0.5)) drop-shadow(0 0 2em white); }
    .inquiry .wrapper .information {
      width: 90%;
      padding: 5em 0 0; }
      .inquiry .wrapper .information .title {
        margin-bottom: 3em; }
        .inquiry .wrapper .information .title .cheapest_price_title {
          font-size: 9.7em;
          text-shadow: 0 0 0.2em white, 0 0 0.2em white, 0 0 0.2em white, 0 0 0.2em white;
          letter-spacing: 0em; }
        .inquiry .wrapper .information .title h3 {
          text-shadow: 0 0 0.25em white, 0 0 0.25em white, 0 0 0.25em white, 0 0 0.25em white;
          letter-spacing: 0em; }
        .inquiry .wrapper .information .title .additional_fee {
          padding: 2%;
          border-radius: 2em; }
          .inquiry .wrapper .information .title .additional_fee p {
            font-size: 3.5em; }
          .inquiry .wrapper .information .title .additional_fee h2 {
            font-size: 10em; }
        .inquiry .wrapper .information .title h3 {
          font-size: 6.4em; }
      .inquiry .wrapper .information .ok {
        font-size: 4em;
        margin: 0.5em 0; }
      .inquiry .wrapper .information .tel {
        margin: 3em 0;
        box-shadow: 0 0.5em 2em #ff510085; }
        .inquiry .wrapper .information .tel h4 {
          font-size: 10em; }
        .inquiry .wrapper .information .tel .freeDial {
          height: 8em;
          margin-right: 2em; }
        .inquiry .wrapper .information .tel:hover {
          box-shadow: 0 0.05em 0.1em #ff510085; }
      .inquiry .wrapper .information .mailLine .estimate_word {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start; }
        .inquiry .wrapper .information .mailLine .estimate_word .mailLine_main_word {
          font-size: 5.5em;
          font-weight: bold;
          line-height: 1; }
        .inquiry .wrapper .information .mailLine .estimate_word .mailLine_sub_word {
          font-size: 4em; }
      .inquiry .wrapper .information .mailLine .icon {
        width: 10em;
        margin-right: 3em; }
      .inquiry .wrapper .information .mailLine .mail,
      .inquiry .wrapper .information .mailLine .line {
        padding: 1em 1em;
        width: 43.3em;
        box-shadow: 0 0.5em 2em #00000030;
        height: 100%;
        transition: 0.2s; }
        .inquiry .wrapper .information .mailLine .mail:hover,
        .inquiry .wrapper .information .mailLine .line:hover {
          transform: scale(0.98);
          box-shadow: 0 0.05em 0.1em rgba(0, 0, 0, 0.5); }
      .inquiry .wrapper .information .mailLine .mail span,
      .inquiry .wrapper .information .mailLine .line span {
        padding-bottom: 0.1rem; }

  .cheap_reason {
    padding: 0; }
    .cheap_reason .wrapper .information {
      margin-bottom: 4em;
      flex-direction: column-reverse;
      flex-wrap: wrap; }
      .cheap_reason .wrapper .information .haruka_surprised {
        width: 100em;
        height: 55em;
        margin-right: 0;
        margin-bottom: 5em;
        text-align: center; }
        .cheap_reason .wrapper .information .haruka_surprised img {
          height: 100%;
          width: 60%;
          object-fit: cover;
          object-position: 0% 0%; }
      .cheap_reason .wrapper .information .words {
        padding: 15em 0 5em; }
        .cheap_reason .wrapper .information .words h3 {
          font-size: 6em; }
        .cheap_reason .wrapper .information .words h1 {
          font-size: 17em;
          text-shadow: 0 0 0.3em #82FFEE; }
        .cheap_reason .wrapper .information .words p {
          font-size: 4.5em; }
        .cheap_reason .wrapper .information .words .underline {
          border-bottom: 0.5em solid #FCF204; }
          .cheap_reason .wrapper .information .words .underline span {
            font-size: 2em; }
    .cheap_reason .wrapper .comparison {
      width: 100%;
      gap: 0; }
      .cheap_reason .wrapper .comparison .cheap_reason_another,
      .cheap_reason .wrapper .comparison .cheap_reason_syouzikiya {
        border-radius: 2em;
        margin-bottom: 10em;
        width: 75%; }
      .cheap_reason .wrapper .comparison .cheap_reason_syouzikiya {
        box-shadow: 0 0 3em #82FFEE; }

  .moreover {
    padding: 2em 0 3em 0;
    font-size: 4em; }
    .moreover h1 {
      z-index: 99; }
    .moreover .dot-text {
      padding-top: .1em;
      background-position: top left -5px;
      background-size: 1em .3em; }
    .moreover .underline {
      border-bottom: 0.3em solid #FCF204; }
    .moreover .triangle {
      bottom: -3em;
      border-width: 4em 7em 0 7em; }

  .safe_trust .wrapper .main_title {
    display: none; }
  .safe_trust .wrapper .main_title_sp {
    display: block;
    margin-bottom: 15em; }
  .safe_trust .wrapper .main_title_sp_syouzikiya,
  .safe_trust .wrapper .main_title_sp_safe_trustfade {
    display: inline-block;
    font-weight: 900;
    color: #345EC4; }
  .safe_trust .wrapper .main_title_sp_syouzikiya {
    font-size: 10em;
    margin-bottom: -10em; }
  .safe_trust .wrapper .main_title_sp_safe_trustfade {
    font-size: 15em; }
    .safe_trust .wrapper .main_title_sp_safe_trustfade span {
      font-size: 0.8em; }
  .safe_trust .wrapper .sections {
    margin: 0 10em; }
    .safe_trust .wrapper .sections .section:not(.last) {
      margin: 0 0 10em 0; }
    .safe_trust .wrapper .sections .section {
      padding: 02em 8em 8em;
      background-color: white;
      border-radius: 5em;
      display: flex;
      flex-direction: column;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center; }
      .safe_trust .wrapper .sections .section .section_img {
        width: 100%;
        margin-top: 3em; }
      .safe_trust .wrapper .sections .section .section_information {
        width: 100%;
        padding: 2em 0;
        border-radius: 1.5em;
        background-color: transparent;
        border: none; }
        .safe_trust .wrapper .sections .section .section_information .section_number {
          position: static;
          text-align: center;
          display: block;
          font-size: 25em;
          line-height: 1; }
        .safe_trust .wrapper .sections .section .section_information .section_title {
          margin-bottom: 1em;
          font-size: 9em;
          text-align: center; }
          .safe_trust .wrapper .sections .section .section_information .section_title .br_sp {
            display: block; }
          .safe_trust .wrapper .sections .section .section_information .section_title .underline span {
            font-size: 1.5em; }
        .safe_trust .wrapper .sections .section .section_information .section_sentence {
          line-height: 1;
          font-size: 4.5em; }
          .safe_trust .wrapper .sections .section .section_information .section_sentence h1 {
            margin: 0; }
          .safe_trust .wrapper .sections .section .section_information .section_sentence h3 {
            margin: 0; }
        .safe_trust .wrapper .sections .section .section_information .supplement {
          font-size: 3em;
          margin-top: 1em; }
        .safe_trust .wrapper .sections .section .section_information .supplement:not(.last) {
          margin-bottom: 3em; }

  .promise {
    padding: 3em 0 0 0; }
    .promise .band {
      background: #d8c256;
      background: linear-gradient(90deg, #d8c256 0%, #d2991d 10%, #ffeba2 17%, #ffeba2 83%, #d2991d 90%, #fcbd3c 100%); }
      .promise .band .main_title {
        font-size: 8.8em; }
    .promise .wrapper {
      padding: 10%; }
      .promise .wrapper .promise_element p {
        font-size: 4.5em;
        text-align: left;
        line-height: 1.5; }
      .promise .wrapper .promise_element:not(.last) {
        margin-bottom: 5em; }

  .flow .wrapper {
    width: 90%;
    padding: 8em 0 13em 0; }
    .flow .wrapper .main_title {
      font-size: 8em; }
    .flow .wrapper .steps .step {
      margin: 0 auto;
      width: calc(100% - 8em);
      min-height: 10em;
      border-radius: 3em;
      padding: 5em 3em;
      text-align: center;
      box-shadow: 1em 1em 3em #00877544; }
      .flow .wrapper .steps .step .sp_step_img {
        width: 16em;
        padding: 2em;
        margin: 0 3em 0 1em; }
      .flow .wrapper .steps .step .step_title {
        margin-bottom: 1em; }
        .flow .wrapper .steps .step .step_title .sp_step_number,
        .flow .wrapper .steps .step .step_title .step_title_name {
          font-size: 20px; }
      .flow .wrapper .steps .step .step_img {
        display: none; }
      .flow .wrapper .steps .step .step_sentence {
        font-size: 16px; }
    .flow .wrapper .steps .next_sp {
      width: 4em;
      margin: 3em auto; }

  #suggestion {
    box-shadow: inset 0 0 10em rgba(255, 255, 255, 0.473); }
    #suggestion .wrapper {
      flex-direction: column; }
      #suggestion .wrapper .sentence {
        margin: 10em 0 5em; }
        #suggestion .wrapper .sentence h1 {
          font-size: 7em;
          text-shadow: 0 0 0.3em #82FFEE;
          margin: 0.5em 0; }
        #suggestion .wrapper .sentence h3 {
          font-size: 5em; }
        #suggestion .wrapper .sentence .underline {
          padding-bottom: 0.2em;
          background: linear-gradient(transparent 85%, #FCF204 0%); }
      #suggestion .wrapper .suggestion_img {
        text-align: center;
        width: 80%; }
        #suggestion .wrapper .suggestion_img img {
          height: 100%;
          width: 100%;
          object-fit: contain;
          object-position: 0% 0%;
          padding-right: 10em; } }
